nextcloud / nextcloud/android

OOM in `ReadFolderRemoteOperation`/ `fetchAndSyncRemoteFolder`

Open
#9,903 6 comments 0 reactions 0 assignees View on GitHub
bug feature: files hotspot: larger folder handling performance: OOM :brain: stable-3.19 stable-3.31
Dominant language
Kotlin
Stars
5.6k
Forks
2k
Avg merge
2d 18h
Merged PRs (30d)
92

Description

### Steps to reproduce
1. Select files in one folder
2. Cut and paste them into a second folder
3. Profit?

### Expected behaviour

Expected nextcloud to move the files.

### Actual behaviour

************ CAUSE OF ERROR ************
```java
java.lang.OutOfMemoryError: Failed to allocate a 24 byte allocation with 2074992 free bytes and 2026KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.
at org.apache.harmony.xml.dom.ElementImpl.(ElementImpl.java:51)
at org.apache.harmony.xml.dom.DocumentImpl.createElementNS(DocumentImpl.java:347)
at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:272)
at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:296)
at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:296)
at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:296)
at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:296)
at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:128)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:107)
at org.apache.jackrabbit.webdav.xml.DomUtil.parseDocument(DomUtil.java:104)
at org.apache.jackrabbit.webdav.client.methods.DavMethodBase.getResponseBodyAsDocument(DavMethodBase.java:113)
at org.apache.jackrabbit.webdav.client.methods.DavMethodBase.getRootElement(DavMethodBase.java:137)
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.run(RemoteOperation.java:363)
at java.lang.Thread.run(Thread.java:920)
```
************ APP INFORMATION ************
ID: com.nextcloud.client
Version: 30190090
Build flavor: generic

************ DEVICE INFORMATION ************
Brand: google
Device: sunfish
Model: Pixel 4a
Id: SQ1A.220205.002
Product: sunfish

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

### Can you reproduce this problem on https://try.nextcloud.com?
- Please create a test demo account and see if this still happens there.
- If yes, please open up a bug report
- If not, please verify server setup and ask for help on forum

### Environment data
Android version:

Device model:

Stock or customized system:

Nextcloud app version:

Nextcloud server version:

Reverse proxy:

### Logs
#### Web server error log
```
Insert your webserver log here
```

#### Nextcloud log (data/nextcloud.log)
```
Insert your Nextcloud log here
```
**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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.