Project-MONAI / Project-MONAI/MONAILabel

Failed to upload volume to Server. Message:: Status: 500; Response: Internal Server Error

Đang mở
#1,663 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
Python
Star
891
Fork
269
Merge trung bình
15 giờ 41 phút
Pull request đã merge (30 ngày)
1

Mô tả

Describe the bug
Failed to upload volume to Server.
Message:: Status: 500; Response: Internal Server Error

Server logs
..+.+...+........+.........+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++..+...+........+.......+.....+...+....+........+......+.+........+.+..+...+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++........+.........+......+......+.+..+.......+...+..+.+.....+...+......+....+..+.......+..+....+.....+....+............+...+.....+.+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...+...+.+..+.........+.+..+...+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+.....+...+.......+......+.....+....+...+...+..+...+....+...+..+.+.....+.......+..+...+.+..+............+.+.....+.......+..+.+...........+....+......+........+......+.+..................+..+......+...................+........+.+..+..........+...+.........+..+.........+.......+..+.+..+.......+...+........+.+...+..+.........+..........+...........+....+.....+....+......+.....+....+......+...........+......+.......+.....+...+...+.......+.....+..........+.........+...+..+...+...+......................+..+...+.+......+......+...+..............+...+...+....+..+.........+....+..+.+...+.........+..+...+...+.............+......+........................+.....+.........+...+......................+..+.+...+..............+.+..+....+......+..+...+.............+.....+.........+.......+...+...+.....+.............+............+.....+....+...+......+............+.....+...+......+...+.+......+......+..+......+.+.....+...+.......+...+..+...............+...............+....+..+...+....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.

Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
Using PYTHONPATH=C:\Users\bz197\anaconda3\envs;
""
[2024-03-28 09:26:42,713] [13068] [MainThread] [INFO] (main:285) - USING:: version = False
[2024-03-28 09:26:42,713] [13068] [MainThread] [INFO] (main:285) - USING:: app = C:\Users\bz197\MONAILabel\apps\radiology
[2024-03-28 09:26:42,713] [13068] [MainThread] [INFO] (main:285) - USING:: studies = C:\Users\bz197\MONAILabel\datasets\Task09_Spleen\imagesTr
[2024-03-28 09:26:42,714] [13068] [MainThread] [INFO] (main:285) - USING:: verbose = INFO
[2024-03-28 09:26:42,714] [13068] [MainThread] [INFO] (main:285) - USING:: conf = [['models', 'deepedit']]
[2024-03-28 09:26:42,714] [13068] [MainThread] [INFO] (main:285) - USING:: host = 0.0.0.0
[2024-03-28 09:26:42,714] [13068] [MainThread] [INFO] (main:285) - USING:: port = 8000
[2024-03-28 09:26:42,715] [13068] [MainThread] [INFO] (main:285) - USING:: uvicorn_app = monailabel.app:app
[2024-03-28 09:26:42,715] [13068] [MainThread] [INFO] (main:285) - USING:: ssl_keyfile = uvicorn-selfsigned.key
[2024-03-28 09:26:42,715] [13068] [MainThread] [INFO] (main:285) - USING:: ssl_certfile = uvicorn-selfsigned.crt
[2024-03-28 09:26:42,716] [13068] [MainThread] [INFO] (main:285) - USING:: ssl_keyfile_password = None
[2024-03-28 09:26:42,716] [13068] [MainThread] [INFO] (main:285) - USING:: ssl_ca_certs = None
[2024-03-28 09:26:42,716] [13068] [MainThread] [INFO] (main:285) - USING:: workers = None
[2024-03-28 09:26:42,716] [13068] [MainThread] [INFO] (main:285) - USING:: limit_concurrency = None
[2024-03-28 09:26:42,717] [13068] [MainThread] [INFO] (main:285) - USING:: access_log = False
[2024-03-28 09:26:42,717] [13068] [MainThread] [INFO] (main:285) - USING:: root_path = /
[2024-03-28 09:26:42,717] [13068] [MainThread] [INFO] (main:285) - USING:: log_level = info
[2024-03-28 09:26:42,717] [13068] [MainThread] [INFO] (main:285) - USING:: log_config = None
[2024-03-28 09:26:42,718] [13068] [MainThread] [INFO] (main:285) - USING:: dryrun = False
[2024-03-28 09:26:42,718] [13068] [MainThread] [INFO] (main:285) - USING:: action = start_server
[2024-03-28 09:26:42,718] [13068] [MainThread] [INFO] (main:296) -
Allow Origins: ['']
[2024-03-28 09:26:43,539] [13068] [MainThread] [INFO] (uvicorn.error:74) - Started server process [13068]
[2024-03-28 09:26:43,540] [13068] [MainThread] [INFO] (uvicorn.error:48) - Waiting for application startup.
[2024-03-28 09:26:43,540] [13068] [MainThread] [INFO] (monailabel.interfaces.utils.app:37) - Initializing App from: C:\Users\bz197\MONAILabel\apps\radiology; studies: C:\Users\bz197\MONAILabel\datasets\Task09_Spleen\imagesTr; conf: {'models': 'deepedit'}
[2024-03-28 09:26:43,598] [13068] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for MONAILabelApp Found: <class 'main.MyApp'>
[2024-03-28 09:26:43,612] [13068] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepedit.DeepEdit'>
[2024-03-28 09:26:43,613] [13068] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepgrow_2d.Deepgrow2D'>
[2024-03-28 09:26:43,614] [13068] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepgrow_3d.Deepgrow3D'>
[2024-03-28 09:26:43,615] [13068] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.localization_spine.LocalizationSpine'>
[2024-03-28 09:26:43,616] [13068] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.localization_vertebra.LocalizationVertebra'>
[2024-03-28 09:26:43,618] [13068] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation.Segmentation'>
[2024-03-28 09:26:43,619] [13068] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation_spleen.SegmentationSpleen'>
[2024-03-28 09:26:43,620] [13068] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation_vertebra.SegmentationVertebra'>
[2024-03-28 09:26:43,620] [13068] [MainThread] [INFO] (main:93) - +++ Adding Model: deepedit => lib.configs.deepedit.DeepEdit
[2024-03-28 09:26:44,326] [13068] [MainThread] [INFO] (lib.configs.deepedit:141) - EPISTEMIC Enabled: False; Samples: 5
[2024-03-28 09:26:44,326] [13068] [MainThread] [INFO] (main:96) - +++ Using Models: ['deepedit']
[2024-03-28 09:26:44,327] [13068] [MainThread] [INFO] (monailabel.interfaces.app:135) - Init Datastore for: C:\Users\bz197\MONAILabel\datasets\Task09_Spleen\imagesTr
[2024-03-28 09:26:44,327] [13068] [MainThread] [INFO] (monailabel.datastore.local:130) - Auto Reload: True; Extensions: ['
.nii.gz', '.nii', '.nrrd', '.jpg', '.png', '.tif', '.svs', '*.xml']
[2024-03-28 09:26:44,349] [13068] [MainThread] [INFO] (monailabel.datastore.local:577) - Invalidate count: 0
[2024-03-28 09:26:44,349] [13068] [MainThread] [INFO] (monailabel.datastore.local:151) - Start observing external modifications on datastore (AUTO RELOAD)
[2024-03-28 09:26:44,353] [13068] [MainThread] [INFO] (main:126) - +++ Adding Inferer:: deepedit => <lib.infers.deepedit.DeepEdit object at 0x000001A0480DCC40>
[2024-03-28 09:26:44,354] [13068] [MainThread] [INFO] (main:126) - +++ Adding Inferer:: deepedit_seg => <lib.infers.deepedit.DeepEdit object at 0x000001A04825E610>
[2024-03-28 09:26:44,354] [13068] [MainThread] [INFO] (main:191) - {'deepedit': <lib.infers.deepedit.DeepEdit object at 0x000001A0480DCC40>, 'deepedit_seg': <lib.infers.deepedit.DeepEdit object at 0x000001A04825E610>, 'Histogram+GraphCut': <monailabel.scribbles.infer.HistogramBasedGraphCut object at 0x000001A0481ADE50>, 'GMM+GraphCut': <monailabel.scribbles.infer.GMMBasedGraphCut object at 0x000001A04831C3A0>}
[2024-03-28 09:26:44,355] [13068] [MainThread] [INFO] (main:206) - +++ Adding Trainer:: deepedit => <lib.trainers.deepedit.DeepEdit object at 0x000001A04831C4C0>
[2024-03-28 09:26:44,355] [13068] [MainThread] [INFO] (monailabel.utils.sessions:51) - Session Path: C:\Users\bz197.cache\monailabel\sessions
[2024-03-28 09:26:44,355] [13068] [MainThread] [INFO] (monailabel.utils.sessions:52) - Session Expiry (max): 3600
[2024-03-28 09:26:44,356] [13068] [MainThread] [INFO] (monailabel.interfaces.app:469) - App Init - completed
[2024-03-28 09:26:44,356] [timeloop] [INFO] Starting Timeloop..
[2024-03-28 09:26:44,356] [13068] [MainThread] [INFO] (timeloop:60) - Starting Timeloop..
[2024-03-28 09:26:44,357] [timeloop] [INFO] Registered job <function MONAILabelApp.on_init_complete..run_scheduler at 0x000001A04814B4C0>
[2024-03-28 09:26:44,357] [13068] [MainThread] [INFO] (timeloop:42) - Registered job <function MONAILabelApp.on_init_complete..run_scheduler at 0x000001A04814B4C0>
[2024-03-28 09:26:44,358] [timeloop] [INFO] Timeloop now started. Jobs will run based on the interval set
[2024-03-28 09:26:44,358] [13068] [MainThread] [INFO] (timeloop:63) - Timeloop now started. Jobs will run based on the interval set
[2024-03-28 09:26:44,358] [13068] [MainThread] [INFO] (uvicorn.error:62) - Application startup complete.
[2024-03-28 09:26:44,359] [13068] [MainThread] [INFO] (uvicorn.error:217) - Uvicorn running on https://0.0.0.0:8000 (Press CTRL+C to quit)
[2024-03-28 09:27:24,851] [13068] [MainThread] [INFO] (monailabel.endpoints.datastore:68) - Image: 3: Abdomen +C 3.00 Br40; File: <starlette.datastructures.UploadFile object at 0x000001A048340310>; params: {"client_id": "user-xyz"}
[2024-03-28 09:27:24,911] [13068] [MainThread] [INFO] (monailabel.datastore.local:439) - Adding Image: 3: Abdomen +C 3.00 Br40 => C:\Users\bz197\AppData\Local\Temp\tmpd9ju61ai.nii.gz
[2024-03-28 09:27:24,924] [13068] [MainThread] [ERROR] (uvicorn.error:434) - Exception in ASGI application
Traceback (most recent call last):
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 429, in run_asgi
result = await app( # type: ignore[func-returns-value]
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 78, in call
return await self.app(scope, receive, send)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\fastapi\applications.py", line 276, in call
await super().call(scope, receive, send)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\starlette\applications.py", line 122, in call
await self.middleware_stack(scope, receive, send)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\starlette\middleware\errors.py", line 184, in call
raise exc
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\starlette\middleware\errors.py", line 162, in call
await self.app(scope, receive, _send)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\starlette\middleware\cors.py", line 84, in call
await self.app(scope, receive, send)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\starlette\middleware\exceptions.py", line 79, in call
raise exc
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\starlette\middleware\exceptions.py", line 68, in call
await self.app(scope, receive, sender)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in call
raise e
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in call
await self.app(scope, receive, send)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\starlette\routing.py", line 718, in call
await route.handle(scope, receive, send)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\starlette\routing.py", line 66, in app
response = await func(request)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\fastapi\routing.py", line 237, in app
raw_response = await run_endpoint_function(
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\fastapi\routing.py", line 163, in run_endpoint_function
return await dependant.call(**values)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\monailabel\endpoints\datastore.py", line 216, in api_add_image
return add_image(background_tasks, image, params, file, user.username)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\monailabel\endpoints\datastore.py", line 82, in add_image
image_id = instance.datastore().add_image(image_id, image_file, save_params)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\site-packages\monailabel\datastore\local.py", line 445, in add_image
shutil.copy(image_filename, dest)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\shutil.py", line 427, in copy
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "C:\Users\bz197\anaconda3\envs\monailabel_env\lib\shutil.py", line 266, in copyfile
with open(dst, 'wb') as fdst:
FileNotFoundError: [Errno 2] No such file or directory: '3: Abdomen +C 3.00 Br40.nii.gz'

Expected behavior
It doesn't suppose to show error when uploading the label

Screenshots
error500

Environment

Ensuring you use the relevant python executable, please paste the output of:

(monailabel_env) c:\Users\bz197\MONAILabel>python -c "import monai; monai.config.print_debug_info()"
================================
Printing MONAI config...
================================
MONAI version: 1.3.0
Numpy version: 1.26.4
Pytorch version: 2.2.1+cpu
MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False
MONAI rev id: 865972f7a791bf7b42efbcd87c8402bd865b329e
MONAI __file__: C:\Users\<username>\anaconda3\envs\monailabel_env\lib\site-packages\monai\__init__.py

Optional dependencies:
Pytorch Ignite version: 0.4.11
ITK version: 5.3.0
Nibabel version: 5.2.1
scikit-image version: 0.22.0
scipy version: 1.12.0
Pillow version: 10.2.0
Tensorboard version: 2.16.2
gdown version: 4.7.3
TorchVision version: 0.17.1+cpu
tqdm version: 4.66.2
lmdb version: 1.4.1
psutil version: 5.9.8
pandas version: 2.2.1
einops version: 0.7.0
transformers version: NOT INSTALLED or UNKNOWN VERSION.
mlflow version: 2.11.3
pynrrd version: 1.0.0
clearml version: NOT INSTALLED or UNKNOWN VERSION.

For details about installing the optional dependencies, please visit:
    https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies


================================
Printing system config...
================================
System: Windows
Win32 version: ('10', '10.0.19045', 'SP0', 'Multiprocessor Free')
Win32 edition: Professional
Platform: Windows-10-10.0.19045-SP0
Processor: Intel64 Family 6 Model 158 Stepping 9, GenuineIntel
Machine: AMD64
Python version: 3.9.19
Process name: python.exe
Command: ['python', '-c', 'import monai; monai.config.print_debug_info()']
Open files: [popenfile(path='C:\\Windows\\System32\\en-US\\KernelBase.dll.mui', fd=-1), popenfile(path='C:\\Windows\\System32\\en-US\\tzres.dll.mui', fd=-1), popenfile(path='C:\\Windows\\System32\\en-US\\kernel32.dll.mui', fd=-1)]
Num physical CPUs: 4
Num logical CPUs: 8
Num usable CPUs: 8
CPU usage (%): [8.0, 1.5, 2.1, 0.6, 6.1, 2.7, 1.2, 78.3]
CPU freq. (MHz): 3601
Load avg. in last 1, 5, 15 mins (%): [0.0, 0.0, 0.0]
Disk usage (%): 53.7
Avg. sensor temp. (Celsius): UNKNOWN for given OS
Total physical memory (GB): 15.9
Available memory (GB): 7.2
Used memory (GB): 8.7

================================
Printing GPU config...
================================
Num GPUs: 0
Has CUDA: False
cuDNN enabled: False
NVIDIA_TF32_OVERRIDE: None
TORCH_ALLOW_TF32_CUBLAS_OVERRIDE: None

Additional context
Add any other context about the problem here.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu từ monailabel.endpoints.datastore và monailabel.datastore.local, nơi request upload và tệp NIfTI tạm thời được ghi log. Tái hiện việc upload volume và kiểm tra toàn bộ ASGI traceback, vốn bị cắt ngắn trong issue. Công việc được xem là hoàn tất khi upload được báo cáo không còn trả về HTTP 500 và volume được thêm thành công.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
fastapi, python
Lĩnh vực
api, backend
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.