Skip to content

Conversation

@LukasReschke
Copy link
Member

Right now a failed "copyr" will result in the error log being spammed with not really helpful error messages. Also situations such as $dir returning false are not really caught.

This adds more error handling and logging to make debugging such situations easier.

cc @MorrisJobke This is for the customer case I've replied to.

@LukasReschke LukasReschke added the 3. to review Waiting for reviews label Sep 25, 2016
@LukasReschke LukasReschke added this to the Nextcloud 11.0 milestone Sep 25, 2016
Right now a failed "copyr" will result in the error log being spammed with not really helpful error messages. Also situations such as `$dir` returning `false` are not really caught.

This adds more error handling and logging to make debugging such situations easier.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
@LukasReschke LukasReschke force-pushed the more-error-handling-in-copyr branch from 3b898bf to 19ad11c Compare September 25, 2016 17:03
@MorrisJobke
Copy link
Member

Tested and works. 👍

Instead of endlessly logging stuff like this:

{"reqId":"vXs0IxaivFu6mGlavKYP","remoteAddr":"::1","app":"PHP","message":"fopen(\/Users\/morrisjobke\/Projekte\/nextcloud\/server\/abc\/): failed to open stream: No such file or directory at \/Users\/morrisjobke\/Projects\/nextcloud\/server\/lib\/private\/legacy\/util.php#347","level":3,"time":"2016-09-26T07:02:40+00:00","method":"PROPFIND","url":"\/server\/remote.php\/webdav\/","user":"abc"}
{"reqId":"vXs0IxaivFu6mGlavKYP","remoteAddr":"::1","app":"PHP","message":"fopen(\/Users\/morrisjobke\/Projects\/nextcloud\/server\/data\/abc\/files): failed to open stream: Is a directory at \/Users\/morrisjobke\/Projects\/nextcloud\/server\/lib\/private\/Files\/Storage\/Local.php#274","level":3,"time":"2016-09-26T07:02:40+00:00","method":"PROPFIND","url":"\/server\/remote.php\/webdav\/","user":"abc"}
{"reqId":"vXs0IxaivFu6mGlavKYP","remoteAddr":"::1","app":"PHP","message":"stream_copy_to_stream() expects parameter 1 to be resource, boolean given at \/Users\/morrisjobke\/Projects\/nextcloud\/server\/lib\/private\/legacy\/util.php#347","level":3,"time":"2016-09-26T07:02:40+00:00","method":"PROPFIND","url":"\/server\/remote.php\/webdav\/","user":"abc"}
{"reqId":"vXs0IxaivFu6mGlavKYP","remoteAddr":"::1","app":"PHP","message":"readdir() expects parameter 1 to be resource, boolean given at \/Users\/morrisjobke\/Projects\/nextcloud\/server\/lib\/private\/legacy\/util.php#340","level":3,"time":"2016-09-26T07:02:40+00:00","method":"PROPFIND","url":"\/server\/remote.php\/webdav\/","user":"abc"}
{"reqId":"vXs0IxaivFu6mGlavKYP","remoteAddr":"::1","app":"PHP","message":"Uninitialized string offset: 0 at \/Users\/morrisjobke\/Projects\/nextcloud\/server\/lib\/private\/Files\/Node\/Node.php#296","level":3,"time":"2016-09-26T07:02:40+00:00","method":"PROPFIND","url":"\/server\/remote.php\/webdav\/","user":"abc"}

There are now two more descriptive error messages in the log and the user can login and use webdav without problem:

{"reqId":"aUFADoOr2PBaWClJhYOe","remoteAddr":"::1","app":"PHP","message":"opendir(\/Users\/morrisjobke\/Projekte\/nextcloud\/server\/abc): failed to open dir: No such file or directory at \/Users\/morrisjobke\/Projects\/nextcloud\/server\/lib\/private\/legacy\/util.php#342","level":3,"time":"2016-09-26T07:03:04+00:00","method":"PROPFIND","url":"\/server\/remote.php\/webdav\/","user":"def"}
{"reqId":"aUFADoOr2PBaWClJhYOe","remoteAddr":"::1","app":"core","message":"Could not opendir \"\/Users\/morrisjobke\/Projekte\/nextcloud\/server\/abc\"","level":3,"time":"2016-09-26T07:03:04+00:00","method":"PROPFIND","url":"\/server\/remote.php\/webdav\/","user":"def"}

@MorrisJobke
Copy link
Member

@nickvergessen @rullzer Please test this.

  • setup in config.php a skeleton dir: 'skeletondirectory' => '/Users/morrisjobke/Projekte/nextcloud/server/abc',
  • create a new user
  • do a PROPFIND for the new user (never logged in before): curl -i -X PROPFIND http://localhost/server/remote.php/webdav/ -u abc:abc

@MorrisJobke
Copy link
Member

@karlitschek we should backport this

@karlitschek
Copy link
Member

great. please backport 👍

@nickvergessen
Copy link
Member

👍

@nickvergessen nickvergessen merged commit 244de64 into master Sep 26, 2016
@nickvergessen nickvergessen deleted the more-error-handling-in-copyr branch September 26, 2016 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review Waiting for reviews

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants