{"action":"created","issue":{"url":"https://api.github.com/repos/owncloud/core/issues/18299","labels_url":"https://api.github.com/repos/owncloud/core/issues/18299/labels{/name}","comments_url":"https://api.github.com/repos/owncloud/core/issues/18299/comments","events_url":"https://api.github.com/repos/owncloud/core/issues/18299/events","html_url":"https://github.com/owncloud/core/issues/18299","id":100900354,"number":18299,"title":"when smb connection is dropped it break syncing for all local storage","user":{"login":"lachlan-00","id":1305249,"avatar_url":"https://avatars.githubusercontent.com/u/1305249?v=3","gravatar_id":"","url":"https://api.github.com/users/lachlan-00","html_url":"https://github.com/lachlan-00","followers_url":"https://api.github.com/users/lachlan-00/followers","following_url":"https://api.github.com/users/lachlan-00/following{/other_user}","gists_url":"https://api.github.com/users/lachlan-00/gists{/gist_id}","starred_url":"https://api.github.com/users/lachlan-00/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lachlan-00/subscriptions","organizations_url":"https://api.github.com/users/lachlan-00/orgs","repos_url":"https://api.github.com/users/lachlan-00/repos","events_url":"https://api.github.com/users/lachlan-00/events{/privacy}","received_events_url":"https://api.github.com/users/lachlan-00/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-08-14T00:23:16Z","updated_at":"2015-08-14T11:57:25Z","closed_at":null,"body":"I turned off a file server for maintenance and have noticed that if your file connection is lost it will break syncing for all storage. I have my owncloud data folder, a local folder and an smb connection connected to my owncloud.\r\n\r\nI also got this error in admin:\r\nYour web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken.\r\n\r\n```\r\nException: {\"Message\":\"\",\"Code\":0,\"Trace\":\"\r\n#0 \\/opt\\/owncloud\\/apps\\/files_external\\/3rdparty\\/icewind\\/smb\\/src\\/Connection.php(37): Icewind\\\\SMB\\\\Connection->checkConnectionError('Connection to f...')\\n\r\n#1 \\/opt\\/owncloud\\/apps\\/files_external\\/3rdparty\\/icewind\\/smb\\/src\\/Share.php(346): Icewind\\\\SMB\\\\Connection->read()\\n\r\n#2 \\/opt\\/owncloud\\/apps\\/files_external\\/3rdparty\\/icewind\\/smb\\/src\\/Share.php(122): Icewind\\\\SMB\\\\Share->execute('allinfo \\\"\\\"')\\n\r\n#3 \\/opt\\/owncloud\\/apps\\/files_external\\/lib\\/smb.php(102): Icewind\\\\SMB\\\\Share->stat('\\/')\\n\r\n#4 \\/opt\\/owncloud\\/apps\\/files_external\\/lib\\/smb.php(272): OC\\\\Files\\\\Storage\\\\SMB->getFileInfo('')\\n\r\n#5 \\/opt\\/owncloud\\/lib\\/private\\/files\\/storage\\/common.php(90): OC\\\\Files\\\\Storage\\\\SMB->filetype('')\\n\r\n#6 \\/opt\\/owncloud\\/lib\\/private\\/files\\/storage\\/wrapper\\/wrapper.php(98): OC\\\\Files\\\\Storage\\\\Common->is_dir('')\\n\r\n#7 \\/opt\\/owncloud\\/lib\\/private\\/files\\/storage\\/wrapper\\/wrapper.php(98): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->is_dir('')\\n\r\n#8 \\/opt\\/owncloud\\/lib\\/private\\/files\\/cache\\/watcher.php(90): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->is_dir('')\\n\r\n#9 \\/opt\\/owncloud\\/lib\\/private\\/files\\/view.php(1182): OC\\\\Files\\\\Cache\\\\Watcher->checkUpdate('', Array)\\n\r\n#10 \\/opt\\/owncloud\\/lib\\/private\\/connector\\/sabre\\/objecttree.php(148): OC\\\\Files\\\\View->getFileInfo('Video')\\n\r\n#11 \\/opt\\/owncloud\\/lib\\/private\\/connector\\/sabre\\/custompropertiesbackend.php(101): OC\\\\Connector\\\\Sabre\\\\ObjectTree->getNodeForPath('Video')\\n\r\n#12 \\/opt\\/owncloud\\/3rdparty\\/sabre\\/dav\\/lib\\/DAV\\/PropertyStorage\\/Plugin.php(86): OC\\\\Connector\\\\Sabre\\\\CustomPropertiesBackend->propFind('Video', Object(Sabre\\\\DAV\\\\PropFind))\\n\r\n#13 [internal function]: Sabre\\\\DAV\\\\PropertyStorage\\\\Plugin->propFind(Object(Sabre\\\\DAV\\\\PropFind), Object(OC\\\\Connector\\\\Sabre\\\\Directory))\\n\r\n#14 \\/opt\\/owncloud\\/3rdparty\\/sabre\\/event\\/lib\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n\r\n#15 \\/opt\\/owncloud\\/3rdparty\\/sabre\\/dav\\/lib\\/DAV\\/Server.php(1016): Sabre\\\\Event\\\\EventEmitter->emit('propFind', Array)\\n\r\n#16 \\/opt\\/owncloud\\/3rdparty\\/sabre\\/dav\\/lib\\/DAV\\/Server.php(936): Sabre\\\\DAV\\\\Server->getPropertiesByNode(Object(Sabre\\\\DAV\\\\PropFind), Object(OC\\\\Connector\\\\Sabre\\\\Directory))\\n\r\n#17 \\/opt\\/owncloud\\/3rdparty\\/sabre\\/dav\\/lib\\/DAV\\/CorePlugin.php(327): Sabre\\\\DAV\\\\Server->getPropertiesForPath('', Array, 1)\\n\r\n#18 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpPropfind(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n\r\n#19 \\/opt\\/owncloud\\/3rdparty\\/sabre\\/event\\/lib\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n\r\n#20 \\/opt\\/owncloud\\/3rdparty\\/sabre\\/dav\\/lib\\/DAV\\/Server.php(469): Sabre\\\\Event\\\\EventEmitter->emit('method:PROPFIND', Array)\\n\r\n#21 \\/opt\\/owncloud\\/3rdparty\\/sabre\\/dav\\/lib\\/DAV\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#22 \\/opt\\/owncloud\\/apps\\/files\\/appinfo\\/remote.php(83): Sabre\\\\DAV\\\\Server->exec()\\n#23 \\/opt\\/owncloud\\/remote.php(132): require_once('\\/opt\\/owncloud\\/a...')\\n#24 {main}\",\"File\":\"\\/opt\\/owncloud\\/apps\\/files_external\\/3rdparty\\/icewind\\/smb\\/src\\/Connection.php\",\"Line\":65} \r\n```"},"comment":{"url":"https://api.github.com/repos/owncloud/core/issues/comments/131086266","html_url":"https://github.com/owncloud/core/issues/18299#issuecomment-131086266","issue_url":"https://api.github.com/repos/owncloud/core/issues/18299","id":131086266,"user":{"login":"Xenopathic","id":2016878,"avatar_url":"https://avatars.githubusercontent.com/u/2016878?v=3","gravatar_id":"","url":"https://api.github.com/users/Xenopathic","html_url":"https://github.com/Xenopathic","followers_url":"https://api.github.com/users/Xenopathic/followers","following_url":"https://api.github.com/users/Xenopathic/following{/other_user}","gists_url":"https://api.github.com/users/Xenopathic/gists{/gist_id}","starred_url":"https://api.github.com/users/Xenopathic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Xenopathic/subscriptions","organizations_url":"https://api.github.com/users/Xenopathic/orgs","repos_url":"https://api.github.com/users/Xenopathic/repos","events_url":"https://api.github.com/users/Xenopathic/events{/privacy}","received_events_url":"https://api.github.com/users/Xenopathic/received_events","type":"User","site_admin":false},"created_at":"2015-08-14T11:57:25Z","updated_at":"2015-08-14T11:57:25Z","body":"@PVince81 The SMB library used by the backend is correct in throwing its own exceptions, but we need a translation layer (like convertException() in the DAV backend) that will convert the library exceptions to ones ownCloud can use, like StorageNotAvailableException. This doesn't just affect the SMB backend, but all storage backends."}}