Closed Bug 731483 Opened 13 years ago Closed 13 years ago

java.lang.NullPointerException: at org.mozilla.gecko.GeckoApp.processThumbnail(GeckoApp.java:641)

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
critical

Tracking

(blocking-fennec1.0 +)

VERIFIED FIXED
Firefox 13
Tracking Status
blocking-fennec1.0 --- +

People

(Reporter: bnicholson, Assigned: bnicholson)

References

Details

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

Crash Data

Attachments

(2 files)

02-28 17:53:56.368 14165 14173 E AndroidRuntime: java.lang.NullPointerException 02-28 17:53:56.368 14165 14173 E AndroidRuntime: at org.mozilla.gecko.GeckoApp.processThumbnail(GeckoApp.java:641) 02-28 17:53:56.368 14165 14173 E AndroidRuntime: at org.mozilla.gecko.GeckoAppShell$3.run(GeckoAppShell.java:462) 02-28 17:53:56.368 14165 14173 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:587) 02-28 17:53:56.368 14165 14173 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:92) 02-28 17:53:56.368 14165 14173 E AndroidRuntime: at android.os.Looper.loop(Looper.java:130) 02-28 17:53:56.368 14165 14173 E AndroidRuntime: at org.mozilla.gecko.GeckoBackgroundThread.run(GeckoBackgroundThread.java:31) 02-28 17:53:56.368 508 955 W ActivityManager: Force finishing activity org.mozilla.fennec_brian/org.mozilla.gecko.TabsTray
Real-world scenario: 1) Launch Fennec 2) Click the add tab button 3) Go to https://bugzilla.mozilla.org/buglist.cgi?product=Fennec%20Native;component=General;resolution=---;list_id=2489374 4) About 3 seconds after the results are shown, close the tab Easier STR: 1) Launch Fennec 2) Click the add tab button 3) Navigate to this attachment 4 [review]) Close the tab within 5 seconds of loading the page; you should crash a few seconds later
blocking-fennec1.0: --- → ?
Attached patch patchSplinter Review
If Gecko is busy, it may take a few seconds before GeckoAppShell#notifyScreenShot() gets called. If the tab is closed during this time, the tabId will be invalid.
Assignee: nobody → bnicholson
Status: NEW → ASSIGNED
Attachment #601486 - Flags: review?(blassey.bugs)
Comment on attachment 601486 [details] [diff] [review] patch Review of attachment 601486 [details] [diff] [review]: ----------------------------------------------------------------- ::: mobile/android/base/GeckoAppShell.java @@ +459,5 @@ > b.copyPixelsFromBuffer(data); > freeDirectBuffer(data); > final Tab tab = Tabs.getInstance().getTab(tabId); > + if (tab != null) > + GeckoApp.mAppContext.processThumbnail(tab, b, null); we're doing a bunch of work before this point which essentially is getting thrown away. Move this null check to the first line of the Runnable and make it an early return.
Attachment #601486 - Flags: review?(blassey.bugs) → review+
I was able to get the tab to be null : 02-29 11:29:45.228: E/GeckoConsole(5581): [JavaScript Error: "tab is null" {file: "chrome://browser/content/browser.js" line: 988}] and got the same exception. Opened a link from gmail, closed it and hit the back button. 02-29 11:29:45.739: E/AndroidRuntime(5581): FATAL EXCEPTION: GeckoBackgroundThread 02-29 11:29:45.739: E/AndroidRuntime(5581): java.lang.NullPointerException 02-29 11:29:45.739: E/AndroidRuntime(5581): at org.mozilla.gecko.GeckoApp.processThumbnail(GeckoApp.java:641) 02-29 11:29:45.739: E/AndroidRuntime(5581): at org.mozilla.gecko.GeckoAppShell$3.run(GeckoAppShell.java:462) 02-29 11:29:45.739: E/AndroidRuntime(5581): at android.os.Handler.handleCallback(Handler.java:587) 02-29 11:29:45.739: E/AndroidRuntime(5581): at android.os.Handler.dispatchMessage(Handler.java:92) 02-29 11:29:45.739: E/AndroidRuntime(5581): at android.os.Looper.loop(Looper.java:150) 02-29 11:29:45.739: E/AndroidRuntime(5581): at org.mozilla.gecko.GeckoBackgroundThread.run(GeckoBackgroundThread.java:31) 02-29 11:29:45.769: I/GeckoApp(5581): pause 02-29 11:29:45.769: W/ActivityManager(1372): Force finishing activity org.mozilla.fennec/.App 02-29 11:29:45.849: I/GeckoSoftwareLayerClient(5581): zerdatime 60666162 - endDrawing 02-29 11:29:45.919: D/WindowManagerImpl(1372): addView, new view, mViews[1]: com.android.internal.policy.impl.PhoneWindow$DecorView@4093be48 02-29 11:29:46.109: W/KeyCharacterMap(1372): Can't open keycharmap file 02-29 11:29:46.109: W/KeyCharacterMap(1372): Error loading keycharmap file '/system/usr/keychars/synaptics-rmi-touchscreen.kcm.bin'. hw.keyboards.65537.devname='synaptics-rmi-touchscreen' 02-29 11:29:46.109: I/KeyCharacterMap(1372): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
STR steps were slightly off : Prereq: fennec is not open, or is open in the background with only 1 tab open. 1) Open a link from gmail or twitter, 2) close the background tab and hit the back button while the link is loading.
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 13
blocking-fennec1.0: ? → +
Unable to reproduce the issue on latest Nighlty using any of the 3 given steps to reproduce. Verified fix on: Build: Nightly 15.0a1 2012-05-17 Device: HTC Desire Z OS: Android 2.3.3
Status: RESOLVED → VERIFIED
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: