Closed Bug 1297772 Opened 8 years ago Closed 8 years ago

Still crashing in NullPointerException: Attempt to invoke virtual method 'void org.mozilla.gecko.toolbar.BackButton.setEnabled(boolean)' on a null object reference

Categories

(Firefox for Android Graveyard :: General, defect, P1)

All
Android
defect

Tracking

(firefox48 affected, firefox49 affected, firefox50 affected, firefox51 affected)

RESOLVED DUPLICATE of bug 1079874
Tracking Status
firefox48 --- affected
firefox49 --- affected
firefox50 --- affected
firefox51 --- affected

People

(Reporter: kbrosnan, Assigned: sebastian)

References

Details

(Whiteboard: [TPE-1] [MobileAS])

Crash Data

This is still happening in the wild.

+++ This bug was initially created as a clone of Bug #1256596 +++

Preconditions: Nexus 9, Android N, split screen mode.

After resizing Fennec's screen to be very small (phone-like) I get the following crash:

> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: java.lang.NullPointerException: Attempt to invoke virtual method 'void org.mozilla.gecko.toolbar.BackButton.setEnabled(boolean)' on a null object reference
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at org.mozilla.gecko.toolbar.BrowserToolbarTabletBase.<init>(BrowserToolbarTabletBase.java:57)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at org.mozilla.gecko.toolbar.BrowserToolbarTablet.<init>(BrowserToolbarTablet.java:36)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at org.mozilla.gecko.toolbar.BrowserToolbar.create(BrowserToolbar.java:164)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at org.mozilla.gecko.BrowserApp.onCreateView(BrowserApp.java:290)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.app.Activity.onCreateView(Activity.java:5840)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(Unknown Source)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.support.v4.app.FragmentActivity.onCreateView(Unknown Source)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:777)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:400)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at android.app.Activity.setContentView(Activity.java:2387)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at org.mozilla.gecko.GeckoApp.onCreate(GeckoApp.java:1276)
> 03-15 10:37:54.145  5178  5178 E GeckoCrashHandler: 	at org.mozilla.gecko.BrowserApp.onCreate(BrowserApp.java:592)
Do you have any smaller devices (5/6) that recreate this?

Or is this tablet only?

(I'm trying to recreate on my Nexus 5 but I'm not seeing it)
Flags: needinfo?(s.kaspari)
This requires Android 7.0 and split screen. A Nexus 5 won't be able to reproduce (a 5x might be able). There are 38 crashes a week, so it does not seem to be super common.
Sorry, it is a 5X with Android 7 and I'm not crashing. So it might be tablet specific.
It is not tablet specific. We have crashes from all the Nexus devices that meet the Android 7.0 requirements. Nexus 5x, Nexus 6, Nexus 6p and Nexus 9.
Do we have any STR? I can't reproduce on an N9 by resizing the app window (like in bug 1256596).
Flags: needinfo?(s.kaspari)
Priority: -- → P1
Whiteboard: [TPE-1]
.. okay, I have STR:

On an N9 (might work in landscape on phones too):

* Go into split screen mode with two random apps.
* Resize one app to be pretty small, like a phone screen.
* Select the small application, press the "recent apps" button and close the app
* Now launch Firefox in the small app window

-> Crash.

From the crash I assume: Android's resource system loads the phone layout (because our small window is small like a phone). Our code detects that we are running on a tablet and tries to initialize the toolbar code, assuming we loaded the tablet layout. Crash: Some UI elements can't be found (like the back button in the toolbar).

We had problems like this in the past because our HardwareUtils.isTablet() is not in sync with Android's way of determining which resources to load (See bug 1277379). Even if we would fix this root cause: We'd load the phone UI and when resizing the application we would not switch to the tablet layout automatically. Normally Android would recreate the activity and load the "bigger" resources but for a bunch of reasons we are handling configuration changes ourselves and have no way of switching the UI on the fly.
Assignee: nobody → s.kaspari
Status: NEW → ASSIGNED
Whiteboard: [TPE-1] → [TPE-1] [MobileAS]
We landed a speculative patch for this in Firefox 50 (bug 1079874) - and I only see crash reports for up to 49.
See Also: → 1256596, 1079874
(In reply to Sebastian Kaspari (:sebastian) from comment #6)
> .. okay, I have STR:
> 
> On an N9 (might work in landscape on phones too):
> 
> * Go into split screen mode with two random apps.
> * Resize one app to be pretty small, like a phone screen.
> * Select the small application, press the "recent apps" button and close the
> app
> * Now launch Firefox in the small app window
> 
> -> Crash.

Those STR actually trigger a different crash / stack trace (bug 1296712).
(In reply to Sebastian Kaspari (:sebastian) from comment #7)
> We landed a speculative patch for this in Firefox 50 (bug 1079874) - and I
> only see crash reports for up to 49.

I requested uplift to Beta/49 in bug 1079874.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
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.