Closed Bug 818345 Opened 7 years ago Closed 7 years ago

Crash: Swipe to close for tabs causes ArrayIndexOutOfBounds on Froyo and Gingerbread

Categories

(Firefox for Android :: Theme and Visual Design, defect, critical)

ARM
Android
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox19 --- affected
firefox20 --- affected
firefox21 --- affected
firefox22 --- affected

People

(Reporter: liuche, Assigned: wesj)

References

Details

(Keywords: crash, reproducible, Whiteboard: [native-crash])

Crash Data

Attachments

(1 file)

On Nightly 20.0a1 (2012-12-04)

Swiping to close tabs causes a crash, on an Android 2.2.2 device.

STR:
1. Open Nightly with multiple tabs.
2. View all tabs by clicking # in top right.
3. Swipe to close one of the tabs.

Expected:
Tab would be closed, can continue using Nightly.

Actual:
Nightly crashes, launches crash reporter.
Severity: normal → critical
Crash Signature: [@ java.lang.ArrayIndexOutOfBoundsException: at android.view.MotionEvent.getY(MotionEvent.java)]
Keywords: crash, reproducible
Hardware: Other → ARM
Whiteboard: [native-crash]
2.2.x only? I'm unable to reproduce on 4.1.2/4.0.4. Haven't tried 2.3.
I started seeing this constantly just recently (maybe because the [X] to close tabs was removed and swipe-to-close is the only mechanism?).

In any case, I definitely recall seeing a bug like this before (and which was fixed) relation to MotionEvent.getY, exceptions, and old Android versions, but I can't find it.
Can any of the SF devs take a look at these phones?
Wes or Sriram would be good candidates for taking a look.
I can take a look at David's phone. I have another Froyo phone, too.

The bug looks like a race condition because swipe's touch event causes an ArrayIndexOutOfBoundsException, suggesting the touch target (in the tab ListView) was removed after the touch event was queued but before it was processed.
David's phone does not give any more info than the stack traces we already have. As I noted in comment 6, I think this is a race condition related to the order in which we process swipe MotionEvents and unload the tabs ListView.
Since this is reproducible and we've got an idea of where to start looking, tracking and assigning to Mark for delegation.
Assignee: nobody → mark.finkle
Pushing to Wes
Assignee: mark.finkle → wjohnston
just had david show me his phone and this is no longer happening there. I also don't see any reports after 20.0b2 (and its very few of the crashes there). I wonder if some of our threading fixes have helped (but i see bug 844407 isn't fixed yet).

Since 19 is shipping and this is fixed in 20 it seems, is it worth chasing down?
Flags: needinfo?
Grr. My crash-stats foo is not great. There are reports of this on 21 and one on 22. Digging a little more...
Flags: needinfo?
More reports at https://crash-stats.mozilla.com/report/list?signature=java.lang.ArrayIndexOutOfBoundsException%3A+at+android.view.MotionEvent.getY%28MotionEvent.java%29
Summary: Crash: Swipe to close for tabs causes ArrayIndexOutOfBounds → Crash: Swipe to close for tabs causes ArrayIndexOutOfBounds on Froyo and Gingerbread
(In reply to Wesley Johnston (:wesj) from comment #11)
> Grr. My crash-stats foo is not great. There are reports of this on 21 and
> one on 22. Digging a little more...

Those seem to have stopped as well, and nothing new on 20 post-b2. Sounds to me like we can untrack for that release.
(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #13)
> (In reply to Wesley Johnston (:wesj) from comment #11)
> > Grr. My crash-stats foo is not great. There are reports of this on 21 and
> > one on 22. Digging a little more...
> 
> Those seem to have stopped as well, and nothing new on 20 post-b2. Sounds to
> me like we can untrack for that release.

Untracking for 21 based on this.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.