New issue
Advanced search Search tips

Issue 801616 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug


Show other hotlists

Hotlists containing this issue:
Hotlist-1


Sign in to add a comment

WebView hits EventHandler.cpp DCHECK

Project Member Reported by kylec...@chromium.org, Jan 12 2018

Issue description

I am building webview_instrumentation_apk at ToT and when running it hits a DCHECK in EventHandler.cpp pretty consistently.

https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/input/EventHandler.cpp?l=1377&rcl=ccad60c435f44c43ba7b7f51ed46aa289c393e0b

Steps to reproduce:
$ gn args out/droid
dcheck_always_on = true
is_debug = false
target_os = "android"
use_goma = true

$ ninja -C out/droid webview_instrumentation_apk
$ out/droid/bin/webview_instrumentation_apk install
$ out/droid/bin/webview_instrumentation_apk launch

I was navigating to www.cbc.ca/news/ and then interacting with the page. Clicking on a link seems to always hit the DCHECK but other touch events also hit the DCHECK sometimes. Here is the symbolized stack trace from logcat.

signal 6 (SIGABRT), code -6 in tid 19000 (Chrome_InProcRe), pid 18946 (d_webview.shell)
pid: 18946, tid: 19000, name: Chrome_InProcRe  >>> org.chromium.android_webview.shell <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
[FATAL:EventHandler.cpp(1377)] Check failed: result.IsRectBasedTest(). 

Stack Trace:
  RELADDR   FUNCTION                                                                                                              FILE:LINE
  002e0d3d  logging::LogMessage::~LogMessage()                                                                                    /usr/local/google/data/chrome/src/base/logging.cc:581:29
  02568ea1  blink::EventHandler::BestClickableNodeForHitTestResult(blink::HitTestResult const&, blink::IntPoint&, blink::Node*&)  /usr/local/google/data/chrome/src/third_party/WebKit/Source/core/input/EventHandler.cpp:1377:3
  0256942d  blink::EventHandler::ApplyTouchAdjustment(blink::WebGestureEvent*, blink::HitTestResult*)                             /usr/local/google/data/chrome/src/third_party/WebKit/Source/core/input/EventHandler.cpp:1718:18

-----------------------------------------------------

     r0 00000000  r1 00004a38  r2 00000006  r3 00000008
     r4 00004a02  r5 00004a38  r6 cee00bbc  r7 0000010c
     r8 00000000  r9 f062e1b8  sl 00000047  fp cd402160
     ip 00000001  sp cee00ba8  lr f05b79e7  pc f05b1418

Stack Trace:
  RELADDR   FUNCTION                                                                                                                                                                                                                                                                                                                                                                                                                                                           FILE:LINE
  0001a418  <UNKNOWN>                                                                                                                                                                                                                                                                                                                                                                                                                                                          /system/lib/libc.so
  v------>  base::debug::(anonymous namespace)::DebugBreak()                                                                                                                                                                                                                                                                                                                                                                                                                   /usr/local/google/data/chrome/src/base/debug/debugger_posix.cc:228:5
  002d0081  base::debug::BreakDebugger()                                                                                                                                                                                                                                                                                                                                                                                                                                       /usr/local/google/data/chrome/src/base/debug/debugger_posix.cc:258:0
  002e0fc7  logging::LogMessage::~LogMessage()                                                                                                                                                                                                                                                                                                                                                                                                                                 /usr/local/google/data/chrome/src/base/logging.cc:844:7
  02568e9f  blink::EventHandler::BestClickableNodeForHitTestResult(blink::HitTestResult const&, blink::IntPoint&, blink::Node*&)                                                                                                                                                                                                                                                                                                                                               /usr/local/google/data/chrome/src/third_party/WebKit/Source/core/input/EventHandler.cpp:1377:3
  0256942b  blink::EventHandler::ApplyTouchAdjustment(blink::WebGestureEvent*, blink::HitTestResult*)                                                                                                                                                                                                                                                                                                                                                                          /usr/local/google/data/chrome/src/third_party/WebKit/Source/core/input/EventHandler.cpp:1718:18
  02569317  blink::EventHandler::HitTestResultForGestureEvent(blink::WebGestureEvent const&, unsigned int)                                                                                                                                                                                                                                                                                                                                                                     /usr/local/google/data/chrome/src/third_party/WebKit/Source/core/input/EventHandler.cpp:1677:3
  023d3183  blink::WebViewImpl::HitTestResultForTap(blink::WebPoint const&, blink::WebSize const&)                                                                                                                                                                                                                                                                                                                                                                             /usr/local/google/data/chrome/src/third_party/WebKit/Source/core/exported/WebViewImpl.cpp:3524:12
  002c0363  android_webview::AwRenderFrameExt::OnDoHitTest(gfx::PointF const&, gfx::SizeF const&)                                                                                                                                                                                                                                                                                                                                                                              /usr/local/google/data/chrome/src/android_webview/renderer/aw_render_frame_ext.cc:250:51
  v------>  void base::DispatchToMethod<android_webview::AwRenderFrameExt*, void (android_webview::AwRenderFrameExt::*)(gfx::PointF const&, gfx::SizeF const&), std::__ndk1::tuple<gfx::PointF, gfx::SizeF> >(android_webview::AwRenderFrameExt* const&, void (android_webview::AwRenderFrameExt::*)(gfx::PointF const&, gfx::SizeF const&), std::__ndk1::tuple<gfx::PointF, gfx::SizeF>&&)                                                                                    /usr/local/google/data/chrome/src/base/tuple.h:60:3
  002c0e8b  void IPC::DispatchToMethod<android_webview::AwRenderFrameExt, void (android_webview::AwRenderFrameExt::*)(gfx::PointF const&, gfx::SizeF const&), void, std::__ndk1::tuple<gfx::PointF, gfx::SizeF> >(android_webview::AwRenderFrameExt*, void (android_webview::AwRenderFrameExt::*)(gfx::PointF const&, gfx::SizeF const&), void*, std::__ndk1::tuple<gfx::PointF, gfx::SizeF>&&)                                                                                /usr/local/google/data/chrome/src/ipc/ipc_message_templates.h:51:0
  002c02b3  bool IPC::MessageT<AwViewMsg_DoHitTest_Meta, std::__ndk1::tuple<gfx::PointF, gfx::SizeF>, void>::Dispatch<android_webview::AwRenderFrameExt, android_webview::AwRenderFrameExt, void, void (android_webview::AwRenderFrameExt::*)(gfx::PointF const&, gfx::SizeF const&)>(IPC::Message const*, android_webview::AwRenderFrameExt*, android_webview::AwRenderFrameExt*, void*, void (android_webview::AwRenderFrameExt::*)(gfx::PointF const&, gfx::SizeF const&))  /usr/local/google/data/chrome/src/ipc/ipc_message_templates.h:146:7
  002c0073  android_webview::AwRenderFrameExt::OnMessageReceived(IPC::Message const&)                                                                                                                                                                                                                                                                                                                                                                                          /usr/local/google/data/chrome/src/android_webview/renderer/aw_render_frame_ext.cc:193:5
  02ba69df  content::RenderFrameImpl::OnMessageReceived(IPC::Message const&)                                                                                                                                                                                                                                                                                                                                                                                                   /usr/local/google/data/chrome/src/content/renderer/render_frame_impl.cc:1700:20
  01fbe15f  content::ChildThreadImpl::ChildThreadMessageRouter::RouteMessage(IPC::Message const&)                                                                                                                                                                                                                                                                                                                                                                              /usr/local/google/data/chrome/src/content/child/child_thread_impl.cc:366:38
  009c26b5  IPC::ChannelProxy::Context::OnDispatchMessage(IPC::Message const&)                                                                                                                                                                                                                                                                                                                                                                                                 /usr/local/google/data/chrome/src/ipc/ipc_channel_proxy.cc:320:14
  v------>  base::OnceCallback<void ()>::Run() &&                                                                                                                                                                                                                                                                                                                                                                                                                              /usr/local/google/data/chrome/src/base/callback.h:65:12
  002d0841  base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)                                                                                                                                                                                                                                                                                                                                                                                               /usr/local/google/data/chrome/src/base/debug/task_annotator.cc:55:0
  01b8c57d  blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue(blink::scheduler::internal::WorkQueue*, blink::scheduler::LazyNow, base::TimeTicks*)                                                                                                                                                                                                                                                                                                                  /usr/local/google/data/chrome/src/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc:519:21
  01b8c1cf  blink::scheduler::TaskQueueManager::DoWork(blink::scheduler::internal::Sequence::WorkType)                                                                                                                                                                                                                                                                                                                                                                         /usr/local/google/data/chrome/src/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc:330:13
  v------>  base::OnceCallback<void ()>::Run() &&                                                                                                                                                                                                                                                                                                                                                                                                                              /usr/local/google/data/chrome/src/base/callback.h:65:12
  002d0841  base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)                                                                                                                                                                                                                                                                                                                                                                                               /usr/local/google/data/chrome/src/base/debug/task_annotator.cc:55:0
  01b8f743  blink::scheduler::internal::ThreadControllerImpl::DoWork(blink::scheduler::internal::Sequence::WorkType)                                                                                                                                                                                                                                                                                                                                                           /usr/local/google/data/chrome/src/third_party/WebKit/Source/platform/scheduler/base/thread_controller_impl.cc:99:19
  v------>  base::OnceCallback<void ()>::Run() &&                                                                                                                                                                                                                                                                                                                                                                                                                              /usr/local/google/data/chrome/src/base/callback.h:65:12
  002d0841  base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)                                                                                                                                                                                                                                                                                                                                                                                               /usr/local/google/data/chrome/src/base/debug/task_annotator.cc:55:0
  002e6c1b  base::internal::IncomingTaskQueue::RunTask(base::PendingTask*)                                                                                                                                                                                                                                                                                                                                                                                                     /usr/local/google/data/chrome/src/base/message_loop/incoming_task_queue.cc:123:19
  002e9341  base::MessageLoop::RunTask(base::PendingTask*)                                                                                                                                                                                                                                                                                                                                                                                                                     /usr/local/google/data/chrome/src/base/message_loop/message_loop.cc:399:25
  002e95bf  base::MessageLoop::DeferOrRunPendingTask(base::PendingTask)                                                                                                                                                                                                                                                                                                                                                                                                        /usr/local/google/data/chrome/src/base/message_loop/message_loop.cc:411:5
  002e9747  base::MessageLoop::DoWork()                                                                                                                                                                                                                                                                                                                                                                                                                                        /usr/local/google/data/chrome/src/base/message_loop/message_loop.cc:455:16
  002eaf13  base::MessagePumpDefault::Run(base::MessagePump::Delegate*)                                                                                                                                                                                                                                                                                                                                                                                                        /usr/local/google/data/chrome/src/base/message_loop/message_pump_default.cc:37:31
  002e8ea5  base::MessageLoop::Run(bool)                                                                                                                                                                                                                                                                                                                                                                                                                                       /usr/local/google/data/chrome/src/base/message_loop/message_loop.cc:350:12
  002ffacf  base::RunLoop::Run()                                                                                                                                                                                                                                                                                                                                                                                                                                               /usr/local/google/data/chrome/src/base/run_loop.cc:130:14
  00324da3  base::Thread::Run(base::RunLoop*)                                                                                                                                                                                                                                                                                                                                                                                                                                  /usr/local/google/data/chrome/src/base/threading/thread.cc:255:13
  003250b9  base::Thread::ThreadMain()                                                                                                                                                                                                                                                                                                                                                                                                                                         /usr/local/google/data/chrome/src/base/threading/thread.cc:338:3
  003201a3  base::(anonymous namespace)::ThreadFunc(void*)                                                                                                                                                                                                                                                                                                                                                                                                                     /usr/local/google/data/chrome/src/base/threading/platform_thread_posix.cc:75:13
  00047b2b  <UNKNOWN>                                                                                                                                                                                                                                                                                                                                                                                                                                                          /system/lib/libc.so
  0001aff3  <UNKNOWN>                                                                                                                                                                                                                                                                                                                                                                                                                                                          /system/lib/libc.so
 
Components: Blink>Input
Labels: -Pri-3 Hotlist-Input-Dev Pri-2

Sign in to add a comment