owncloud / client

🖥️ Desktop Syncing Client for ownCloud
GNU General Public License v2.0
1.39k stars 667 forks source link

Regression: Show errors in UI #2863

Closed MegaV0lt closed 9 years ago

MegaV0lt commented 9 years ago

In desktop client is no possibility to get info about errors. 2015-02-19 08_07_43-owncloud

It would be nice to have a kind of errorlog to be seen via the client (button?) In activitiers is no error shown. 2015-02-19 08_14_02-owncloud

The only way to see what happened is to ope the log of the server:

{"reqId":"fb93b22787b407591078e4cc94da842f","remoteAddr":"192.168.178.21","app":"PHP","message":"Undefined offset: 2 at \/mnt\/SSDSA2CT040G3\/rootfs\/var\/www\/owncloud\/3rdparty\/sabre\/dav\/lib\/Sabre\/DAV\/Client.php#560","level":3,"time":"2015-02-19T07:01:57+00:00"}
{"reqId":"fb93b22787b407591078e4cc94da842f","remoteAddr":"192.168.178.21","app":"files_external","message":"Internal server error","level":3,"time":"2015-02-19T07:06:58+00:00"}
{"reqId":"fb93b22787b407591078e4cc94da842f","remoteAddr":"192.168.178.21","app":"webdav","message":"Exception: {\"Message\":\"Storage not available\",\"Code\":0,\"Trace\":\"#0 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/tagsplugin.php(197): OC\\\\Connector\\\\Sabre\\\\ObjectTree->getNodeForPath('_Telekom_25GB')\\n#1 [internal function]: OC\\\\Connector\\\\Sabre\\\\TagsPlugin->beforeGetPropertiesForPath('_Telekom_25GB', Array, 1)\\n#2 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/Sabre\\\/DAV\\\/Server.php(433): call_user_func_array(Array, Array)\\n#3 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/server.php(152): Sabre\\\\DAV\\\\Server->broadcastEvent('beforeGetProper...', Array)\\n#4 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/server.php(104): OC_Connector_Sabre_Server->getPropertiesForPath('_Telekom_25GB', Array, 1)\\n#5 [internal function]: OC_Connector_Sabre_Server->httpPropfind('_Telekom_25GB')\\n#6 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/Sabre\\\/DAV\\\/Server.php(474): call_user_func(Array, '_Telekom_25GB')\\n#7 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/Sabre\\\/DAV\\\/Server.php(214): Sabre\\\\DAV\\\\Server->invokeMethod('PROPFIND', '_Telekom_25GB')\\n#8 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/apps\\\/files\\\/appinfo\\\/remote.php(61): Sabre\\\\DAV\\\\Server->exec()\\n#9 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/remote.php(54): require_once('\\\/mnt\\\/SSDSA2CT04...')\\n#10 {main}\",\"File\":\"\\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/objecttree.php\",\"Line\":93}","level":4,"time":"2015-02-19T07:06:58+00:00"}
{"reqId":"18eccc5351f5c02be0438ea847ef5410","remoteAddr":"192.168.178.21","app":"PHP","message":"Undefined offset: 2 at \/mnt\/SSDSA2CT040G3\/rootfs\/var\/www\/owncloud\/3rdparty\/sabre\/dav\/lib\/Sabre\/DAV\/Client.php#560","level":3,"time":"2015-02-19T07:07:54+00:00"}
{"reqId":"18eccc5351f5c02be0438ea847ef5410","remoteAddr":"192.168.178.21","app":"PHP","message":"Undefined offset: 2 at \/mnt\/SSDSA2CT040G3\/rootfs\/var\/www\/owncloud\/3rdparty\/sabre\/dav\/lib\/Sabre\/DAV\/Client.php#560","level":3,"time":"2015-02-19T07:07:54+00:00"}
{"reqId":"18eccc5351f5c02be0438ea847ef5410","remoteAddr":"192.168.178.21","app":"PHP","message":"Undefined offset: 2 at \/mnt\/SSDSA2CT040G3\/rootfs\/var\/www\/owncloud\/3rdparty\/sabre\/dav\/lib\/Sabre\/DAV\/Client.php#560","level":3,"time":"2015-02-19T07:07:54+00:00"}
luciamaestro commented 9 years ago

You can open the logwindow, there are more options here http://doc.owncloud.org/desktop/1.8/advancedusage.html

MegaV0lt commented 9 years ago

Thank you. Is it possible to add a button for the log to the client?

nekoal commented 9 years ago

Log window is good but.. 1) needs restart client with command parameters - button in UI better to open log window. 2) you can't see info about previous errors if parameters was not used in current run. You need reproduce steps after restart client to get log. 3) At least needs some parameter to select logging level. For example, select only 'error' messages or 'error and warning' messages or all messages. 4) it seems not all errors correctly reflects in activity log. For example, sometimes I see in .owncloudsync.log 'Internal Server Error' responce during upload but client supress it. Sometimes client don't supress it. I can't find reproduce steps for this case. Another example. After pause/resume when upload in progress activity log shows "Operation cancelled" even if operation succeed.

P.S. You can see on screenshot record with icon has more height in activity log. Height of first record also affect height of other records. If first record without icon all records have less height even if any record has icon. Can it be set to constant height? May be needs use this icon for normal records and icon with red cross for errors?

danimo commented 9 years ago

This is a regression: The UI should show the error that occured, and it should show in the log.

The log can be viewed with F12, but is purely for debugging purposes. We will not add a button for it in the UI. Let's rather fix the regression.

/cc @ogoffart

dragotin commented 9 years ago

@MegaV0lt it would be good if I knew which exact request caused the problem. Do you think you can find the error in the apache access_log?

Apart from that, the log above indicates and internal server error because the external storage was unavailable on the server. That should not be. In that case, a http return type 503 should be returned.

MegaV0lt commented 9 years ago

The access.log from that time is very short:

1.163.68.225 - - [19/Feb/2015:01:38:40 +0100] "CONNECT mx0.mail2000.com.tw:25 HTTP/1.0" 405 561 "-" "-"
128.61.240.66 - - [19/Feb/2015:01:53:04 +0100] "GET /readme.html HTTP/1.0" 404 495 "-" "masscan/1.0 (https://github.com/robertdavidgraham/masscan)"
198.58.75.132 - - [19/Feb/2015:03:30:06 +0100] "HEAD / HTTP/1.0" 200 277 "-" "-"
61.240.144.66 - - [19/Feb/2015:05:23:43 +0100] "GET / HTTP/1.0" 200 1150 "-" "masscan/1.0 (https://github.com/robertdavidgraham/masscan)"
61.240.144.66 - - [19/Feb/2015:07:35:02 +0100] "GET / HTTP/1.0" 200 1150 "-" "masscan/1.0 (https://github.com/robertdavidgraham/masscan)"
87.176.246.154 - - [19/Feb/2015:07:42:13 +0100] "GET / HTTP/1.1" 200 1187 "-" "Mozilla/5.0 (ABE, https://noscript.net/abe/wan)"
87.176.246.154 - - [19/Feb/2015:07:42:13 +0100] "GET / HTTP/1.1" 200 1187 "-" "Mozilla/5.0 (ABE, https://noscript.net/abe/wan)"
87.176.246.154 - - [19/Feb/2015:08:55:30 +0100] "GET / HTTP/1.1" 200 1187 "-" "Mozilla/5.0 (ABE, https://noscript.net/abe/wan)"
188.138.17.205 - - [19/Feb/2015:10:08:07 +0100] "GET / HTTP/1.1" 200 1157 "-" "-"

also the error.log:

[Thu Feb 19 01:53:04 2015] [error] [client 128.61.240.66] File does not exist: /var/www/readme.html
sendmail: 501 Syntax error in parameters or arguments
[Thu Feb 19 10:08:07 2015] [error] [client 188.138.17.205] File does not exist: /var/www/robots.txt
[Thu Feb 19 10:08:41 2015] [error] [client 188.138.17.205] File does not exist: /var/www/robots.txt
[Thu Feb 19 14:36:05 2015] [error] [client 66.196.235.78] File does not exist: /var/www/vtigercrm

That errorr is caused when i activate the telekom mediencenter. oc is accessing it via WebDAV, but it brings that errors and i have it deaktivated.

dragotin commented 9 years ago

Thanks, but it would be more interesting to see the part of the access_log if the mediencenter is activated but failing. Do you think you can do that again?

MegaV0lt commented 9 years ago

I will activate it again. But that time in log it was activatet!

dragotin commented 9 years ago

This commit preserves the error message: https://github.com/owncloud/client/commit/6375d0b284645239e0714652223606f8dee73979

MegaV0lt commented 9 years ago

Thank you, but i must wait for next beta, i can noct build.

in oc-log i have masses of

{"reqId":"8378dc3a570d24a63fef8c930959f1a4","remoteAddr":"192.168.178.21","app":"PHP","message":"Undefined offset: 2 at \/mnt\/SSDSA2CT040G3\/rootfs\/var\/www\/owncloud\/3rdparty\/sabre\/dav\/lib\/Sabre\/DAV\/Client.php#560","level":3,"time":"2015-02-24T10:33:12+00:00"}
{"reqId":"8378dc3a570d24a63fef8c930959f1a4","remoteAddr":"192.168.178.21","app":"files_external","message":"Bad request","level":3,"time":"2015-02-24T10:33:12+00:00"}
{"reqId":"8378dc3a570d24a63fef8c930959f1a4","remoteAddr":"192.168.178.21","app":"PHP","message":"Undefined offset: 2 at \/mnt\/SSDSA2CT040G3\/rootfs\/var\/www\/owncloud\/3rdparty\/sabre\/dav\/lib\/Sabre\/DAV\/Client.php#560","level":3,"time":"2015-02-24T10:33:13+00:00"}

and sometimes the bad reqest... oc also loads file from the mediacenter even if they are not changed: 2015-02-24 11_56_27-owncloud That makes mediencenter unusable... I only have a few testfiles in there now...

LukasReschke commented 9 years ago
{"reqId":"8378dc3a570d24a63fef8c930959f1a4","remoteAddr":"192.168.178.21","app":"PHP","message":"Undefined offset: 2 at \/mnt\/SSDSA2CT040G3\/rootfs\/var\/www\/owncloud\/3rdparty\/sabre\/dav\/lib\/Sabre\/DAV\/Client.php#560","level":3,"time":"2015-02-24T10:33:12+00:00"}
{"reqId":"8378dc3a570d24a63fef8c930959f1a4","remoteAddr":"192.168.178.21","app":"files_external","message":"Bad request","level":3,"time":"2015-02-24T10:33:12+00:00"}
{"reqId":"8378dc3a570d24a63fef8c930959f1a4","remoteAddr":"192.168.178.21","app":"PHP","message":"Undefined offset: 2 at \/mnt\/SSDSA2CT040G3\/rootfs\/var\/www\/owncloud\/3rdparty\/sabre\/dav\/lib\/Sabre\/DAV\/Client.php#560","level":3,"time":"2015-02-24T10:33:13+00:00"}

Those errors are server bugs and have to be fixed in the core. Can you report them at https://github.com/owncloud/core as well using the issue template? Thanks.

Shouldn't impact this issue though, @danimo?

danimo commented 9 years ago

@MegaV0lt I have triggered a new build which will show up as build number 4​75​​9 on http://download.owncloud.com/desktop/daily/ in a few minutes.

As to the source of the errors: What @LukasReschke says...

MegaV0lt commented 9 years ago

Thank you... i will install when it is ther.

I think it already exist a ticket about that errormessages related to "Telekom Mediencenter"

danimo commented 9 years ago

@MegaV0lt http://download.owncloud.com/desktop/daily/ownCloud-1.8.0.4759-nightly20150224-setup.exe is available now.

MegaV0lt commented 9 years ago

Loaded and running ;) I wait now for errors to display...

MegaV0lt commented 9 years ago

Got red symbol in client again, but no message in activity. Only in Server-LoG:

{"reqId":"758304af1c1b0cfd7a91113f1f38c86e","remoteAddr":"192.168.178.21","app":"files_external","message":"Bad request","level":3,"time":"2015-02-24T12:21:11+00:00"}
{"reqId":"758304af1c1b0cfd7a91113f1f38c86e","remoteAddr":"192.168.178.21","app":"webdav","message":"Exception: {\"Message\":\"Storage not available\",\"Code\":0,\"Trace\":\"#0 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/tagsplugin.php(197): OC\\\\Connector\\\\Sabre\\\\ObjectTree->getNodeForPath('_Telekom_25GB')\\n#1 [internal function]: OC\\\\Connector\\\\Sabre\\\\TagsPlugin->beforeGetPropertiesForPath('_Telekom_25GB', Array, 1)\\n#2 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/Sabre\\\/DAV\\\/Server.php(433): call_user_func_array(Array, Array)\\n#3 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/server.php(152): Sabre\\\\DAV\\\\Server->broadcastEvent('beforeGetProper...', Array)\\n#4 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/server.php(104): OC_Connector_Sabre_Server->getPropertiesForPath('_Telekom_25GB', Array, 1)\\n#5 [internal function]: OC_Connector_Sabre_Server->httpPropfind('_Telekom_25GB')\\n#6 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/Sabre\\\/DAV\\\/Server.php(474): call_user_func(Array, '_Telekom_25GB')\\n#7 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/Sabre\\\/DAV\\\/Server.php(214): Sabre\\\\DAV\\\\Server->invokeMethod('PROPFIND', '_Telekom_25GB')\\n#8 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/apps\\\/files\\\/appinfo\\\/remote.php(61): Sabre\\\\DAV\\\\Server->exec()\\n#9 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/remote.php(54): require_once('\\\/mnt\\\/SSDSA2CT04...')\\n#10 {main}\",\"File\":\"\\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/objecttree.php\",\"Line\":93}","level":4,"time":"2015-02-24T12:21:11+00:00"}
{"reqId":"3ea3b725ccb0c90781ef0a790c64a7cd","remoteAddr":"192.168.178.21","app":"PHP","message":"Undefined offset: 2 at \/mnt\/SSDSA2CT040G3\/rootfs\/var\/www\/owncloud\/3rdparty\/sabre\/dav\/lib\/Sabre\/DAV\/Client.php#560","level":3,"time":"2015-02-24T12:22:15+00:00"}
{"reqId":"3ea3b725ccb0c90781ef0a790c64a7cd","remoteAddr":"192.168.178.21","app":"PHP","message":"Undefined offset: 2 at \/mnt\/SSDSA2CT040G3\/rootfs\/var\/www\/owncloud\/3rdparty\/sabre\/dav\/lib\/Sabre\/DAV\/Client.php#560","level":3,"time":"2015-02-24T12:22:16+00:00"}
{"reqId":"3ea3b725ccb0c90781ef0a790c64a7cd","remoteAddr":"192.168.178.21","app":"PHP","message":"Undefined offset: 2 at \/mnt\/SSDSA2CT040G3\/rootfs\/var\/www\/owncloud\/3rdparty\/sabre\/dav\/lib\/Sabre\/DAV\/Client.php#560","level":3,"time":"2015-02-24T12:22:16+00:00"}
...
{"reqId":"e8cbf63b64b520b90acf926f3e429c8e","remoteAddr":"192.168.178.21","app":"PHP","message":"Undefined offset: 2 at \/mnt\/SSDSA2CT040G3\/rootfs\/var\/www\/owncloud\/3rdparty\/sabre\/dav\/lib\/Sabre\/DAV\/Client.php#560","level":3,"time":"2015-02-24T12:25:03+00:00"}
{"reqId":"e8cbf63b64b520b90acf926f3e429c8e","remoteAddr":"192.168.178.21","app":"files_external","message":"Bad request","level":3,"time":"2015-02-24T12:25:04+00:00"}
{"reqId":"e8cbf63b64b520b90acf926f3e429c8e","remoteAddr":"192.168.178.21","app":"webdav","message":"Exception: {\"Message\":\"Storage not available\",\"Code\":0,\"Trace\":\"#0 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/tagsplugin.php(197): OC\\\\Connector\\\\Sabre\\\\ObjectTree->getNodeForPath('_Telekom_25GB')\\n#1 [internal function]: OC\\\\Connector\\\\Sabre\\\\TagsPlugin->beforeGetPropertiesForPath('_Telekom_25GB', Array, 1)\\n#2 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/Sabre\\\/DAV\\\/Server.php(433): call_user_func_array(Array, Array)\\n#3 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/server.php(152): Sabre\\\\DAV\\\\Server->broadcastEvent('beforeGetProper...', Array)\\n#4 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/server.php(104): OC_Connector_Sabre_Server->getPropertiesForPath('_Telekom_25GB', Array, 1)\\n#5 [internal function]: OC_Connector_Sabre_Server->httpPropfind('_Telekom_25GB')\\n#6 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/Sabre\\\/DAV\\\/Server.php(474): call_user_func(Array, '_Telekom_25GB')\\n#7 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/Sabre\\\/DAV\\\/Server.php(214): Sabre\\\\DAV\\\\Server->invokeMethod('PROPFIND', '_Telekom_25GB')\\n#8 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/apps\\\/files\\\/appinfo\\\/remote.php(61): Sabre\\\\DAV\\\\Server->exec()\\n#9 \\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/remote.php(54): require_once('\\\/mnt\\\/SSDSA2CT04...')\\n#10 {main}\",\"File\":\"\\\/mnt\\\/SSDSA2CT040G3\\\/rootfs\\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/objecttree.php\",\"Line\":93}","level":4,"time":"2015-02-24T12:25:04+00:00"}

When i disable the "Telekom MedienCenter" it runs normaly

dragotin commented 9 years ago

@MegaV0lt the error message in client should be more descriptive now. This kind of error does not show up in the activity log because there only file specific problems show up. The problem of a non available storage however is not file specific.

MegaV0lt commented 9 years ago

It was showing "Could not open directory" or similar... But no info if open failed local or remote because remote was not accessible. At least something... The main problem is the not working webdav at telekom

dragotin commented 9 years ago

related: #2884

MegaV0lt commented 9 years ago

Now after reaktivating windows from standby oc compleatly is off: http://i.imgur.com/vW11HMm.png

Must have to do with defect telekom webdav

But it is blocking oc compleatly witch should not happen. I must deaktivate telekom again...

MegaV0lt commented 9 years ago

Still not working after deaktivating telekom webdav: http://i.imgur.com/XFonFQY.png

What now?

dragotin commented 9 years ago

@MegaV0lt there is something different wrong with your server. I think the initial problem is fixed: The client will show more helpful error message because of my fix above. Closing hence.

MegaV0lt commented 9 years ago

After restart of client it works.