Ich habe eine Anwendung mit Realm für eine kleine Weile gebaut, ich halte dieses Problem jedoch.Wie zu debuggen: RealmError - Zu viele Dateien geöffnet
Ich bin derzeit mit Realm Plugin: io.realm:realm-gradle-plugin:2.3.0
Ausnahme ist:
Fatal Exception: java.lang.Error: io.realm.exceptions.RealmError: Unrecoverable error. Too many open files in /home/cc/repo/realm/realm-java-release/realm/realm-library/src/main/cpp/io_realm_internal_SharedRealm.cpp line 92
at io.realm.AndroidNotifier.throwBackgroundException(AndroidNotifier.java:138)
at io.realm.internal.async.QueryUpdateTask.run(QueryUpdateTask.java:128)
at io.realm.internal.async.BgPriorityRunnable.run(BgPriorityRunnable.java:34)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by io.realm.exceptions.RealmError: Unrecoverable error. Too many open files in /home/cc/repo/realm/realm-java-release/realm/realm-library/src/main/cpp/io_realm_internal_SharedRealm.cpp line 92
at io.realm.internal.SharedRealm.nativeGetSharedRealm(SharedRealm.java)
at io.realm.internal.SharedRealm.getInstance(SharedRealm.java:209)
at io.realm.internal.SharedRealm.getInstance(SharedRealm.java:186)
at io.realm.internal.async.QueryUpdateTask.run(QueryUpdateTask.java:80)
at io.realm.internal.async.BgPriorityRunnable.run(BgPriorityRunnable.java:34)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Ich habe abgefragt (während die App ausgeführt wurde), um die Anzahl der geöffneten Dateien adb shell ls -l /proc//fd
Beim Laufen ich sehe, Eine Datei userxxx.management/access_control.new_commit.cv
ist 182 mal geöffnet und userxxx.lock
ist 91 mal geöffnet.
Alle Hinweise oder Hinweise würden geschätzt! Cheers, Gavin
Meine Vermutung geht für unclosed Realm Instanzen und mit zufällig 'new Thread() beginnen (.),' An Orten statt irgendeiner Form des Executor – EpicPandaForce