Seafile uploads get interrupted

docker
windows

#1

Hi everyone,

I have an issue with syncing to the server. I have set up Seafile to run on my home server using docker, and have set up Seafile to run behind a reverse proxy. Now it is up and running, but the synchronization process is constantly interrupted by something. The client syncs for about 15 seconds, and then the interface shows this message:

Data transfer was interrupted. Please check network or firewall”

The strange thing is that the sync does complete eventually, however.

The ~/ccnet/logs/seafile.log file on the client shows this message, over and over every time the above status is reported:

[09/19/18 02:12:47] sync-mgr.c(545): Repo 'My Library' sync state transition from 'committing' to 'uploading'.
[09/19/18 02:12:47] http-tx-mgr.c(1177): Transfer repo '97c4af65': ('normal', 'init') --> ('normal', 'check')
[09/19/18 02:12:47] http-tx-mgr.c(1177): Transfer repo '97c4af65': ('normal', 'check') --> ('normal', 'commit')
[09/19/18 02:12:47] http-tx-mgr.c(1177): Transfer repo '97c4af65': ('normal', 'commit') --> ('normal', 'fs')
[09/19/18 02:12:47] http-tx-mgr.c(1177): Transfer repo '97c4af65': ('normal', 'fs') --> ('normal', 'data')
[09/19/18 02:12:47] http-tx-mgr.c(952): libcurl failed to PUT https://****/seafhttp/repo/97c4af65-d6ed-46d6-a1e0-c9025b4a362e/block/0e8151caad52f6a9901d31d70c975d3587b2e377: Failure when receiving data from the peer.
[09/19/18 02:12:47] http-tx-mgr.c(952): libcurl failed to PUT https://****/seafhttp/repo/97c4af65-d6ed-46d6-a1e0-c9025b4a362e/block/ecd3144cb93d79e183604e54f27fb9ee206236e4: Operation was aborted by an application callback.
[09/19/18 02:12:47] http-tx-mgr.c(952): libcurl failed to PUT https://****/seafhttp/repo/97c4af65-d6ed-46d6-a1e0-c9025b4a362e/block/132d6c17cda749a87e35bda7e6318fbe0e811964: Operation was aborted by an application callback.
[09/19/18 02:12:47] http-tx-mgr.c(1177): Transfer repo '97c4af65': ('normal', 'data') --> ('error', 'finished')
[09/19/18 02:12:47] sync-mgr.c(607): Repo 'My Library' sync state transition from uploading to 'error': 'Error occurred in upload.'.

The Seafile instance is running inside docker on port 80, and is mapped to port 84 on the host (the machine that runs docker). Apache on the host is configured to reverse proxy to port 84. The apache configuration on the host is configured to use HTTPS and has its own Let’s Encrypt certificate (so the Seafile instance does not have any certificate but the host does). I have a couple of other applications set up in the same way and they are running without issues.

Furthermore, the apache error log on the host machine reports these messages:

[Wed Sep 19 00:22:53.781311 2018] [proxy_http:error] [pid 21524] (20014)Internal error (specific information not available): [client ***.***.***.***:45113] AH02609: read request body failed to 127.0.0.1:8082 (127.0.0.1) from ***.***.***.*** ()
[Wed Sep 19 00:22:53.781353 2018] [proxy_http:error] [pid 21524] [client ***.***.***.***:45113] AH01097: pass request body failed to 127.0.0.1:8082 (127.0.0.1) from ***.***.***.*** ()
[Wed Sep 19 00:22:53.784820 2018] [proxy_http:error] [pid 21333] (70008)Partial results are valid but processing is incomplete: [client ***.***.***.***:45114] AH02609: read request body failed to 127.0.0.1:8082 (127.0.0.1) from ***.***.***.*** ()
[Wed Sep 19 00:22:53.784848 2018] [proxy_http:error] [pid 21333] [client ***.***.***.***:45114] AH01097: pass request body failed to 127.0.0.1:8082 (127.0.0.1) from ***.***.***.*** ()
[Wed Sep 19 00:22:53.785488 2018] [proxy_http:error] [pid 21354] (70008)Partial results are valid but processing is incomplete: [client ***.***.***.***:45112] AH02609: read request body failed to 127.0.0.1:8082 (127.0.0.1) from ***.***.***.*** ()
[Wed Sep 19 00:22:53.785531 2018] [proxy_http:error] [pid 21354] [client ***.***.***.***:45112] AH01097: pass request body failed to 127.0.0.1:8082 (127.0.0.1) from ***.***.***.*** ()
[Wed Sep 19 00:22:53.800424 2018] [proxy_http:error] [pid 21336] (70008)Partial results are valid but processing is incomplete: [client ***.***.***.***:45115] AH01095: prefetch request body failed to 127.0.0.1:8082 (127.0.0.1) from ***.***.***.*** ()

Those messages appear in sync with the errors on the client.

Does anyone know why this might be happening? I assume it has something to do with the proxy setup, and that it might cut off requests that take too long, but I’m not sure where to start looking. Thanks in advance!


#2

Hi,

Did you ever get this resolved? I am running into this problem now too. I have seafile running behind an Apache 2.4 proxy.


#3

Hey, unfortunately I haven’t been able to resolve this issue yet, so I’ve left things as they are for now. Hoping for a fix / solution.


#4

Check out my thread, I believe we have a solution.


#5

Ah great! I’ve applied the suggested fix, will monitor the logs and report back if it works


#6

Unfortunately the problem still occurs and I still see the same messages in the logs. Thanks for the suggestion though!


#7

i also happen this problem and now i fixed.
At my environment i have network firewall with security profile, now i removed all security profile (antivirus, ips, proxy, and ssl inspection).