I have no idea If I need to transplant my bug here myself or what. But here is a copy from this bug report against the client. owncloud/android#940
I've just done a logcat with the working and broken versions. Below is a snippet when it finally "fails". An error appears for every folder that is synced with the 1.7.1 version - which does not occur in 1.7.0
failed sync message:
D/SyncManager(21209): failed sync operation [email protected]:443 u0 (owncloud), org.owncloud, USER, latestRunTime 1141928554, EXPEDITED, reason: 10375, SyncResult: tooManyRetries: true delayUntil: 86400 stats []
Possible cause:
E/ReadRemoteFolderOperation(13246): java.lang.NumberFormatException: Invalid long: "3.89279745229E+12"
D/OwnCloudClient #1(13246): REQUEST PROPFIND /owncloud/remote.php/webdav/Documents%20at%20computer/some%20files/
I/ActivityManager(21209): Start proc com.google.android.youtube for service com.google.android.youtube/.app.remote.YouTubeTvRouteProviderService: pid=14090 uid=10073 gids={50073, 3003, 1028, 1015}
W/ActivityManager(21209): Permission Denial: Accessing service ComponentInfo{com.google.android.music/com.google.android.music.dial.DialMediaRouteProviderService} from pid=7398, uid=10023 that is not exported from uid 10061
E/ReadRemoteFolderOperation(13246): Synchronized /Documents at computer/some files/: Unexpected exception
E/ReadRemoteFolderOperation(13246): java.lang.NumberFormatException: Invalid long: "3.89279745229E+12"
E/ReadRemoteFolderOperation(13246): at java.lang.Long.invalidLong(Long.java:124)
E/ReadRemoteFolderOperation(13246): at java.lang.Long.parse(Long.java:361)
E/ReadRemoteFolderOperation(13246): at java.lang.Long.parseLong(Long.java:352)
E/ReadRemoteFolderOperation(13246): at java.lang.Long.parseLong(Long.java:318)
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.lib.common.network.WebdavEntry.(WebdavEntry.java:140)
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.lib.resources.files.ReadRemoteFolderOperation.readData(ReadRemoteFolderOperation.java:143)
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.lib.resources.files.ReadRemoteFolderOperation.run(ReadRemoteFolderOperation.java:89)
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:136)
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.operations.RefreshFolderOperation.fetchAndSyncRemoteFolder(RefreshFolderOperation.java:284)
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.operations.RefreshFolderOperation.run(RefreshFolderOperation.java:202)
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:136)
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.syncadapter.FileSyncAdapter.synchronizeFolder(FileSyncAdapter.java:291)
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.syncadapter.FileSyncAdapter.fetchChildren(FileSyncAdapter.java:369)
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.syncadapter.FileSyncAdapter.synchronizeFolder(FileSyncAdapter.java:311)
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.syncadapter.FileSyncAdapter.fetchChildren(FileSyncAdapter.java:369)
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.syncadapter.FileSyncAdapter.synchronizeFolder(FileSyncAdapter.java:311)
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.syncadapter.FileSyncAdapter.onPerformSync(FileSyncAdapter.java:190)
E/ReadRemoteFolderOperation(13246): at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
D/RefreshFolderOperation(13246): Synchronizing [email protected]:443/Documents at computer/some files/
D/FileSyncAdapter(13246): Send broadcast com.owncloud.android.syncadapter.FileSyncAdapter.EVENT_FULL_SYNC_FOLDER_CONTENTS_SYNCED
D/FileDisplayActivity(13246): Received broadcast com.owncloud.android.syncadapter.FileSyncAdapter.EVENT_FULL_SYNC_FOLDER_CONTENTS_SYNCED
D/FileSyncAdapter(13246): Send broadcast com.owncloud.android.syncadapter.FileSyncAdapter.EVENT_FULL_SYNC_END
D/SyncManager(21209): failed sync operation [email protected]:443 u0 (owncloud), org.owncloud, USER, latestRunTime 1141928554, EXPEDITED, reason: 10375, SyncResult: tooManyRetries: true delayUntil: 86400 stats []
D/SyncManager(21209): not retrying sync operation because it retried too many times: [email protected]:443 u0 (owncloud), org.owncloud, USER, latestRunTime 1141931912, EXPEDITED, reason: 10375
D/dalvikvm(21209): GC_EXPLICIT freed 1310K, 24% free 51401K/66848K, paused 4ms+8ms, total 143ms
D/FileDisplayActivity(13246): Setting progress visibility to true
D/FileDisplayActivity(13246): Received broadcast com.owncloud.android.syncadapter.FileSyncAdapter.EVENT_FULL_SYNC_END
D/FileDisplayActivity(13246): Setting progress visibility to false
I'm not really an expert at java - I actually know VERY little. But here is what I think is happening.
The long variable error occurs from the function mentioned in this log line:
E/ReadRemoteFolderOperation(13246): at com.owncloud.android.lib.common.network.WebdavEntry.(WebdavEntry.java:140)
This leads me to:
https://github.com/owncloud/android-library/blob/master/src/com/owncloud/android/lib/common/network/WebdavEntry.java#L140
Which clearly indicates that this is looking at the users quotas available bytes
137 // {DAV:}quota-available-bytes
138 prop = propSet.get(DavPropertyName.create(PROPERTY_QUOTA_AVAILABLE_BYTES));
139 if (prop != null) {
140 mQuotaAvailableBytes = Long.parseLong((String) prop.getValue());
}
My server has a "Default Limit" of Unlimited. And my user account has a Quota of "Default".
All is fine and well here, right?
The value being returned at this line of code is "3.89279745229E+12", which isn't in decimal format.
The limit of a long variable in java is:
Maximum value is 9,223,372,036,854,775,807 (inclusive). (2^63 -1)
You need to learn how to handle large numbers for your quota value check.
http://stackoverflow.com/questions/2722122/java-parse-a-number-in-exponential-notation
Also, your demo server doesn't have this large storage limit. Please consider that just because the demo server works when troubleshooting, it doesn't mean the issue is with the users server.
When I set my "Default Storage" value to 100GB, the issue with 1.7.1 went away. This is a OC Android library issue.
TL;DR: They can't handle large storage sizes in their quota checks. Set a quota limit for your "Default Storage" value that just exceeds what you need. I put in 100GB.