{"action":"created","issue":{"url":"https://api.github.com/repos/owncloud/client/issues/4195","labels_url":"https://api.github.com/repos/owncloud/client/issues/4195/labels{/name}","comments_url":"https://api.github.com/repos/owncloud/client/issues/4195/comments","events_url":"https://api.github.com/repos/owncloud/client/issues/4195/events","html_url":"https://github.com/owncloud/client/issues/4195","id":118714671,"number":4195,"title":"Infinity PROPFIND loop due to wrong ETag","user":{"login":"labkode","id":5175912,"avatar_url":"https://avatars.githubusercontent.com/u/5175912?v=3","gravatar_id":"","url":"https://api.github.com/users/labkode","html_url":"https://github.com/labkode","followers_url":"https://api.github.com/users/labkode/followers","following_url":"https://api.github.com/users/labkode/following{/other_user}","gists_url":"https://api.github.com/users/labkode/gists{/gist_id}","starred_url":"https://api.github.com/users/labkode/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/labkode/subscriptions","organizations_url":"https://api.github.com/users/labkode/orgs","repos_url":"https://api.github.com/users/labkode/repos","events_url":"https://api.github.com/users/labkode/events{/privacy}","received_events_url":"https://api.github.com/users/labkode/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/owncloud/client/labels/Needs%20info","name":"Needs info","color":"207de5"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-11-24T22:12:16Z","updated_at":"2015-11-26T12:45:02Z","closed_at":"2015-11-26T12:45:02Z","body":"Version: `owncloudcmd version 2.0.2 (build 2818)`\r\n\r\nIn the line\r\n```\r\nvoid OCC::SyncEngine::slotRootEtagReceived(QString) \"4a7d7fa2-3254-40f5-bc46-fcb9a70200dc15e35861-0d4b-4079-95bc-7b198a293f004a7d7fa2-3254-40f5-bc46-fcb9a70200dc\"\r\n````\r\n\r\nthe clients reports a duplicated ETag string.\r\n\r\nThe server response is correct:\r\n\r\n```\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<d:multistatus xmlns:d=\"DAV:\" xmlns:oc=\"http://owncloud.org/ns\" xmlns:s=\"http://sabredav.org/ns\">\r\n   <d:response>\r\n      <d:href>/remote.php/webdav/local/users/d/demo/</d:href>\r\n      <d:propstat>\r\n         <d:prop>\r\n            <d:resourcetype>\r\n               <d:collection />\r\n            </d:resourcetype>\r\n            <d:getcontentlength>4096</d:getcontentlength>\r\n            <d:getlastmodified>Tue, 24 Nov 2015 22:00:56 UTC</d:getlastmodified>\r\n            <d:getetag>4a7d7fa2-3254-40f5-bc46-fcb9a70200dc</d:getetag>\r\n            <d:getcontenttype>inode/container</d:getcontenttype>\r\n            <d:quota-used-bytes>0</d:quota-used-bytes>\r\n            <d:quota-available-bytes>1000000000</d:quota-available-bytes>\r\n            <oc:id>abe19703-4f25-4890-b19c-6db5a0354859</oc:id>\r\n            <oc:dDC />\r\n            <oc:downloadURL />\r\n            <oc:permissions>RDNVCK</oc:permissions>\r\n         </d:prop>\r\n         <d:status>HTTP/1.1 200 OK</d:status>\r\n      </d:propstat>\r\n   </d:response>\r\n   <d:response>\r\n      <d:href>/remote.php/webdav/local/users/d/demo/1/</d:href>\r\n      <d:propstat>\r\n         <d:prop>\r\n            <d:resourcetype>\r\n               <d:collection />\r\n            </d:resourcetype>\r\n            <d:getcontentlength>4096</d:getcontentlength>\r\n            <d:getlastmodified>Tue, 24 Nov 2015 22:00:10 UTC</d:getlastmodified>\r\n            <d:getetag>15e35861-0d4b-4079-95bc-7b198a293f00</d:getetag>\r\n            <d:getcontenttype>inode/container</d:getcontenttype>\r\n            <d:quota-used-bytes>0</d:quota-used-bytes>\r\n            <d:quota-available-bytes>1000000000</d:quota-available-bytes>\r\n            <oc:id>32beb68a-2772-4c92-b20f-aa54abe6c332</oc:id>\r\n            <oc:dDC />\r\n            <oc:downloadURL />\r\n            <oc:permissions>RDNVCK</oc:permissions>\r\n         </d:prop>\r\n         <d:status>HTTP/1.1 200 OK</d:status>\r\n      </d:propstat>\r\n   </d:response>\r\n   <d:response>\r\n      <d:href>/remote.php/webdav/local/users/d/demo/trastos/</d:href>\r\n      <d:propstat>\r\n         <d:prop>\r\n            <d:resourcetype>\r\n               <d:collection />\r\n            </d:resourcetype>\r\n            <d:getcontentlength>4096</d:getcontentlength>\r\n            <d:getlastmodified>Tue, 24 Nov 2015 22:00:56 UTC</d:getlastmodified>\r\n            <d:getetag>4a7d7fa2-3254-40f5-bc46-fcb9a70200dc</d:getetag>\r\n            <d:getcontenttype>inode/container</d:getcontenttype>\r\n            <d:quota-used-bytes>0</d:quota-used-bytes>\r\n            <d:quota-available-bytes>1000000000</d:quota-available-bytes>\r\n            <oc:id>422d8780-993b-4dc3-bf8d-f876c19fc2d7</oc:id>\r\n            <oc:dDC />\r\n            <oc:downloadURL />\r\n            <oc:permissions>RDNVCK</oc:permissions>\r\n         </d:prop>\r\n         <d:status>HTTP/1.1 200 OK</d:status>\r\n      </d:propstat>\r\n   </d:response>\r\n</d:multistatus>\r\n```\r\n\r\nHere is the log after running an owncloudcmd sync\r\n```\r\nsqlite3 version \"3.8.8.1\"\r\nsqlite3 journal_mode= \"wal\"\r\nvoid OCC::SyncJournalDb::commitInternal(const QString &, bool) Transaction commit  \"checkConnect\" and starting new transaction\r\nColumns in the current journal:  (\"phash\", \"pathlen\", \"path\", \"inode\", \"uid\", \"gid\", \"mode\", \"modtime\", \"type\", \"md5\", \"fileid\", \"remotePerm\", \"filesize\", \"ignoredChildrenRemote\")\r\nvoid OCC::SyncJournalDb::commitInternal(const QString &, bool) Transaction commit  \"update database structure: add inode index\" and starting new transaction\r\nvoid OCC::SyncJournalDb::commitInternal(const QString &, bool) Transaction commit  \"update database structure: add pathlen index\" and starting new transaction\r\nColumns in the current journal:  (\"path\", \"lastTryEtag\", \"lastTryModtime\", \"retrycount\", \"errorstring\", \"lastTryTime\", \"ignoreDuration\")\r\nvoid OCC::SyncJournalDb::commitInternal(const QString &, bool) Transaction commit  \"checkConnect End\"\r\n=====sync with existing DB\r\n=====Using Qt 5.4.0\r\n=====Using SSL library version OpenSSL 1.0.2d 9 Jul 2015\r\n====NOT Using Selective Sync\r\n===== Activating recursive PROPFIND (currently 13 file records)\r\n#### Discovery start #################################################### >>\r\nvoid OCC::SyncEngine::startSync() \"local/users/d/demo/\" \"/remote.php/webdav/local/users/d/demo/\"\r\nstatic csync_vio_handle_t *OCC::DiscoveryJob::remote_vio_opendir_hook(const char *, void *) OCC::DiscoveryJob(0x7fa898e07a10)  Calling into main thread...\r\n!!! OCC::LsColJob created for \"http://192.168.99.100/\" + \"local/users/d/demo\"\r\nvoid QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError) QAbstractSocket::ConnectionRefusedError QTcpSocket(0x7fa898e17cf0) QObject(0x0)  0 false 3 1 QAbstractSocket::UnconnectedState\r\nvoid QHttpNetworkConnectionChannel::close() QTcpSocket(0x7fa898e17cf0) 1 QObject(0x0)\r\nvoid QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError) QAbstractSocket::RemoteHostClosedError QTcpSocket(0x7fa898cceae0) QHttpNetworkReply(0x7fa898e18b70) 0 false 3 8 QAbstractSocket::ConnectedState\r\nvoid QHttpNetworkConnectionChannel::_q_disconnected() 0 QTcpSocket(0x7fa898cceae0) QHttpNetworkReply(0x7fa898e18b70) 0 false 3 8\r\nPermissions for root dir: \"RDNVCK\"\r\nvoid OCC::SyncEngine::slotRootEtagReceived(QString) \"4a7d7fa2-3254-40f5-bc46-fcb9a70200dc15e35861-0d4b-4079-95bc-7b198a293f004a7d7fa2-3254-40f5-bc46-fcb9a70200dc\"\r\nvoid OCC::DiscoveryMainThread::singleDirectoryJobResultSlot(const QList<OCC::FileStatPointer> &) Have 2 results for  \"local/users/d/demo\"\r\nstatic csync_vio_handle_t *OCC::DiscoveryJob::remote_vio_opendir_hook(const char *, void *) OCC::DiscoveryJob(0x7fa898e07a10)  ...Returned from main thread\r\nstatic void OCC::DiscoveryJob::remote_vio_closedir_hook(csync_vio_handle_t *, void *) OCC::DiscoveryJob(0x7fa898e07a10) \"local/users/d/demo\"\r\n<<#### Discovery end ####################################################  56\r\n<<#### Reconcile end ####################################################  57\r\nPermissions of the root folder:  \"RDNVCK\"\r\nvoid OCC::SyncJournalDb::commitInternal(const QString &, bool) Transaction commit  \"post treewalk\" and starting new transaction\r\nvoid OCC::SyncJournalDb::commitInternal(const QString &, bool) Transaction commit  \"post stale entry removal\" and starting new transaction\r\nUsing QNAM/HTTP parallel code path\r\n<<#### Post-Reconcile end ####################################################  57\r\nvoid OCC::SyncEngine::slotItemCompleted(const OCC::SyncFileItem &, const OCC::PropagatorJob &) \"\" INSTRUCTION_NONE 0 \"\"\r\nvoid OCC::SyncJournalDb::walCheckpoint() took 0 msec\r\nvoid OCC::SyncJournalDb::commitInternal(const QString &, bool) Transaction commit  \"All Finished.\"\r\nCSync run took  57\r\nvirtual OCC::BandwidthManager::~BandwidthManager()\r\nvoid OCC::SyncJournalDb::close() \"/Users/labkode/ownCloud/.csync_journal.db\"\r\nNo database Transaction to commit\r\nAccount \"demo@192.168.99.100:57004\" deleted\r\n/Applications/owncloud.app/Contents/MacOS/owncloudcmd --httpproxy  -s -u demo  0.07s user 0.02s system 60% cpu 0.142 total\r\n```"},"comment":{"url":"https://api.github.com/repos/owncloud/client/issues/comments/159903308","html_url":"https://github.com/owncloud/client/issues/4195#issuecomment-159903308","issue_url":"https://api.github.com/repos/owncloud/client/issues/4195","id":159903308,"user":{"login":"guruz","id":959327,"avatar_url":"https://avatars.githubusercontent.com/u/959327?v=3","gravatar_id":"","url":"https://api.github.com/users/guruz","html_url":"https://github.com/guruz","followers_url":"https://api.github.com/users/guruz/followers","following_url":"https://api.github.com/users/guruz/following{/other_user}","gists_url":"https://api.github.com/users/guruz/gists{/gist_id}","starred_url":"https://api.github.com/users/guruz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guruz/subscriptions","organizations_url":"https://api.github.com/users/guruz/orgs","repos_url":"https://api.github.com/users/guruz/repos","events_url":"https://api.github.com/users/guruz/events{/privacy}","received_events_url":"https://api.github.com/users/guruz/received_events","type":"User","site_admin":false},"created_at":"2015-11-26T12:45:02Z","updated_at":"2015-11-26T12:45:02Z","body":"k :)"}}