Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
However, when using the ownCloud client in version 2.6.0 now, syncing does not work with our ownCloud instance anymore, when there is a large number of files to be checked/synced. When using a PHP-FPM setup, we get the following error message within the client:
This error weirdly does not appear, when logging is enabled in the client. The client only times out after the same amount of time when that error would happen without logging. The log entries when logging is enabled are:
On the server side, this is the only error that coincides:
There are no PHP, PHP-FPM or MySQL errors present in the respective error logs otherwise.
Since the source error message ("Server stopped accepting new streams before this stream was established") comes from within the Qt library here, it looks like it has something to do with HTTP/2 again.
And sure enough, after disabling HTTP/2 on the server side, no synchronisation errors happened any more.
Installation path of client:
However, the issue is also present when using nginx only (version
Hm, not sure, how do I check that?
Not sure what you mean there - isn't that just the PHP version?
Before you revert anything: can anybody else confirm the issue? This might still be a server configuration issue. As far as I know, I have done every conceivable and recommended server configuration - but there might still be something, that needs to be done. I just need to find out what it is.
I haven't tried HTTP2 myself, but we collected some info. It probably requires php-FPM in any case, which is not our recommended setup. There are two use cases
@guruz no, but I didn't do extensive testing out of fear. IMO a lot of VFS issues bled over to the basic sync code for some reason and the entire client is less stable than before.
Currently I'm still using an ancient version for 2 reasons: h2 works, no VFS code:
But let me comment on a few things here, because I have tthe feeling that some people do not understand h2, backend, and fpm.
h2 uses a thread model, which will break when using a prefork MPM on the web server, which is process based. Furthermore a process based server has several other disadvantages as well: one php version per server, php caches (apcu, opcache, ...) will be lost during httpd server restart, ...
Any sane server environment these days uses a thread based model, h2, and php-fpm (and maybe a reverse proxy somwhere in the mix). Everything else is less performant, more complicated to maintain, and less secure.
As a side note, I find it really disconcerting that h2 is still a problem and that you've decided to deactivate it again instead of making it the highest priority. There are server admins out there who have disabled http/1.0 and http/1.1 completely. The reasons should be obvious, but I will not start a h2 promotion thread here.
P.S.: I'm more than willing to re-evaluate the ownCloud client again in the future. I'm not saying that I'm gonna turn my back on it forever. It's just that the current situation doesn't create much confidence.