Upload randomly jumps backwards

Hello everyone,

We have been having an odd one, this video shows it best:

What is happening is when a user uploads a number of images, the status indicator is showing progress and goes up, at random intervals it jumps backwards. We have one user telling us it got to 90% complete and then jumped down to 15% complete. This behavior occurs both from on the same network (i.e. using the IP address of the machine) and external of the network using the FQDN.

Some of the uploads just never seem to finish, while others eventually get to 100% complete.

I tried looking into the logs but didn’t see anything particularly useful or obvious. Are there any places that I should look to get a better idea of what might be causing this?

Running as a docker container,
latest version as of 9th of January 2020

Mm, the only explanation I have is that images are failing to be uploaded. When that happens the program backtracks and tries to upload the images once more. See https://github.com/OpenDroneMap/WebODM/blob/master/app/static/app/js/components/ProjectListItem.jsx#L189

A large number of errors could cause that behavior?

Open the Web Developer toolbar in the browser and see the network activity / console log. There might be clues there.

Watching the live log of the docker container for the webapp I am getting a very large amount of the following errors:

WARNING Not Found: /api/projects/[id]/tasks/[GUID]
WARNING Session data corrupted
and:
WARNING Not Found: /api/projects/[id]/tasks/[GUID]/upload
WARNING Session data corrupted

I got this to happen on my side and made had the dev tools in chrome open. There were no errors or issues in the network tab. The only errors I had in the console were related to the security headers that are currently set to warn not block.

Any ideas on other places to look, or how to further troubleshoot?

Ok, it’s a bug; I was able to reproduce this.

Unsure of the cause, but might be a race condition or an invalid assumption about parallelism.

3 Likes

Switch to a faster network of JPGs and it goes away or isn’t discernible anyway.

But yes, it’s a pretty interesting bug, and I’m usually on slow networks. :slight_smile:

And fix: https://github.com/OpenDroneMap/WebODM/pull/822

Dropzone.js has a strange way of defining bytesSent.

3 Likes

Fantastic!

Thanks for documenting this!

3 Likes

Amazing! Thank you!

2 Likes