Android camera auto upload is unstable

Android 7.1, latest app from play store.

I am constantly having problems with the camera auto upload feature starting to upload my photos, and then showing “upload canceled” randomly. I have it set to upload over WiFi and data, so there should be no reason for the app to stop the upload.

How can I correct this behavior?

Right now I am on a stable wifi connection and have a 39mb video file that is trying to get auto uploaded. It gets to 100% then shows “canceled” and starts over. Rinse and repeat…

This thread got lost at the bottom of the page already. Bump.

You excpect feedback within some days? Patience please! :slight_smile: This is a community and you need to know whom to involve.
Android 7.1 is not with many users for now. Most are even below 6. I think that might be the reason why it has not been tested yet.

@daniel.pan Please direct this problem to your APP DEV. Thx!

Nope, I don’t expect an immediate answer.

My thread got lost onto page 2 just a few hours after I posted it. I bumped it just to give it a good chance of actually being seen, that’s all :slight_smile:

This is happening on my wife’s phone as well, which is running Android 6.0.

This is an Android version independent issue. Think it would be the best idea to fully rewrite the camera upload. It has tons of bugs.

I’d do it if I knew mobile development, but I don’t :slight_smile:

I am, however, willing to pay a bit of a bug bounty to have this fixed! This feature is important to me!

The Android camera auto upload is stable. We haven’t received many bug reports about it within last half year. The last reported bug was related to the Nginx config.

Can you check the Nginx log at the server side? Are there Nginx logs related to the failed uploads?

Hi @daniel.pan,

There are no errors in the logs that I see. The Android client just randomly stops uploading and sets everything that is left in the transfer queue as “Upload canceled”. The app isn’t even touched when this happens, nobody actively canceled it.

Here’s what the access.log looks like when the last upload is sent before the app cancels the rest of the uploads:

2.2.2.2 - - [27/Jun/2017:21:11:09 -0500] “GET /seafhttp/repo/c25bf905-314e-422f-a1aa-ea17d0678699/commit/HEAD HTTP/1.1” 200 81 “-” “Seafile/6.0.7 (Windows NT)” “-”
2.2.2.2 - - [27/Jun/2017:21:11:09 -0500] “GET /seafhttp/repo/aa9a9410-4c8d-4584-96cc-86f04bda5761/commit/HEAD HTTP/1.1” 200 81 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:10 -0500] “POST /seafhttp/upload-api/bcca6db7-67a2-4318-9ecc-c3e59d77d8de HTTP/1.1” 200 40 “-” “Dalvik/2.1.0 (Linux; U; Android 6.0; XT1575 Build/MPHS24.49-18-4)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:12 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/721e4bec9f06b24e4c4c6cca974bc1f0080b9e61 HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:13 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/8c5c788d9087d9ce961d6a186bcd82baf9875b54 HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:14 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/582d6353cbd00f115df734a007efae60006f6aa6 HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:16 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/37bebec06ec936ef764818bebdfb1ec455d116a3 HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:17 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/8b47c4f8c07f7592019658ff79d1e8e02b440356 HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:17 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/fccbf65ed4c9a01304b558e0129ca063590a07d8 HTTP/1.1” 200 14815 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:18 -0500] “GET /seafhttp/repo/c25bf905-314e-422f-a1aa-ea17d0678699/commit/HEAD HTTP/1.1” 200 81 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:18 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/94288c84ee05b81176fc55287c1f6825dc2c24af HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:19 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/786721eef8609a846f8548ffb6c7f428aa035ea5 HTTP/1.1” 200 710627 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:20 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/2a9c4a2ff1f3f539d3ec37942db83d2eddd794e0 HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
2.2.2.2 - - [27/Jun/2017:21:11:22 -0500] “GET /seafhttp/repo/dbfa878e-5fd8-492f-b87e-78b584d52258/commit/HEAD HTTP/1.1” 200 81 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:23 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/da5de35482e47c1b4459cc183c905cda23f92af8 HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:23 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/5cd1cdb87cde7dd5259f6a3ef57a843b898af328 HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:25 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/81303084085141c3f8adfbe4f4a82da61d79ea26 HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:27 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/bcc4dbea65aee4954e23d5b1e0fad5f39f696854 HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:28 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/840197382e841d1378d0a06912c5627a7f6be25c HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:30 -0500] “GET /seafhttp/repo/5d7ec39c-d98f-46c3-ba09-6149ed56c86d/commit/HEAD HTTP/1.1” 200 81 “-” “Seafile/6.0.6 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:30 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/5d5e58b5bb2cff1426d8494194d5b4e490668556 HTTP/1.1” 200 971246 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:30 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/960af5a23f14d5664a6cf1ac23d9aa860644e455 HTTP/1.1” 200 963299 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:32 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/ebad6461daf8b90bb4dab345f809ad6c8e1e8de7 HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:32 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/8a992c65468020d41de36b28aae9c213d9985c16 HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:33 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/e821d5eb4bcb7ebc787411f0f6ba5b567517491d HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:33 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/65890e954fca55b6a6af183f47f057ab6857c6af HTTP/1.1” 200 64714 “-” “Seafile/6.0.7 (Windows NT)” “-”
1.1.1.1 - - [27/Jun/2017:21:11:36 -0500] “GET /seafhttp/repo/c7427a64-94e7-4d69-83ad-24d4d0bf8675/block/a380dd33373022004dd4bef204edd8870e93a908 HTTP/1.1” 200 1048576 “-” “Seafile/6.0.7 (Windows NT)” “-”

Here’s the error.log around that time. As you can see, nothing related:

2017/06/27 20:35:57 [error] 1152#0: *213690 “/usr/share/nginx/html/phpmanager/index.html” is not found (2: No such file or directory), client: 179.160.255.19, server: _, request: “HEAD http://198.23.134.177:80/phpmanager/ HTTP/1.1”, host: “198.23.134.177”
2017/06/27 21:16:30 [error] 1150#0: *215145 “/usr/share/nginx/html/mysql/admin/index.html” is not found (2: No such file or directory), client: 80.229.229.134, server: _, request: “HEAD http://198.23.134.177:80/mysql/admin/ HTTP/1.1”, host: “198.23.134.177”
2017/06/27 21:16:32 [error] 1150#0: *215145 “/usr/share/nginx/html/mysql/dbadmin/index.html” is not found (2: No such file or directory), client: 80.229.229.134, server: _, request: “HEAD http://198.23.134.177:80/mysql/dbadmin/ HTTP/1.1”, host: “198.23.134.177”
2017/06/27 21:16:33 [error] 1150#0: *215145 “/usr/share/nginx/html/mysql/sqlmanager/index.html” is not found (2: No such file or directory), client: 80.229.229.134, server: _, request: “HEAD http://198.23.134.177:80/mysql/sqlmanager/ HTTP/1.1”, host: “198.23.134.177”
2017/06/27 21:16:35 [error] 1150#0: *215145 “/usr/share/nginx/html/mysql/mysqlmanager/index.html” is not found (2: No such file or directory), client: 80.229.229.134, server: _, request: “HEAD http://198.23.134.177:80/mysql/mysqlmanager/ HTTP/1.1”, host: “198.23.134.177”
2017/06/27 21:16:36 [error] 1150#0: *215145 “/usr/share/nginx/html/phpmyadmin/index.html” is not found (2: No such file or directory), client: 80.229.229.134, server: _, request: “HEAD http://198.23.134.177:80/phpmyadmin/ HTTP/1.1”, host: “198.23.134.177”

Please let me know what else you would like to see and I’ll be happy to provide it.

Thank you!

Just wanted to rebump this @daniel.pan. Curious if anything has been found yet as to what could be the cause of this?

This is still an issue for both Android 6.0 and 7.1 on my end. Individual one-off uploads work fine (usually), it’s when the system goes to upload several thousand files that were detected to need auto-uploading that it does an indiscriminate number of them, then marks the rest as “cancelled”.

I am using Android 7.0 and I have the same issue, I have two video files 150 mb and 120 mb in size, it start uploading both but at around 50 mb upload it cancel by itself, and things get worst it repeat uploading with cancellation and I have to stop android sync to stop eating my bandwidth. I have no issue syncing small files like pictures.
I uploaded the two files manually by using my PC browser and I had no issue, so I guess the problem comes from Android client or Android fragmentation.

I am using latest Android client 2.1.13, and seafile pro server 6.1.1 on centos 7 with nginx https.
All my setting in nginx and seafile config file upload size is 0 (limitless).

Thanks for your support and the amazing software.

Thanks for reporting the issue. We will try big files.

Yep, ive had that issue too.

Hopefully finding that bug will also fix the original bug ive reported here. :slight_smile:

Just a bump to make sure this isn’t forgotten. Would it help if I put an issue in for it on GitHub?

I’m also willing to pay a bug bounty to get this fixed. :slight_smile:

I’ve created a github issue in order to keep track of this: https://github.com/haiwen/seadroid/issues/668

1 Like

Since it seems unlikely this is going to get traction soon, I’ve put a workaround in place that works well.

For those that use the camera upload feature but are having trouble like I am, what i did was disable camera auto upload, and configure an app called Foldersync Lite to handle the camera upload for me instead. Just configure it as webdav and boom works great!

If you are willing to pay for the pro version, you can use the instant sync option to get very quick uploads. You are also able to tell it (both pro and free) to not overwrite files, that way you don’t get hit with the “bug” that the seafile Android app has where if you reinstall it, it reuploads every file in your camera folder.

1 Like

I have found that several user who have complaint about this particular problem don’t have stable wifi connections.
Besides that the upload status on many phone’s have a pretty huge delay informing the user to late what the actual status is.

Kind Regards
Gerard

I am experiencing this issue whenever seadorid is trying to sync videos. it just cancels the upload and there is no way to efficiently restart all the uploads.