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

App crashes on move file operation [OOM] #11628

Closed priyankub closed 2 weeks ago

priyankub commented 1 year ago

⚠️ Before posting ⚠️

Steps to reproduce

Move a lot of file from one folder to another using the Android app

Expected behaviour

Works fine

Actual behaviour

App crashes

Android version

13

Device brand and model

Pixel 7 Pro

Stock or custom OS?

Stock

Nextcloud android app version

30240290

Nextcloud server version

13

Using a reverse proxy?

Yes

Android logs

Cause of error

Exception in thread "Thread-115" java.lang.OutOfMemoryError: Failed to allocate a 32 byte allocation with 464608 free bytes and 453KB until OOM, target footprint 536870912, growth limit 536870912; giving up on allocation because <1% of heap free after GC.
    at java.util.ArrayList.iterator(ArrayList.java:834)
    at org.apache.harmony.xml.dom.InnerNodeImpl.getChildNodes(InnerNodeImpl.java:58)
    at org.apache.jackrabbit.webdav.xml.ElementIterator.seek(ElementIterator.java:130)
    at org.apache.jackrabbit.webdav.xml.ElementIterator.<init>(ElementIterator.java:56)
    at org.apache.jackrabbit.webdav.xml.ElementIterator.<init>(ElementIterator.java:82)
    at org.apache.jackrabbit.webdav.xml.DomUtil.getChildren(DomUtil.java:345)
    at org.apache.jackrabbit.webdav.MultiStatusResponse.createFromXml(MultiStatusResponse.java:453)
    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:195)
    at com.owncloud.android.lib.resources.files.ReadFolderRemoteOperation.run(ReadFolderRemoteOperation.java:80)
    at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:205)
    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.run(RemoteOperation.java:399)
    at java.lang.Thread.run(Thread.java:1012)

App information

Device information

Firmware

Server error logs

No response

Additional information

No response

joshtrichards commented 2 weeks ago

Almost a duplicate of #11627. Pretty much the same code path.

joshtrichards commented 2 weeks ago

Duolictof #11627