Closed Bug 766867 Opened 12 years ago Closed 12 years ago

java.lang.NullPointerException: at org.mozilla.gecko.GeckoApp$23.run(GeckoApp.java)

Categories

(Firefox for Android Graveyard :: General, defect)

15 Branch
ARM
Android
defect
Not set
critical

Tracking

(firefox15+ fixed)

RESOLVED FIXED
Firefox 16
Tracking Status
firefox15 + fixed

People

(Reporter: scoobidiver, Assigned: bnicholson)

References

Details

(Keywords: crash, regression, topcrash, Whiteboard: [native-crash])

Crash Data

Attachments

(1 file, 1 obsolete file)

There's one crash in 16.0a1/20120620: bp-b95cce3b-8a1f-4a7c-830d-808f42120620.

java.lang.NullPointerException
	at org.mozilla.gecko.GeckoApp$23.run(GeckoApp.java:1348)
	at android.os.Handler.handleCallback(Handler.java:587)
	at android.os.Handler.dispatchMessage(Handler.java:92)
	at android.os.Looper.loop(Looper.java:132)
	at org.mozilla.gecko.GeckoBackgroundThread.run(GeckoBackgroundThread.java:31)

More reports at:
https://crash-stats.mozilla.com/report/list?signature=java.lang.NullPointerException%3A+at+org.mozilla.gecko.GeckoApp%2423.run%28GeckoApp.java%29
Crash Signature: [@ java.lang.NullPointerException: at org.mozilla.gecko.GeckoApp$23.run(GeckoApp.java)] → [@ java.lang.NullPointerException: at org.mozilla.gecko.GeckoApp$23.run(GeckoApp.java) ]
There are currently 9 crashes. The regression range is:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=373e6f9264e6&tochange=c3190d715044
Keywords: regression
The Aurora regression range is:
http://hg.mozilla.org/releases/mozilla-aurora/pushloghtml?fromchange=e5f9e8f2816f&tochange=d557426b0c8d
It's likely a regression from bug 765941.
Blocks: 765941
Crash Signature: [@ java.lang.NullPointerException: at org.mozilla.gecko.GeckoApp$23.run(GeckoApp.java) ] → [@ java.lang.NullPointerException: at org.mozilla.gecko.GeckoApp$23.run(GeckoApp.java) ] [@ java.lang.NullPointerException: at org.mozilla.gecko.GeckoApp$36.run(GeckoApp.java) ]
Version: Firefox 16 → Firefox 15
Crash Signature: [@ java.lang.NullPointerException: at org.mozilla.gecko.GeckoApp$23.run(GeckoApp.java) ] [@ java.lang.NullPointerException: at org.mozilla.gecko.GeckoApp$36.run(GeckoApp.java) ] → [@ java.lang.NullPointerException: at org.mozilla.gecko.GeckoApp$23.run(GeckoApp.java) ] [@ java.lang.NullPointerException: at org.mozilla.gecko.GeckoApp$36.run(GeckoApp.java) ] [@ java.lang.NullPointerException: at org.mozilla.gecko.GeckoApp$24.run(Gec…
It's #6 top crasher in 15.a2 over the last 3 days.
tracking-fennec: --- → ?
Keywords: topcrash
Attached patch Check if oldURL is null (obsolete) — Splinter Review
tab.getURL() can return null; this NPE likely thrown when we call oldURL.equals().
Assignee: nobody → bnicholson
Attachment #636945 - Flags: review?(mbrubeck)
Comment on attachment 636945 [details] [diff] [review]
Check if oldURL is null

Hmm... if getURL returns null both times, should we run the delayed stuff or not?  Are there steps to reproduce this?

r+ because this fixes the crash and returns us to the previous behavior, but I'm curious if there's something better we should do here.
Attachment #636945 - Flags: review?(mbrubeck) → review+
(In reply to Matt Brubeck (:mbrubeck) from comment #5)
> Comment on attachment 636945 [details] [diff] [review]
> Check if oldURL is null
> 
> Hmm... if getURL returns null both times, should we run the delayed stuff or
> not?  Are there steps to reproduce this?
> 
> r+ because this fixes the crash and returns us to the previous behavior, but
> I'm curious if there's something better we should do here.

You're right - this wasn't the best approach. We shouldn't bail if oldURL is null since the new URL may be valid. In fact, even if the new URL is null, I assume it's still okay to take a screenshot, but I can't verify this. I've hit this NPE a few times today when I play around with the tabs tray (creating and removing tabs), but I don't have reliable STR.
Attachment #636945 - Attachment is obsolete: true
Attachment #636963 - Flags: review?(mbrubeck)
Bleh, sorry...got confused. We *don't* take the screenshot if they aren't equal. This patch makes it so that we *do* take the screenshot if it's null both times, which I hope is fine. I'll play around with the tabs tray to make sure I can't reproduce the crash again.
Attachment #636963 - Flags: review?(mbrubeck) → review+
https://hg.mozilla.org/mozilla-central/rev/2791940fb1ff
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 16
It's #3 top crasher in 15.0a2.
Comment on attachment 636963 [details] [diff] [review]
Use null-safe string comparison for oldURL

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 765941
User impact if declined: potential crash on redirects
Testing completed (on m-c, etc.): m-c
Risk to taking this patch (and alternatives if risky): very low risk
String or UUID changes made by this patch: none
Attachment #636963 - Flags: approval-mozilla-aurora?
Crash Signature: org.mozilla.gecko.GeckoApp$24.run(GeckoApp.java) ] → org.mozilla.gecko.GeckoApp$24.run(GeckoApp.java) ] [@ java.lang.NullPointerException: at org.mozilla.gecko.GeckoApp$25.run(GeckoApp.java) ]
Attachment #636963 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
tracking-fennec: ? → ---
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: