wix / wix/react-native-navigation

Android IndexOutOfBoundsException Crash

Open
#7,570 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs triage triage: bug
Dominant language
MDX
Stars
13.2k
Forks
2.6k
Avg merge
6d 2h
Merged PRs (30d)
1

Description

🐛 Bug Report

After updating to v7.28.0 and React Native 0.68.2 we started seeing Android java.lang.IndexOutOfBoundsException: crashes in prod.

Have you read the Contributing Guidelines on issues?

Yes

To Reproduce

I am not entirely sure how to reproduce it, but looking at the breadcrumb we have, it crashes as soon as a users navigates to new a screen. It's random on what screen it is, and is not always the same screen.

Expected behavior

The app doesn't crash

Actual Behavior

java.lang.IndexOutOfBoundsException: Index: 7, Size: 7
        at java.util.ArrayList.get(ArrayList.java:437)
        at android.view.ViewTreeObserver$CopyOnWriteArray$Access.get(ViewTreeObserver.java:1291)
        at android.view.ViewTreeObserver.dispatchOnGlobalLayout(ViewTreeObserver.java:1080)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4093)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2919)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10491)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1108)
        at android.view.Choreographer.doCallbacks(Choreographer.java:866)
        at android.view.Choreographer.doFrame(Choreographer.java:797)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1092)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8669)
        at java.lang.reflect.Method.invoke(Method.java:-2)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

The index and size change between crash to crash, but are always equal to each other.
7, 10, 13, 18, 19, 21, 59...

Your Environment

  • React Native Navigation version: 7.28.0
  • React Native version: 0.68.2
  • Platform(s) (iOS, Android, or both?): Android, OS 8 - 13
  • Device info (Simulator/Device? OS version? Debug/Release?): Production release, all sorts of pyshical devices

Reproducible Demo

N/A

Are you willing to resolve this issue by submitting a Pull Request?
  • ✖️   Yes, I have the time, and I know how to start.
  • ✅   Yes, I have the time, but I don't know how to start. I would need guidance.
  • ✖️   No, I don’t have the time and I’m okay to wait for the community / maintainers to resolve this issue.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The report names no repository file, test, or reproducible demo. Start by investigating the Android navigation path for React Native Navigation 7.28.0 with React Native 0.68.2, using the ViewTreeObserver stack trace as the initial symptom; done means reproducing the crash or adding a regression test and confirming navigation no longer crashes.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, react-native
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.