Debugging content_shell with --single-process crashes on Visual Studio. |
|||||
Issue descriptionWhat steps will reproduce the problem? (1) Suppose we have mysolution.sln on VisualStudio. (2) Add content_shell.exe with "Add Exisiting Item" from menu on the solution. (3) Set "Arguments: --single-process" from menu of added content_shell. (4) F5 to start the process attaching debugger. (5) Crashes. Here is stacktrace: base.dll!base::debug::BreakDebugger() Line 21 C++ base.dll!logging::LogMessage::~LogMessage() Line 787 C++ > base.dll!base::win::AssertComInitialized(const char * message) Line 72 C++ base.dll!base::win::`anonymous namespace'::HookManager::DCheckedCoCreateInstance(const _GUID & rclsid, IUnknown * pUnkOuter, unsigned long dwClsContext, const _GUID & riid, void * * ppv) Line 247 C++ tiptsf.dll!700d6004() Unknown [Frames below may be incorrect and/or missing, no symbols loaded for tiptsf.dll] tiptsf.dll!700d645f() Unknown tiptsf.dll!700d4cb3() Unknown [External Code] base.dll!base::MessagePumpForUI::ProcessPumpReplacementMessage() Line 380 C++ base.dll!base::MessagePumpForUI::ProcessMessageHelper(const tagMSG & msg) Line 360 C++ base.dll!base::MessagePumpForUI::ProcessNextWindowsMessage() Line 339 C++ base.dll!base::MessagePumpForUI::DoRunLoop() Line 169 C++ base.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate) Line 58 C++ base.dll!base::MessageLoop::Run() Line 370 C++ base.dll!base::RunLoop::Run() Line 112 C++ base.dll!base::Thread::Run(base::RunLoop * run_loop) Line 256 C++ base.dll!base::Thread::ThreadMain() Line 341 C++ base.dll!base::`anonymous namespace'::ThreadFunc(void * params) Line 91 C++
,
Jul 18 2017
It appears content_shell needs to initialize COM.
,
Jul 18 2017
I'm not able to repro this with directly running content_shell. Can you update the stack above with symbols fully resolved? This works fine for me: c:\Debuggersx86\windbg.exe -g -G -o out\Debug\content_shell.exe --single-process
,
Jul 19 2017
I didn't repro with windbg eigher but still have with VisualStudio. Once I loaded windows symbols, the above crash was gone, but I got another stack: > base.dll!base::win::AssertComInitialized(const char * message) Line 71 C++ base.dll!base::win::`anonymous namespace'::HookManager::DCheckedCoCreateInstance(const _GUID & rclsid, IUnknown * pUnkOuter, unsigned long dwClsContext, const _GUID & riid, void * * ppv) Line 247 C++ [External Code] nodoka.dll!19ae1aa5() Unknown [Frames below may be incorrect and/or missing, no symbols loaded for nodoka.dll] [External Code] nodoka.dll!19ae268c() Unknown [External Code] base.dll!base::MessagePumpForUI::ProcessPumpReplacementMessage() Line 380 C++ base.dll!base::MessagePumpForUI::ProcessMessageHelper(const tagMSG & msg) Line 360 C++ base.dll!base::MessagePumpForUI::ProcessNextWindowsMessage() Line 339 C++ nodoka.dll is a kind of keybinding software I install.
,
Jul 19 2017
Does the crash stop reproing if you disable nodoka?
,
Jul 20 2017
No. > base.dll!base::debug::BreakDebugger() Line 21 C++ base.dll!logging::LogMessage::~LogMessage() Line 787 C++ base.dll!base::win::AssertComInitialized(const char * message) Line 72 C++ base.dll!base::win::`anonymous namespace'::HookManager::DCheckedCoCreateInstance(const _GUID & rclsid, IUnknown * pUnkOuter, unsigned long dwClsContext, const _GUID & riid, void * * ppv) Line 247 C++ [External Code] base.dll!base::MessagePumpForUI::ProcessPumpReplacementMessage() Line 380 C++ base.dll!base::MessagePumpForUI::ProcessMessageHelper(const tagMSG & msg) Line 360 C++ base.dll!base::MessagePumpForUI::ProcessNextWindowsMessage() Line 339 C++ base.dll!base::MessagePumpForUI::DoRunLoop() Line 169 C++ base.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate) Line 58 C++ base.dll!base::MessageLoop::Run() Line 370 C++ base.dll!base::RunLoop::Run() Line 112 C++ base.dll!base::Thread::Run(base::RunLoop * run_loop) Line 256 C++ base.dll!base::Thread::ThreadMain() Line 341 C++ base.dll!base::`anonymous namespace'::ThreadFunc(void * params) Line 91 C++
,
Jul 20 2017
Can you have VS dig into that [External Code] portion? That's masking the real caller.
,
Jul 21 2017
Without nodoka: > base.dll!base::debug::BreakDebugger() Line 21 C++ base.dll!logging::LogMessage::~LogMessage() Line 787 C++ base.dll!base::win::AssertComInitialized(const char * message) Line 72 C++ base.dll!base::win::`anonymous namespace'::HookManager::DCheckedCoCreateInstance(const _GUID & rclsid, IUnknown * pUnkOuter, unsigned long dwClsContext, const _GUID & riid, void * * ppv) Line 247 C++ tiptsf.dll!CImmersiveFocusTracker::_HandleAutomationEvent(unsigned long,struct HWND__ *,long) Unknown tiptsf.dll!CImmersiveFocusTracker::HandleAutomationEvent() Unknown tiptsf.dll!TabletMsgWndProc() Unknown user32.dll!_DispatchHookW@16() Unknown user32.dll!_CallHookWithSEH@16() Unknown user32.dll!___fnHkINLPMSG@4() Unknown ntdll.dll!_KiUserCallbackDispatcher@12() Unknown user32.dll!_PeekMessageW@20() Unknown base.dll!base::MessagePumpForUI::ProcessPumpReplacementMessage() Line 380 C++ base.dll!base::MessagePumpForUI::ProcessMessageHelper(const tagMSG & msg) Line 360 C++ With nodoka: > base.dll!base::debug::BreakDebugger() Line 21 C++ base.dll!logging::LogMessage::~LogMessage() Line 787 C++ base.dll!base::win::AssertComInitialized(const char * message) Line 72 C++ base.dll!base::win::`anonymous namespace'::HookManager::DCheckedCoCreateInstance(const _GUID & rclsid, IUnknown * pUnkOuter, unsigned long dwClsContext, const _GUID & riid, void * * ppv) Line 247 C++ tiptsf.dll!CImmersiveFocusTracker::_HandleAutomationEvent(unsigned long,struct HWND__ *,long) Unknown tiptsf.dll!CImmersiveFocusTracker::HandleAutomationEvent() Unknown tiptsf.dll!TabletMsgWndProc() Unknown user32.dll!_DispatchHookW@16() Unknown user32.dll!_CallHookWithSEH@16() Unknown user32.dll!___fnHkINLPMSG@4() Unknown ntdll.dll!_KiUserCallbackDispatcher@12() Unknown nodoka.dll!19351aa5() Unknown [Frames below may be incorrect and/or missing, no symbols loaded for nodoka.dll] user32.dll!_DispatchHookW@16() Unknown user32.dll!_CallHookWithSEH@16() Unknown user32.dll!___fnHkINLPMSG@4() Unknown ntdll.dll!_KiUserCallbackDispatcher@12() Unknown nodoka.dll!1935268c() Unknown user32.dll!_DispatchHookW@16() Unknown user32.dll!_CallHookWithSEH@16() Unknown user32.dll!___fnHkINLPMSG@4() Unknown ntdll.dll!_KiUserCallbackDispatcher@12() Unknown user32.dll!_PeekMessageW@20() Unknown base.dll!base::MessagePumpForUI::ProcessPumpReplacementMessage() Line 380 C++ no nodoka Anyway, tiptsf.dll is culprit?
,
Aug 1 2017
Once I disabled "Touch Keyboard and Handwriting Panel Serviceā, it works: https://www.howtogeek.com/259900/how-to-permanently-disable-the-touch-keyboard-in-windows-8-and-10/ Thanks. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by yoichio@chromium.org
, Jul 18 2017Owner: robliao@chromium.org
Status: Assigned (was: Untriaged)