realm-java: BadVersionException
Hey, guys. I keep getting this exception. I am using 0.87.1 version of Realm(and I use Realm as a singleton).
My situation looks like this: there is navigation button which starts a fragment, which makes an async query for objects in onStart() method. This exception rises when user spams this navigation button or just makes fast transactions between fragments.
java.lang.Error: io.realm.internal.async.BadVersionException: std::exception in io_realm_internal_TableQuery.cpp line 1262 E/AndroidRuntime: at io.realm.RealmQuery$3.call(RealmQuery.java:1491) E/AndroidRuntime: at io.realm.RealmQuery$3.call(RealmQuery.java:1467) E/AndroidRuntime: at io.realm.internal.async.BgPriorityCallable.call(BgPriorityCallable.java:36) E/AndroidRuntime: at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) E/AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:137) E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) E/AndroidRuntime: at java.lang.Thread.run(Thread.java:856) E/AndroidRuntime: Caused by: io.realm.internal.async.BadVersionException: std::exception in io_realm_internal_TableQuery.cpp line 1262 E/AndroidRuntime: at io.realm.internal.TableQuery.nativeFindAllSortedWithHandover(Native Method) E/AndroidRuntime: at io.realm.internal.TableQuery.findAllSortedWithHandover(TableQuery.java:490) E/AndroidRuntime: at io.realm.RealmQuery$3.call(RealmQuery.java:1480) E/AndroidRuntime: at io.realm.RealmQuery$3.call(RealmQuery.java:1467) E/AndroidRuntime: at io.realm.internal.async.BgPriorityCallable.call(BgPriorityCallable.java:36) E/AndroidRuntime: at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) E/AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:137) E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) E/AndroidRuntime: at java.lang.Thread.run(Thread.java:856)
By the way, sometimes my during fast transactions between fragments my app crashes with SIGSEV or just completely freezes without throwing ANR, dunno if it’s connected to the BadVersion, but just in case.
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 47 (23 by maintainers)
@ppamorim when https://github.com/realm/realm-java/pull/3834 is merged, this issue will probably be fixed along with it