-
-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
One app is given WebDav 503 errors, but not others #2099
Comments
Looks similar to #680 |
Could be, although I'm not convinced that the error in the Nextcloud log is necessarily related to the problem of webdav returning a 503 error. Also, in bug #680 the connection still seems to be made and able to transfer the files, where here a 503 error stops the connection. I have a sneaking feeling that the issue may actually be an incompatible Nginx configuration, but I don't know enough about Nginx to really be able to tell. |
Ok, I upped the log level from "Errors" to Debug, and when I test the connection with the app, I get a successful login attempt and then the following: Exception: {"Message":"HTTP/1.1 404 File with name //ACRRecordings could not be located","Exception":"Sabre\DAV\Exception\NotFound","Code":0,"Trace":"#0 /path/to/Nextcloud/XXXX/apps/dav/lib/Files/FilesHome.php(55): OCA\DAV\Connector\Sabre\Directory->getChild('ACRRecordings')\n#1 /path/to/Nextcloud/XXXX/3rdparty/sabre/dav/lib/DAV/Tree.php(76): OCA\DAV\Files\FilesHome->getChild('ACRRecordings')\n#2 /path/to/Nextcloud/XXXX/3rdparty/sabre/dav/lib/DAV/Server.php(903): Sabre\DAV\Tree->getNodeForPath('files/XXXX/ACR...')\n#3 /path/to/Nextcloud/XXXX/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(334): Sabre\DAV\Server->getPropertiesForPath('files/XXXX/ACR...', NULL, 0)\n#4 [internal function]: Sabre\DAV\CorePlugin->httpPropFind(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))\n#5 /path/to/Nextcloud/XXXX/3rdparty/sabre/event/lib/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\n#6 /path/to/Nextcloud/XXXX/3rdparty/sabre/dav/lib/DAV/Server.php(459): Sabre\Event\EventEmitter->emit('method:PROPFIND', Array)\n#7 /path/to/Nextcloud/XXXX/3rdparty/sabre/dav/lib/DAV/Server.php(248): Sabre\DAV\Server->invokeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))\n#8 /path/to/Nextcloud/XXXX/apps/dav/lib/Server.php(184): Sabre\DAV\Server->exec()\n#9 /path/to/Nextcloud/XXXX/apps/dav/appinfo/v2/remote.php(30): OCA\DAV\Server->exec()\n#10 /path/to/Nextcloud/XXXX/remote.php(165): require_once('/path/to/Nextcloud/ownclo...')\n#11 {main}","File":"/path/to/Nextcloud/XXXX/apps/dav/lib/Connector/Sabre/Directory.php","Line":206,"User":"XXXX"} Also, the developer of the app got back to me and let me know that their app uses Apache Jackrabbit for WebDav access. Does anyone know a FOSS Android app that uses Jackrabbit I could test with? I notice that the ownCloud android-library seems to use it... |
I have also Problems with an app using Jackrabbit and present nextcloud release (11.0.1) If i set "debug => false" in config.php i get: |
Hi, I'm experiencing a similar issue with ACR and Nextcloud. Here is what I get in the adb log:
I tried to get debug infos in Nextcloud, but setting the debug flag to true seems to make the webdav sync work. @Bugsbane Did you find something since few months ago? |
Same here. Tried to resolve where the 503 happens, but no chance. When setting "debug => true" into config it works. And it is only one app making some problems: "PROPFIND /owncloud/remote.php/webdav/ HTTP/1.1" 503 1603 "-" "FRITZ!OS/141.06.63" Any hint how to debug the reason or the place? |
Could it be something related to the app not sending all the required cookies? Davdroid required an upgrade to fix a bug that looks similar: https://help.nextcloud.com/t/davdroid-no-longer-works-with-nc/579/32 And since the behavior changes when debug is set to true, I guess we can exclude the bad apache/nginx configuration. Maybe the debug mode is more permissive regarding the missing cookies? |
@Bugsbane, does adding the Jakarta useragent (ACR's UserAgent) in the incompatibleUserAgents work for you? It seems to be working for me:
It's in lib/base.php If it's the case, then it really seems to be a cookie issue and it should be fixed in ACR. EDIT: And if we look at the whole method we understand why it's working in debug mode:
In the else block:
I might be wrong but I think that explains everything. I contacted the ACR dev. |
Ok, tested it myself with the FRITZ client (for those of you not knowing it, it is a dsl/cable router called Fritz!Box with builtin webdav cache built by AVM) Eg adding I don't know what happens if send a support ticket to the company. In the meanwhile the broken client list should expended for this system, it may take a long time until AVM will fix their router software. |
As my useragent contains "Jakarta Commons-HttpClient" it works for me by adding the |
Got an answer from the ACR dev:
I'll try to contact the Jackrabbit guys.. |
a) If you believe there's a bug, by all means open a ticket, optimally with a reproducible test case. -> https://issues.apache.org/jira/browse/JCR b) Don't use 2.13.0. It's an unstable release. See http://jackrabbit.apache.org/jcr/downloads.html |
Yes, it does! (/me does a little happy dance). Now to go hunt down the ACR dev...
@reschke - Is using the current release likely to fix this issue? @AndyScherzinger What version of JackRabbit is the Nextcloud app (v1.4) using? I ask because this seems to be working just fine... |
@Bugsbane Thinking of it, Jackrabbit doesn't do any content handling anyway (at least I'm not aware of that). It all comes from the underlying Apache Http client library, which Jackrabbit just completely swapped out (see https://issues.apache.org/jira/browse/JCR-2406). FWIW, I'm also not sure why a WebDAV library is needed for a simple upload anyway. |
The ACR dev sent me a latest version of the app with jackrabbit 2.14 and it didn't work either. He also thought that the issue might not come from jackrabbit itself but the apache http-client library. |
Well, if there was a test case... |
@Bugsbane Android app version 1.4 uses Jackrabbit 2.12.4 (Thus Apache HTTP client 3.1) |
Ok, so this is working for me since adding Jakarta user agent to the incompatible list. I don't really understand what's going on here, but if I can run any tests or provide any info to help triage this, anyone, just let me know. |
So, Still getting this with Nextcloud 12 and the most recent version of ACR. Not sure where the bug is exactly (JackRabbit? Apache Http? Nextcloud?) but I just thought I'd report here in case it was helpful. |
This issue is still not resolved. I have to add the Jakarta agent to the incompatibility list after each Nextcloud upgrade, as mentioned here: #2099 (comment) I'd be great if the agent could be added to the default list for the next upgrade. Thanks |
The initial report was almost 2 years ago, the workaround was provided more than 1 year ago and it's still not included in the latest 13.0.7 release. Could someone please acknowledge the issue and include the fix in some upcoming release? Thanks |
Signed-off-by: Boris Fersing <boris@fersing.net>
Signed-off-by: Boris Fersing <boris@fersing.net>
Since the PR was rejected, here is a more permanent fix I wasn't aware of. Instead of modifying the base.php file, it's possible to tweak the csrf.optout value in config.php as well:
|
And closing as stated by rullzer
|
I'm using automatic call recorder to record phone interviews right now as it has an automatic backup to WeDav feature. For some reason though, NC constantly gives it 503 errors. I've looked at other webdav issues here, however I'm not using either a shared host or any Apple device which seems to rule out the main bugs I found. Obviously, the parts showing XXXX or /PATH/TO/NEXTCLOUD/ have been modified for security.
Steps to reproduce
Expected behaviour
Client should successfully be given access via webdav.
Actual behaviour
Client is given a 503 error on attempting to write, although it still seems to be able to check for the existence of specific folders.
Server configuration
Debian 8:
Web server:
Nginx
Database:
Mysql
PHP version:
PHP 5.6.27-0+deb8u1
Nextcloud version: (see Nextcloud admin page)
10.0.1
Updated from an older Nextcloud/ownCloud or fresh install:
Updated from ownCloud 9 > NC 9.0.51 > NC 9.0.53 > NC 10 > NC 10.0.1
Where did you install Nextcloud from:
Downloaded tarball from NC website
Signing status:
Not sure what this is...
Integrity check:
No errors have been found.
List of activated apps:
Enabled:
Disabled:
The content of config/config.php:
Config report
Are you using external storage, if yes which one: local/smb/sftp/...
No
Are you using encryption: yes/no
No
Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...
LDAP
LDAP configuration:
Ldap config:
Client configuration
Browser:
Android app
Operating system:
Android 6.0.1
Logs
Web server error log
No errors in the log if I clear it and then recreate this error, weirdly enough. Also nothing in the access log?!
Nextcloud log (data/nextcloud.log)
The only error I see for the relevant user is:
Error PHP stream_get_contents() expects parameter 2 to be long, string given at /PATH/TO/NEXTCLOUD/3rdparty/sabre/http/lib/Message.php#81 2016-11-13T06:57:34+00:00
Browser log
Being accessed by WebDav, not browser, so no browser log, however the ACRRecorder app itself
gives the following log when I enable logging, attempt to connect and disable logging:
####Short extract (full log below):####
11-13 11:41:15.270 D/CLOUD_CloudFolder( 5805): Folder name before processing is: ACRRecordings
11-13 11:41:15.270 D/CLOUD_CloudFolder( 5805): Folder name after processing is: ACRRecordings
11-13 11:41:15.270 D/CLOUD_WEBDAV( 5805): Checking ACR WEBDAV fodler: https://XXXX.com/remote.php/dav/files/XXXX/ACRRecordings/
11-13 11:41:15.290 D/ViewRootImpl( 5805): #1 mView = android.widget.LinearLayout{b48097 V.E...... ......I. 0,0-0,0}
11-13 11:41:15.340 W/DisplayListCanvas( 5805): DisplayListCanvas is started on unbinded RenderNode (without mOwningView)
11-13 11:41:15.350 D/ViewRootImpl( 5805): MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
11-13 11:41:16.870 D/CLOUD_WEBDAV( 5805): https://XXXX.com/remote.php/dav/files/XXXX/ACRRecordings/ is NOT there, try to create
11-13 11:41:16.950 I/System.out( 5805): 503,Service Unavailable
11-13 11:41:16.960 D/CLOUD_WEBDAV( 5805): Is https://XXXX.com/remote.php/dav/files/XXXX/ACRRecordings/ created? false
11-13 11:41:17.280 D/ViewRootImpl( 5805): #3 mView = null
11-13 11:41:17.290 D/ViewRootImpl( 5805): #1 mView = android.widget.LinearLayout{3b68f33 V.E...... ......I. 0,0-0,0}
11-13 11:41:17.340 D/ViewRootImpl( 5805): MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
Full App Debug log:
The text was updated successfully, but these errors were encountered: