This has been a persistent crash on Windows for several releases:
00 07dff784 730e97a1 06efbe00 00000000 07dff7a8 remoting_core!remoting::TouchInjectorWin::InjectTouchEvent+0x1b [C:\b\c\b\win_clang\src\remoting\host\touch_injector_win.cc @ 190]
01 07dff7d8 730ea647 06efbe00 07dff850 7338a392 remoting_core!remoting::SessionInputInjectorWin::Core::InjectTouchEvent+0x3f [C:\b\c\b\win_clang\src\remoting\host\win\session_input_injector.cc @ 204]
02 07dff7e4 7338a392 06efbde8 bd0009b4 00000000 remoting_core!base::internal::Invoker<base::internal::BindState<void (remoting::SessionInputInjectorWin::Core::*)(const remoting::protocol::TouchEvent &) __attribute__((thiscall)),scoped_refptr<remoting::SessionInputInjectorWin::Core>,remoting::protocol::TouchEvent>,void ()>::Run+0x13 [C:\b\c\b\win_clang\src\base\bind_internal.h @ 665]
03 07dff850 7327643e 73c2780c 07dff900 73c07c64 remoting_core!base::debug::TaskAnnotator::RunTask+0xe2 [C:\b\c\b\win_clang\src\base\debug\task_annotator.cc @ 101]
04 07dff8d8 73276763 07dff900 7338dde0 b0810b0d remoting_core!base::MessageLoop::RunTask+0x1be [C:\b\c\b\win_clang\src\base\message_loop\message_loop.cc @ 423]
05 07dff8f8 73276863 00000000 73c07d12 73c07c64 remoting_core!base::MessageLoop::DeferOrRunPendingTask+0x53 [C:\b\c\b\win_clang\src\base\message_loop\message_loop.cc @ 432]
06 07dff9a8 73277f95 00000000 00000000 00000001 remoting_core!base::MessageLoop::DoWork+0xd3 [C:\b\c\b\win_clang\src\base\message_loop\message_loop.cc @ 476]
07 07dff9e0 73277451 07dffa58 73c8c100 00000001 remoting_core!base::MessagePumpForIO::DoRunLoop+0x135 [C:\b\c\b\win_clang\src\base\message_loop\message_pump_win.cc @ 483]
08 07dffa00 7327617f 07dffa58 07dffa40 07dffa20 remoting_core!base::MessagePumpWin::Run+0x41 [C:\b\c\b\win_clang\src\base\message_loop\message_pump_win.cc @ 54]
09 07dffa10 73280eae 00000001 07dffa28 07dffb14 remoting_core!base::MessageLoop::Run+0x1f [C:\b\c\b\win_clang\src\base\message_loop\message_loop.cc @ 373]
0a 07dffa20 730eb49b 06ef9360 07dffa20 07dffa20 remoting_core!base::RunLoop::Run+0x2e [C:\b\c\b\win_clang\src\base\run_loop.cc @ 108]
0b 07dffb14 7328cbab 06ef9360 000002dc 000002dc remoting_core!remoting::AutoThread::ThreadMain+0x16b [C:\b\c\b\win_clang\src\remoting\base\auto_thread.cc @ 230]
0c 07dffb38 745c8484 06ef93a0 745c8460 da54ae4d remoting_core!base::`anonymous namespace'::ThreadFunc+0xbb [C:\b\c\b\win_clang\src\base\threading\platform_thread_win.cc @ 94]
0d 07dffb4c 778d2fea 06ef93a0 3da5784b 00000000 kernel32!BaseThreadInitThunk+0x24
0e 07dffb94 778d2fba ffffffff 778eec33 00000000 ntdll!__RtlUserThreadStart+0x2f
0f 07dffba4 00000000 7328caf0 06ef93a0 00000000 ntdll!_RtlUserThreadStart+0x1b
This is an optimized stack from a minidump so some details are not available, but what looks to be happening is that the InputInjectorWin object (apparently optimized out of the call stack) is asked to inject a touch event before it has created the TouchInjectorWin instance in its start method. This is because there are three threads involved and several different objects are created / initialized on each of them. This is a bit messy so some clean-up in the future is probably useful.
Either way, the issue appears to be that the touch injector instance is being accessed before creation so we should refactor it a bit so that can't happen.
Comment 1 by bugdroid1@chromium.org
, Aug 1