nextcloud / nextcloud/android

Сбой при открытии большой папки через мобильное приложение Nextcloud

Open
#16,839 1 comment 0 reactions 0 assignees View on GitHub
0. Needs triage bug hotspot: larger folder handling performance: OOM :brain:
Dominant language
Kotlin
Stars
5.6k
Forks
2k
Avg merge
2d 18h
Merged PRs (30d)
92

Description

### ⚠️ Before posting ⚠️

- [x] This is a **bug**, not a question or an enhancement.
- [x] I've [searched for similar issues](https://github.com/nextcloud/android/issues) and didn't find a duplicate.
- [x] I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
- [x] I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/).

### Steps to reproduce

Исправить это проблему

### Expected behaviour

Нормально без багов открывать большие папки

### Actual behaviour

### Cause of error
```java
Exception in thread "Thread-44" java.lang.OutOfMemoryError: Failed to allocate a 16 byte allocation with 2885016 free bytes and 2817KB until OOM, target footprint 536870912, growth limit 536870912; giving up on allocation because <1% of heap free after GC.
at org.apache.jackrabbit.webdav.xml.Namespace.getNamespace(Namespace.java:50)
at org.apache.jackrabbit.webdav.xml.Namespace.getNamespace(Namespace.java:54)
at org.apache.jackrabbit.webdav.xml.Namespace.isSame(Namespace.java:77)
at org.apache.jackrabbit.webdav.xml.DomUtil.matchingNamespace(DomUtil.java:469)
at org.apache.jackrabbit.webdav.xml.DomUtil.matches(DomUtil.java:437)
at org.apache.jackrabbit.webdav.xml.ElementIterator.matchesName(ElementIterator.java:167)
at org.apache.jackrabbit.webdav.xml.ElementIterator.seek(ElementIterator.java:146)
at org.apache.jackrabbit.webdav.xml.ElementIterator.nextElement(ElementIterator.java:122)
at org.apache.jackrabbit.webdav.MultiStatusResponse.createFromXml(MultiStatusResponse.java:448)
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:192)
at com.owncloud.android.lib.resources.files.ReadFolderRemoteOperation.run(ReadFolderRemoteOperation.java:62)
at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:193)
at com.owncloud.android.operations.RefreshFolderOperation.fetchAndSyncRemoteFolder(RefreshFolderOperation.java:460)
at com.owncloud.android.operations.RefreshFolderOperation.run(RefreshFolderOperation.java:275)
at com.owncloud.android.lib.common.operations.RemoteOperation.run(RemoteOperation.java:387)
at java.lang.Thread.run(Thread.java:1564)

```

### App information
* ID: `com.nextcloud.client`
* Version: `330000190`
* Build flavor: `gplay`

### Device information
* Brand: `Nothing`
* Device: `Spacewar`
* Model: `A063`
* Id: `AQ3A.240929.001`
* Product: `Spacewar`

### Firmware
* SDK: `35`
* Release: `15`
* Incremental: `2504092129`

### Android version

15

### Device brand and model

Nothing phone 1

### Stock or custom OS?

Stock

### Nextcloud android app version

330000190

### Nextcloud server version

Nextcloud Hub 25 Autumn (32.0.3)

### Using a reverse proxy?

I don't know

### Android logs

### Cause of error
```java
Exception in thread "Thread-44" java.lang.OutOfMemoryError: Failed to allocate a 16 byte allocation with 2885016 free bytes and 2817KB until OOM, target footprint 536870912, growth limit 536870912; giving up on allocation because <1% of heap free after GC.
at org.apache.jackrabbit.webdav.xml.Namespace.getNamespace(Namespace.java:50)
at org.apache.jackrabbit.webdav.xml.Namespace.getNamespace(Namespace.java:54)
at org.apache.jackrabbit.webdav.xml.Namespace.isSame(Namespace.java:77)
at org.apache.jackrabbit.webdav.xml.DomUtil.matchingNamespace(DomUtil.java:469)
at org.apache.jackrabbit.webdav.xml.DomUtil.matches(DomUtil.java:437)
at org.apache.jackrabbit.webdav.xml.ElementIterator.matchesName(ElementIterator.java:167)
at org.apache.jackrabbit.webdav.xml.ElementIterator.seek(ElementIterator.java:146)
at org.apache.jackrabbit.webdav.xml.ElementIterator.nextElement(ElementIterator.java:122)
at org.apache.jackrabbit.webdav.MultiStatusResponse.createFromXml(MultiStatusResponse.java:448)
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:192)
at com.owncloud.android.lib.resources.files.ReadFolderRemoteOperation.run(ReadFolderRemoteOperation.java:62)
at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:193)
at com.owncloud.android.operations.RefreshFolderOperation.fetchAndSyncRemoteFolder(RefreshFolderOperation.java:460)
at com.owncloud.android.operations.RefreshFolderOperation.run(RefreshFolderOperation.java:275)
at com.owncloud.android.lib.common.operations.RemoteOperation.run(RemoteOperation.java:387)
at java.lang.Thread.run(Thread.java:1564)

```

### App information
* ID: `com.nextcloud.client`
* Version: `330000190`
* Build flavor: `gplay`

### Device information
* Brand: `Nothing`
* Device: `Spacewar`
* Model: `A063`
* Id: `AQ3A.240929.001`
* Product: `Spacewar`

### Firmware
* SDK: `35`
* Release: `15`
* Incremental: `2504092129`

### Server error logs

```bash

```

### Additional information

_No response_

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.