-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
@uppy/aws-s3-multipart: fix crash on pause/resume #4737
Conversation
Thanks for the PR. There is one issue in CI:
Can you take a look? |
Thanks for the PR, I don't think this is a correct fix, there should not be any |
Tested with adding break on local environment now upload process resumes - without any error - and finishes successfully |
Thanks for the repro steps, somehow I'm still unable to reproduce the same error, I'm getting a different one, I'm sending a PR to fix it: #4748. I'll try to find ways to reproduce.
Using |
To the best of my knowledge, uppy/packages/@uppy/aws-s3-multipart/src/index.js Lines 336 to 339 in 9ad48f8
The fact that you are seeing an error means that it hasn't been uploaded (or at least that the part number doesn't match), and yet the chunk has been removed from the memory 🤔 There's definitely something wrong, and I'm afraid the fix you are suggesting will not fix it, only make the error disappear. |
I checked |
OK, so you think the error doesn't come from Uppy code? If you're able to find the cause, and update the issue with some hints on how you fixed it, that'd be very helpful. |
Yes. Error because of listParts. I will try search cause and inform in discussion. |
Fixes: #4648
This bug occurs when we attempt to press the pause/resume button after the first batch of chunks has been uploaded. When the second batch starts the upload process, we end up with an array of chunks in the multipart upload package that looks like this:
[null, null, null, null, chunk, chunk]
As a result, when we resume, we continue to attempt to retrieve data from the null chunks. This is why I added a check to skip them.Before fix we have error:
After fix - resume successfull