Desktop: Sync Error: "Server stopped accepting new streams before this stream was established"

Created on 11 Oct 2019  路  39Comments  路  Source: nextcloud/desktop

Expected behaviour

After upgrading from 2.5.3 to 2.60, it should naturally continue to sync with the server.

Actual behaviour

After upgrading from 2.5.3 to 2.60, I encounter an Error: "An Error Occured While Opening a Folder Server Stopped accepting new streams before this stream was established"
image

image

Steps to reproduce

  1. Upgrade from 2.5.3 to 2.6.0
  2. Start Sync
  3. ERror occur

Client configuration

Client version: Desktop client v2.60

Operating system: NextCloudPi on Raspberry Pi 3

OS language:

Qt version used by client package (Linux only, see also Settings dialog):

Client package (From Nextcloud or distro) (Linux only):

Installation path of client:

Server configuration


Nextcloud version: 16.05

Storage backend (external storage):

Logs

Please use Gist (https://gist.github.com/) or a similar code paster for longer
logs.

  1. Client logfile: Output of nextcloud --logwindow or nextcloud --logfile log.txt
    (On Windows using cmd.exe, you might need to first cd into the Nextcloud directory)
    (See also https://docs.nextcloud.com/desktop/2.3/troubleshooting.html#log-files)

  2. Web server error log:

  3. Server logfile: nextcloud log (data/nextcloud.log):

bug

Most helpful comment

@DrCarsonBeckett
cc @e-alfred

Either they integrade the fix/patches into the client to work around the issue or you need to disable it at least for the cloud vhost.

With #1823 in the 2.6.4 release HTTP/2 will be disabled by default for now and may be enabled manually by supplying the environment variable: OWNCLOUD_HTTP2_ENABLED=1

All 39 comments

So I ssh-ed into the raspberry pi 3, and typed: sudo ncp-dist-upgrade and buster was successfully updated. Now there is no stupid "stream" issue.

So that resolved it for me...

I am having the same problem with an Ubuntu 18.04 server running Apache 2.4 and PHP-FPM 7.2. The issue only appears in the 2.6 release of the client, all older versions work fine.

It seems like upgrading to Nextcloud 17 reduced the problem to some extent. I do not see this error a lot anymore, but it still shows up sometimes for a few seconds.

I am experiencing the same problem, but with an __ownCloud__ server instance and desktop client. I suspect some general problem with PHP-FPM.

@rwat1 @e-alfred does your ownCloud server support HTTP/2? If yes, try to disable it - just to test.

@fritzmg Yes, I run my Nextcloud behind Apache and PHP-FPM with HTTP/2 support. Switched to it specifically for that. The problem doesn't arise all the time, only sometimes for a longer time.

I can see a lot of "GOAWAY" responses by the Apache webserver that seem to match up with the error on the client side. I also found some similar problems relating to QT 5.12 with completely different software too, so maybe that could be an issue too.

Yeah, the error comes from the Qt Library and it is related to HTTP/2 stream sockets. Turning HTTP/2 off solved this issue for me - but obviously it is just a workaround.

Turning off HTTP/2 is a very bad workaround because it costs speed and performance.

It's a workaround, not a solution. I am not saying that you should _keep_ this workaround. You should _try_ this workaround, in order to help to get to the bottom of the _actual_ problem.

I can confirm this issue. Just set up a new MacBook with OwnCloud and am getting this very error. Looks like I have to downgrade for the meanwhile? Disabling HTTP/2 doesn't seem like a very viable option for me (NGINX with PHP-FPM). Hopefuly this gets resolved soon!

Also, for me, this error occurs rather early. Apparently, fetching the metadata works fine, but the actual streams for the downloads do not.

So the workaround (disabling HTTP/2 support) needs to be applied to the desktop client. Maybe @camilasan @misch7 can help with that?

I've picked an upstream commit a while ago, targeting HTTP/2 issues. Can confirm that they are known in the Qt bug tracker too.

_For those of you not running on the Raspberry Pi:_
Could you please test this daily build and report here if it's working with HTTP/2 maybe?
https://download.nextcloud.com/desktop/daily/Linux/Nextcloud-2.7.0.20191202-daily-x86_64.AppImage

(Don't be confused by the 2.7 version, that's our development branch.)

Tested whit nextcloud-2.7.0.6116-daily-20191204-Release on Windows, still issue exists.

I have the same issue. I'm trying to sync a relatively large folder structure to a new drive, ~500GB and 250k files. I get this error about 15-20 minutes after starting nextcloud, while nextcloud is still comparing file versions. As far as I can tell, the comparison-phase stops with this error and has to start fresh. At least I don't seem to get the usual "Comparing ..." text updates in the settings view. I waited multiple times for well over 1 h and still no changes. That is usually the time I restart the nextcloud client. Maybe the sync-process/attempts still run in the background and I should just give it more time?

I've got some success by deselecting some of the larger folders in the sync setting and then adding them back in later one by one, after other smaller folders have successfully finished syncing. But this is a very tedious process. Are there any other things I can try?

Client version: 2.6.1stable (build 20191105)
Server version: 15.0.5.3

I also have the same issue.
I am on Ubuntu 19.10.
The nextcloud client is installed from apt. Version is 2.5.3.
I tried the 2.5.2 appimage and it looks like I do not have any problem.
I also tried the 2.6.1 appimage and the 2.7.0.20191221-daily and I get the problem with both of them.
The problem happens only in a folder of 3 GB with around 45000 files. My other synchronized folders are smaller in size and in number of files.

Hello,
I am not an IT specialist so cannot really give detailed information on my curret set up and dig out the error in a log file. But I do experience the same error. I got the error while the software is still comparing files between my computer and my server. And no synchronisation activity occurs eventually, on any of my folders.

Does anybody manage to solve the issue or get some indication when we can expect the issue to be solved ?

Thanks for your help.

I'm seeing this error using the official Docker container

nextcloud:17.0.2-apache

Would anyone know how to disable HTTP/2.0 for that image?

The issue is still there with the 2.7 beta 1 client, BUT at least it restarts after around 30 seconds or so.
It still should be said that its not fixed in that version either.

Edit:
It only sometimes restarts to sync automatically. Sometimes you need to manually restart it.

Good news is that other files keep synching in the background, even with the error message on display. It seems that eventually all files get synched.

I experienced something else there. For me the files and others wont get synced during that time.

Same problem for me on the official Nextcloud VM from https://www.hanssonit.se/.

@xadox-1st it's a client issue handling HTTP/2.0. It can happen on any server.

@misch7 seems that even with 2.6.3stable this behavior keeps repeating (not on a RPi).

If anything, is there something that might be checked from the server side?

It was mentioned, disable http/2. Which I wouldnt recommend.
Its happening with the 2.7.0 beta client as well.

It was mentioned, disable http/2. Which I wouldnt recommend.

Well the point of the last merge was to fix that, keeping http/2 enabled.

Maybe it was a partial fix.

It was a workaround and not a fix, yes.^^
And the latest patch for that issue didnt seem to fix the problem itself.

Could someone specify how to properly enable/disable http/2 ?

Depends on the webserver itself, but in general you need to disable or enable it in the vhost (configuration file) file for the side (or server in general).

It would be better to have some config option (in the config file at least, no need for something in the GUI) to disable HTTP/2 in the clients instead of the server to preserve maximum performance on all other clients (Android/iOS/Browsers).

You cant disable http/2 via htaccess or config files from the webspace. You need to manually enable/disable it in the vhost/webserver files.

https://github.com/nextcloud/vm/blob/4265ed0b561da07b205cdc708a784639a609a43d/nextcloud_install_production.sh#L299

So I would just:

 a2dismod http2
 apachectl restart
 (or systemctl restart apache2)

And wait for a proper fix.

It would be better to have some config option (in the config file at least, no need for something in the GUI) to disable HTTP/2 in the clients instead of the server to preserve maximum performance on all other clients (Android/iOS/Browsers).

I vote for that one.
(Better would be just disabling it in the desktop client by default instead of having to disable it for the whole server...)

Either they integrade the fix/patches into the client to work around the issue or you need to disable it at least for the cloud vhost.

@DrCarsonBeckett
cc @e-alfred

Either they integrade the fix/patches into the client to work around the issue or you need to disable it at least for the cloud vhost.

With #1823 in the 2.6.4 release HTTP/2 will be disabled by default for now and may be enabled manually by supplying the environment variable: OWNCLOUD_HTTP2_ENABLED=1

@misch7 I've just downloaded 2.6.4 and tested a big file and it worked, finally!
Thank you very much for fixing this annoying bug!

@misch7 Looks good so far, no errors anymore. Thanks for the fix!

Cool, thanks for testing and confirmation @szaimen and @e-alfred ! :)

I guess we can close the issue then? @rwat1 @DrCarsonBeckett

Yes, works fine for me too. Thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

nilsbecker picture nilsbecker  路  3Comments

MichaIng picture MichaIng  路  3Comments

Linuxfabrik picture Linuxfabrik  路  3Comments

kaysond picture kaysond  路  3Comments

rguenther-dz picture rguenther-dz  路  3Comments