jni: ThrowingException 2, Out of range in /home/cc/repo/realm/release/realm/realm-library/src/main/cpp/io_realm_internal_Collection.cpp line 417(requested: 1 valid: 1), .
See original GitHub issueI am using a RecyclerView with realm 3.3.1 . The use case is simply to store realm objects in the database and then use SparseBoolean array to delete multiple items from the RV.
When does the crash occur?
The fatal crash occurs when I select multiple items to delete from the recyclerview. This exception is produced when I selected 2 items out of 2 for deletion. The crash happens when I am using Asus T00J Zenfone 5 and HTC one M8 both running Android 5.0. Everything runs smooth when I use the app on Android 6 or 7
How am I deleting?
private void deleteSelectedItems() {
final List<Integer> items = adapter.getSelectedItems();
for (int pos : items) {
adapter.removeItem(pos);
}
}
My recyclerview :
private class RecViewAdapter extends RealmRecViewAdapter<MediaItem, RecViewAdapter.ViewHolder> {
.
.
.
.
public void removeItem(final int pos) {
Log.d("test", pos+" index");
realm.executeTransaction(realm1 -> {
getData().deleteFromRealm(pos); //getting exception at this line
notifyDataSetChanged();
});
}
Exception:
06-05 03:03:27.518 20378-20378/task.application.com.moviefinder E/REALM_JNI: Exception has been thrown: Out of range in /home/cc/repo/realm/release/realm/realm-library/src/main/cpp/io_realm_internal_Collection.cpp line 417(requested: 1 valid: 1)
06-05 03:03:27.518 20378-20378/task.application.com.moviefinder D/AndroidRuntime: Shutting down VM
06-05 03:03:27.518 20378-20378/task.application.com.moviefinder E/AndroidRuntime: FATAL EXCEPTION: main
Process: task.application.com.moviefinder, PID: 20378
java.lang.ArrayIndexOutOfBoundsException: Out of range in /home/cc/repo/realm/release/realm/realm-library/src/main/cpp/io_realm_internal_Collection.cpp line 417(requested: 1 valid: 1)
at io.realm.internal.Collection.nativeDelete(Native Method)
at io.realm.internal.Collection.delete(Collection.java:477)
at io.realm.OrderedRealmCollectionImpl.deleteFromRealm(OrderedRealmCollectionImpl.java:181)
at io.realm.RealmResults.deleteFromRealm(RealmResults.java:60)
at task.application.com.moviefinder.ui.favorites.FavoritesMediaFragment$RecViewAdapter.lambda$removeItem$2(FavoritesMediaFragment.java:261)
at task.application.com.moviefinder.ui.favorites.FavoritesMediaFragment$RecViewAdapter$$Lambda$1.execute(Unknown Source)
at io.realm.Realm.executeTransaction(Realm.java:1443)
at task.application.com.moviefinder.ui.favorites.FavoritesMediaFragment$RecViewAdapter.removeItem(FavoritesMediaFragment.java:260)
at task.application.com.moviefinder.ui.favorites.FavoritesMediaFragment.deleteSelectedItems(FavoritesMediaFragment.java:165)
at task.application.com.moviefinder.ui.favorites.FavoritesMediaFragment.access$500(FavoritesMediaFragment.java:41)
at task.application.com.moviefinder.ui.favorites.FavoritesMediaFragment$3.onActionItemClicked(FavoritesMediaFragment.java:147)
at com.android.internal.policy.impl.PhoneWindow$DecorView$ActionModeCallbackWrapper.onActionItemClicked(PhoneWindow.java:3172)
at android.support.v7.view.SupportActionModeWrapper$CallbackWrapper.onActionItemClicked(SupportActionModeWrapper.java:173)
at android.support.v7.app.AppCompatDelegateImplV9$ActionModeCallbackWrapperV9.onActionItemClicked(AppCompatDelegateImplV9.java:1801)
at android.support.v7.view.StandaloneActionMode.onMenuItemSelected(StandaloneActionMode.java:140)
at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:822)
at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:156)
at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:969)
at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:959)
at android.support.v7.widget.ActionMenuView.invokeItem(ActionMenuView.java:623)
at android.support.v7.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:154)
at android.view.View.performClick(View.java:4756)
at android.view.View$PerformClick.run(View.java:19761)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5253)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)```
Issue Analytics
- State:
- Created 6 years ago
- Comments:5 (3 by maintainers)
Top Results From Across the Web
java.lang.ArrayIndexOutOfBoundsException: Out of range
E/REALM_JNI: jni: ThrowingException 2, Out of range in ... /src/main/cpp/io_realm_internal_OsResults.cpp line 102(requested: 0 valid: 0), .
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Luck. It depends on what positions you had selected.
A possible solution would be this: