Skip to content
Commit 895d9818 authored by Ashok Mutyala's avatar Ashok Mutyala
Browse files

Avoid the scenario where Contexts list filled with null value in ShowAnrDialogs()

Problem: Framework Reboot i.e., NullPointer Exception in android.ui Thread
E AndroidRuntime: FATAL EXCEPTION IN SYSTEM PROCESS: android.ui
E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method
'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference

E AndroidRuntime: **at android.app.Dialog.<init>(Dialog.java:199)
E AndroidRuntime: **at android.app.AlertDialog.<init>(AlertDialog.java:204)
E AndroidRuntime: **at android.app.AlertDialog.<init>(AlertDialog.java:200)
E AndroidRuntime: **at com.android.server.am.BaseErrorDialog.<init>(BaseErrorDialog.java:39)
E AndroidRuntime: **at com.android.server.am.AppNotRespondingDialog.<init>(AppNotRespondingDialog.java:53)
E AndroidRuntime: **at com.android.server.am.ErrorDialogController.showAnrDialogs(ErrorDialogController.java:183)
E AndroidRuntime: **at com.android.server.am.AppErrors.handleShowAnrUi(AppErrors.java:1077)

Analysis:
As Context Object is passed from showAnrDialogs method and will be retrieved from getDisplayContextWithErrorDialogs
And list of context objects will be filled by querying from RootWindowContainer.getDisplayUiContext and this method is
Annotated with Nullable. So, the possibility could be null value filled in the context object List.

Bug: 196189977
Test: Stability Test

Change-Id: Ib944fc5ffc8bcca999c75f99d462d441e555fcda
parent cf2ef575
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment