nextcloud / android

📱 Nextcloud Android app
https://play.google.com/store/apps/details?id=com.nextcloud.client
GNU General Public License v2.0
4.08k stars 1.74k forks source link

Out of memory crash every couple of days #10286

Open stuartm opened 2 years ago

stuartm commented 2 years ago

Steps to reproduce

  1. Run app
  2. Wait a couple of days
  3. Crash

Expected behaviour

Not crash

Actual behaviour

Crashes

Logs

App log

Insert your 
************ CAUSE OF ERROR ************

java.lang.OutOfMemoryError: Failed to allocate a 128 byte allocation with 351328 free bytes and 343KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.
    at java.util.Arrays.copyOfRange(Arrays.java:3589)
    at java.lang.StringBuffer.toString(StringBuffer.java:669)
    at org.apache.jackrabbit.webdav.xml.DomUtil.getText(DomUtil.java:171)
    at org.apache.jackrabbit.webdav.xml.DomUtil.getTextTrim(DomUtil.java:195)
    at org.apache.jackrabbit.webdav.xml.DomUtil.getChildTextTrim(DomUtil.java:229)
    at org.apache.jackrabbit.webdav.MultiStatusResponse.createFromXml(MultiStatusResponse.java:432)
    at org.apache.jackrabbit.webdav.MultiStatus.createFromXml(MultiStatus.java:185)
    at org.apache.jackrabbit.webdav.client.methods.DavMethodBase.processResponseBody(DavMethodBase.java:282)
    at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1749)
    at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
    at com.owncloud.android.lib.common.OwnCloudClient.executeMethod(OwnCloudClient.java:205)
    at com.owncloud.android.lib.resources.files.ReadFolderRemoteOperation.run(ReadFolderRemoteOperation.java:80)
    at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:187)
    at com.owncloud.android.operations.RefreshFolderOperation.fetchAndSyncRemoteFolder(RefreshFolderOperation.java:405)
    at com.owncloud.android.operations.RefreshFolderOperation.run(RefreshFolderOperation.java:239)
    at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:187)
    at com.owncloud.android.syncadapter.FileSyncAdapter.synchronizeFolder(FileSyncAdapter.java:271)
    at com.owncloud.android.syncadapter.FileSyncAdapter.syncChildren(FileSyncAdapter.java:346)
    at com.owncloud.android.syncadapter.FileSyncAdapter.synchronizeFolder(FileSyncAdapter.java:290)
    at com.owncloud.android.syncadapter.FileSyncAdapter.onPerformSync(FileSyncAdapter.java:184)
    at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:334)

************ APP INFORMATION ************
ID: com.nextcloud.client
Version: 30190190
Build flavor: gplay

************ DEVICE INFORMATION ************
Brand: samsung
Device: beyond1
Model: SM-G973F
Id: SP1A.210812.016
Product: beyond1lteeea

************ FIRMWARE ************
SDK: 31
Release: 12
Incremental: G973FXXUFHVE1

NOTE: Be super sure to remove sensitive data like passwords, note that everybody can look here! You can use the Issue Template application to prefill some of the required information: https://apps.nextcloud.com/apps/issuetemplate

inginator commented 1 year ago

Experiencing this on a Pixel 5 running GrapheneOS. Happens multiple times per day for me.

Cause of error

Exception in thread "Thread-3" java.lang.OutOfMemoryError: Failed to allocate a 32 byte allocation with 342976 free bytes and 334KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.
    at java.util.Vector.<init>(Vector.java:135)
    at java.util.Vector.<init>(Vector.java:148)
    at sun.security.util.DerInputStream.readVector(DerInputStream.java:464)
    at sun.security.util.DerInputStream.readVector(DerInputStream.java:411)
    at sun.security.util.DerInputStream.getSet(DerInputStream.java:368)
    at sun.security.x509.RDN.<init>(RDN.java:242)
    at sun.security.x509.X500Name.parseDER(X500Name.java:803)
    at sun.security.x509.X500Name.<init>(X500Name.java:317)
    at javax.security.auth.x500.X500Principal.<init>(X500Principal.java:226)
    at com.android.org.conscrypt.OpenSSLX509Certificate.getSubjectX500Principal(OpenSSLX509Certificate.java:502)
    at okhttp3.internal.tls.BasicTrustRootIndex.<init>(BasicTrustRootIndex.kt:28)
    at okhttp3.internal.platform.Platform.buildTrustRootIndex(Platform.kt:163)
    at okhttp3.internal.platform.Platform.buildCertificateChainCleaner(Platform.kt:160)
    at okhttp3.internal.platform.Android10Platform.buildCertificateChainCleaner(Android10Platform.kt:82)
    at okhttp3.internal.tls.CertificateChainCleaner$Companion.get(CertificateChainCleaner.kt:42)
    at okhttp3.OkHttpClient$Builder.sslSocketFactory(OkHttpClient.kt:870)
    at com.nextcloud.common.PlainClient$Companion.createDefaultClient(PlainClient.kt:62)
    at com.nextcloud.common.PlainClient$Companion.access$createDefaultClient(PlainClient.kt:47)
    at com.nextcloud.common.PlainClient.<init>(PlainClient.kt:45)
    at com.nextcloud.client.network.ClientFactoryImpl.createPlainClient(ClientFactoryImpl.java:94)
    at com.nextcloud.client.network.ConnectivityServiceImpl.isInternetWalled(ConnectivityServiceImpl.java:79)
    at com.owncloud.android.files.services.FileUploader.retryFailedUploads(FileUploader.java:1093)
    at com.owncloud.android.utils.FilesSyncHelper.lambda$restartJobsIfNeeded$0(FilesSyncHelper.java:240)
    at com.owncloud.android.utils.FilesSyncHelper$$ExternalSyntheticLambda0.run(Unknown Source:10)
    at java.lang.Thread.run(Thread.java:1012)

App information

Device information

Firmware

joshtrichards commented 2 weeks ago

@inginator Your situation looks unrelated to this issue. It looks like #10682