这是indexloc提供的服务,不要输入任何密码
Skip to content

WebView select boxes drop down dialogs are throwing on some tablets #54164

@amirh

Description

@amirh

The failing codepath is only active on tablets, I was only able to reproduce the crash on Android Things.

Repro steps, load a web page with a drop-down select box (like: https://loc.gov) on a tablet running Android Things, and tap the drop down.

The following exception is thrown:

04-06 02:00:58.035  3336  3336 E AndroidRuntime: FATAL EXCEPTION: main
04-06 02:00:58.035  3336  3336 E AndroidRuntime: Process: com.example.flutter_app, PID: 3336
04-06 02:00:58.035  3336  3336 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.DropDownListView.setSelection(int)' on a null object reference
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.widget.ListPopupWindow.show(ListPopupWindow.java:697)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at org.chromium.ui.DropdownPopupWindow.show(DropdownPopupWindow.java:31)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at org.chromium.ui.DropdownPopupWindow$1.onLayoutChange(DropdownPopupWindow.java:4)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.View.layout(View.java:19677)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.widget.AbsoluteLayout.onLayout(AbsoluteLayout.java:123)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.View.layout(View.java:19659)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6075)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.View.layout(View.java:19659)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6075)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.View.layout(View.java:19659)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6075)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.View.layout(View.java:19659)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6075)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.View.layout(View.java:19659)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6075)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at com.android.internal.policy.DecorView.onLayout(DecorView.java:761)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.View.layout(View.java:19659)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6075)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2496)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2212)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1392)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6752)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.Choreographer.doCallbacks(Choreographer.java:723)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.Choreographer.doFrame(Choreographer.java:658)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:790)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:99)
04-06 02:00:58.035  3336  3336 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:164)

Note: I'm assigning April milestone as this is when customer: dream want it by, though at this point I'm still investigating and before we root cause the issue I have no real estimate for how involved is the fix.

b/152465158

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions