label-studio icon indicating copy to clipboard operation
label-studio copied to clipboard

"You cannot access body after reading from request's data stream"

Open S4r4h-O opened this issue 1 year ago • 11 comments

Describe the bug Cannot import data to a set

To Reproduce Steps to reproduce the behavior:

  1. Creat a project
  2. Click on Import data
  3. Import URL or files don't work 4:

"Object { id: "42272f52-0cd5-4b38-ae72-ef10a567b62c", status_code: 500, version: "1.15.0", detail: "You cannot access body after reading from request's data stream", exc_info: Traceback (most recent call last):\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\rest_framework\\views.py", line 506, in dispatch\n response = handler(request, *args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\django\\utils\\decorators.py", line 46, in _wrapper\n return bound_method(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\label_studio\\data_import\\api.py", line 256, in post\n return super(ImportAPI, self).post(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\rest_framework\\generics.py", line 194, in post\n return self.create(request, *args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\label_studio\\data_import\\api.py", line 393, in create\n return self.sync_import(request, project, preannotated_from_fields, commit_to_project, return_task_ids)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\label_studio\\data_import\\api.py", line 273, in sync_import\n parsed_data, file_upload_ids, could_be_tasks_list, found_formats, data_columns = load_tasks(request, project)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\label_studio\\data_import\\uploader.py", line 226, in load_tasks\n if len(request.FILES):\n ^^^^^^^^^^^^^\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\rest_framework\\request.py", line 447, in FILES\n self._load_data_and_files()\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\rest_framework\\request.py", line 283, in _load_data_and_files\n self._data, self._files = self._parse()\n ^^^^^^^^^^^^^\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\rest_framework\\request.py", line 333, in _parse\n stream = self.stream\n ^^^^^^^^^^^\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\rest_framework\\request.py", line 207, in stream\n self._load_stream()\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\rest_framework\\request.py", line 313, in _load_stream\n self._stream = io.BytesIO(self.body)\n ^^^^^^^^^\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\rest_framework\\request.py", line 421, in __getattr__\n return getattr(_request, attr)\n ^^^^^^^^^^^^^^^^^^^^^^^\n File "C:\\Users\\Sarah\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\django\\http\\request.py", line 327, in body\n raise RawPostDataException(\ndjango.http.request.RawPostDataException: You cannot access body after reading from request's data stream\n }"

When importing files.

[c2b17384-3845-4728-953c-2f25b8dfc8d9] Validation error ('content-length')

When adding url

Environment (please complete the following information):

  • OS: Win11
  • Label Studio Version 1.15.0
  • Python 3.12.8

S4r4h-O avatar Dec 16 '24 17:12 S4r4h-O

I am also getting this issue

jsomeara avatar Dec 19 '24 04:12 jsomeara

I'm also having the same problem.

MPavFox avatar Dec 24 '24 09:12 MPavFox

I'm also getting same issue

ssuljo avatar Dec 27 '24 06:12 ssuljo

Forgot to mention that happens with the latest version of Ubuntu too

S4r4h-O avatar Dec 27 '24 17:12 S4r4h-O

Same problem. I'm using label-studio==1.15.0 I think the problem might be with djangorestframework because I downgraded to djangorestframework==3.13.0 and label-studio==1.13.1 and don't get the error

elifriedman avatar Dec 31 '24 10:12 elifriedman

Making the videos shorter to a duration of max 6 min (no more than 250 MB) worked for me. I keep having the problem if I try to import all the shorter videos together, but one by one works.

MPavFox avatar Dec 31 '24 11:12 MPavFox

me too,when I import images from local

HouseWay avatar Jan 09 '25 08:01 HouseWay

same error when try to import 138 images at once. Fixed with import small portions of 20-40 images at once.

devoden avatar Jan 30 '25 19:01 devoden

Same here. For large dataset reproduce 100%

bakwc avatar Apr 25 '25 20:04 bakwc

I am having the same issue

laurenzbirnbaum avatar May 15 '25 16:05 laurenzbirnbaum

For anyone else that stumbles into this problem it turns out there is a limit of 200k tasks and 200mb per post request to your Label Studio server. You can get around this limitation by breaking up your import into smaller pieces but don't! Use the source storage mechanism as recommended by Label studio instead. I ended up setting up local storage for my project, which solved the issue.

jbadger3 avatar May 23 '25 13:05 jbadger3