Surface pro pen caused application hang

  • Thread starter Thread starter Levi Zhou
  • Start date Start date
L

Levi Zhou

Guest
Hi All,

I was do the products migrating from desktop to surface and other tablets that support Windows OS.

Our product was implemented MFC & ATL, the main product worked as container, then the sub process was launched.

When try to close the sub-process, it will popup a modal-dialog. If the modal-dialog was issued via surface pen, the application will hang. It works fine if click by hand from touch screen or by mouse clicking.


The main process's UI thread:

0:000> !wow64exts.sw
Switched to 32bit mode
0:000:x86> kv fff
Memory ChildEBP RetAddr Args to Child
0018dd60 76d30927 00000002 0018df0c 00000001 ntdll_77b40000!ZwWaitForMultipleObjects+0xc (FPO: [5,0,0])
184 0018dee4 776bb6e5 0018debc 0018df0c 00000000 KERNELBASE!WaitForMultipleObjectsEx+0xcc (FPO: [SEH])
58 0018df3c 7796c1db 00000000 0018df94 000003e8 user32!MsgWaitForMultipleObjectsEx+0x159 (FPO: [Non-Fpo])
34 0018df70 77a33271 0018df94 00000001 0018df9c combase!CCliModalLoop::BlockFn+0x101 (FPO: [Non-Fpo]) (CONV: thiscall) [d:\blue_gdr\com\combase\dcomrem\callctrl.cxx @ 1571]
6c 0018dfdc 77a316cd 0018e27c 0ec9f2e4 090dc4b0 combase!ThreadSendReceive+0x1d3 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\combase\dcomrem\channelb.cxx @ 5776]
148 0018e124 7796c6ac 0ec9f2e4 0018e27c 0018e264 combase!CRpcChannelBuffer::SendReceive2+0x1df (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\combase\dcomrem\channelb.cxx @ 4796]
c0 0018e1e4 77933b8f 0ec9f2e4 0018e27c 0018e264 combase!ClassicSTAThreadSendReceive+0x209 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\combase\dcomrem\callctrl.cxx @ 696]
5c 0018e240 77a314a5 0ec9f2e4 0018e27c 0018e264 combase!CCtxComChnl::SendReceive+0xf9 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\combase\dcomrem\ctxchnl.cxx @ 790]
18 0018e258 75995ee5 0eb32fbc 0018e2a8 75a0e9d0 combase!NdrExtpProxySendReceive+0x42 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\combase\ndr\ndrole\proxy.cxx @ 2017]
c 0018e264 75a0e9d0 379b6970 0018ea38 0018ea14 rpcrt4!NdrpProxySendReceive+0xe (FPO: [0,0,0])
440 0018e6a4 75aa1a9c 75a798c0 75a7e87a 0018e6c4 rpcrt4!NdrClientCall2+0x2d6 (FPO: [SEH])
18 0018e6bc 75aa1a4d 0eb32fbc ffffff91 74eb5f88 oleaut32!IDispatch_RemoteInvoke_Proxy+0x24 (FPO: [12,1,0])
2dc 0018e998 74f711d6 0eb32fbc ffffff91 74eb5f88 oleaut32!IDispatch_Invoke_Proxy+0xf1 (FPO: [Non-Fpo])
d0 0018ea68 74f71527 ffffff91 00000001 0000000b mfc90u!COleDispatchDriver::InvokeHelperV+0x324
20 0018ea88 00411f6a 0f1dfff8 ffffff91 00000001 mfc90u!COleDispatchDriver::InvokeHelper+0x20
9c 0018eb24 0042669d 0f1dff28 0018eb8c 004226b4 VStudio!AOADispDriver::Close+0xea (FPO: [Non-Fpo]) (CONV: thiscall)
c 0018eb30 004226b4 427fc568 00020462 0018eb24 VStudio!PrjCntrItem::CloseComponent+0x2d (FPO: [Non-Fpo]) (CONV: thiscall)
5c 0018eb8c 74f3dcbf 0396c360 00000000 0018ebb4 VStudio!PrjContainerDoc::SaveModified+0x104 (FPO: [Non-Fpo]) (CONV: thiscall)
10 0018eb9c 74f15180 0f7b7420 74f1514e 00000000 mfc90u!CDocument::CanCloseFrame+0x41
18 0018ebb4 74f0fb03 3700a788 00000010 0f7b7420 mfc90u!CFrameWnd::OnClose+0x32
a4 0018ec58 74f0f6cc 00000010 00000000 00000000 mfc90u!CWnd::OnWndMsg+0x410
20 0018ec78 74f0e2f2 00000010 00000000 00000000 mfc90u!CWnd::WindowProc+0x24
68 0018ece0 74f0e57e 00000000 00050520 00000010 mfc90u!AfxCallWndProc+0xa3
24 0018ed04 74f0c234 00050520 00000010 00000000 mfc90u!AfxWndProc+0x37
48 0018ed4c 776b791c 00050520 00000010 00000000 mfc90u!AfxWndProcBase+0x56
2c 0018ed78 776b7b7a 74f0c1de 00050520 00000010 user32!_InternalCallWinProc+0x23
90 0018ee08 776bc7be 74f0c1de 00000000 00000010 user32!UserCallWinProcCheckWow+0x184 (FPO: [SEH])
38 0018ee40 778ae02c 74f0c1de 00050520 00000010 user32!CallWindowProcW+0x83 (FPO: [Non-Fpo])
50 0018ee90 778ae4b0 00000010 00000000 00000000 ole32!CFrameFilter::OnMessage+0x88 (FPO: [Non-Fpo]) (CONV: thiscall) [d:\blue_gdr\com\ole32\ole232\inplace\inplace.cpp @ 2146]
1c 0018eeac 776b791c 00050520 00000010 00000000 ole32!FrameWndFilterProc+0x6a (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\ole32\ole232\inplace\inplace.cpp @ 1159]
2c 0018eed8 776b7b7a 778ae446 00050520 00000010 user32!_InternalCallWinProc+0x23
90 0018ef68 776b7ccd 778ae446 00000000 00000010 user32!UserCallWinProcCheckWow+0x184 (FPO: [SEH])
60 0018efc8 776b7e23 009606b0 00000000 00000010 user32!DispatchClientMessage+0xdc (FPO: [Non-Fpo])
38 0018f000 77b7c692 0018f018 00000000 0018f260 user32!__fnDWORD+0x36 (FPO: [1,6,0])
34 0018f034 776bad43 00050520 00000112 0000f060 ntdll_77b40000!KiUserCallbackDispatcher+0x2e (FPO: [0,0,0])
90 0018f0c4 776ba0ab 009606b0 00000000 009b0337 user32!RealDefWindowProcWorker+0x13f (FPO: [Non-Fpo])
18 0018f0dc 74881814 00050520 00000112 0000f060 user32!RealDefWindowProcW+0x53 (FPO: [Non-Fpo])
14 0018f0f0 748aac55 01ce2db8 0018f210 748817aa uxtheme!DoMsgDefault+0x21 (FPO: [0,0,0])
c 0018f0fc 748817aa 01ce2db8 0018f1a4 7772e280 uxtheme!OnDwpSysCommand+0x2a (FPO: [Non-Fpo])
114 0018f210 74881ddf 0000f060 009b0337 00000001 uxtheme!_ThemeDefWindowProc+0x755 (FPO: [Non-Fpo])
14 0018f224 776ba042 00050520 00000112 0000f060 uxtheme!ThemeDefWindowProcW+0x18 (FPO: [4,0,0])
4c 0018f270 776e3bbb 00050520 00000112 0000f060 user32!DefWindowProcW+0x158 (FPO: [SEH])
3c 0018f2ac 776d5782 0000f060 009b0337 00000000 user32!DefMDIChildProcWorker+0xe79a
14 0018f2c0 74f18c87 00050520 00000112 0000f060 user32!DefMDIChildProcW+0x18 (FPO: [4,0,0])
18 0018f2d8 4c0e215a 00000112 0000f060 009b0337 mfc90u!CMDIChildWnd::DefWindowProcW+0x17
2c 0018f304 74f0e3c1 00000000 0000f060 009b0337 ot1101asu!SECMDIChildWnd::DefWindowProcW+0x12a (FPO: [3,3,0]) (CONV: thiscall) [c:\program files\rogue wave\stingray studio 10.1\src\toolkit\mdi\swinmdi.cpp @ 4177]
14 0018f318 74f15604 0f7b7420 00432250 0018f33c mfc90u!CWnd::Default+0x30 (FPO: [0,0,1])
10 0018f328 00432267 0000f060 009b0337 0f7b7420 mfc90u!CFrameWnd::OnSysCommand+0x50
14 0018f33c 74f0fd15 0000f060 009b0337 3700bf18 VStudio!PrjMDIChild::OnSysCommand+0x17 (FPO: [Non-Fpo]) (CONV: thiscall)
ac 0018f3e8 74f0f6cc 00000112 0000f060 009b0337 mfc90u!CWnd::OnWndMsg+0x622
20 0018f408 74f0e2f2 00000112 0000f060 009b0337 mfc90u!CWnd::WindowProc+0x24
68 0018f470 74f0e57e 00000000 00050520 00000112 mfc90u!AfxCallWndProc+0xa3
24 0018f494 74f0c234 00050520 00000112 0000f060 mfc90u!AfxWndProc+0x37
44 0018f4d8 776b791c 00050520 00000112 0000f060 mfc90u!AfxWndProcBase+0x56
2c 0018f504 776b7b7a 74f0c1de 00050520 00000112 user32!_InternalCallWinProc+0x23
90 0018f594 776bc7be 74f0c1de 00000000 00000112 user32!UserCallWinProcCheckWow+0x184 (FPO: [SEH])
38 0018f5cc 778ae31d 74f0c1de 00050520 00000112 user32!CallWindowProcW+0x83 (FPO: [Non-Fpo])
28 0018f5f4 778ae4a6 0000f060 009b0337 009b0337 ole32!CFrameFilter::OnSysCommand+0x54 (FPO: [Non-Fpo]) (CONV: thiscall) [d:\blue_gdr\com\ole32\ole232\inplace\inplace.cpp @ 1577]
18 0018f60c 776b791c 00050520 00000112 0000f060 ole32!FrameWndFilterProc+0x60 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\ole32\ole232\inplace\inplace.cpp @ 1154]
2c 0018f638 776b925d 778ae446 00050520 00000112 user32!_InternalCallWinProc+0x23
90 0018f6c8 776b7ccd 778ae446 00000000 00000112 user32!UserCallWinProcCheckWow+0x23c (FPO: [SEH])
60 0018f728 776b7e23 009606b0 00000000 00000112 user32!DispatchClientMessage+0xdc (FPO: [Non-Fpo])
38 0018f760 77b7c692 0018f778 00000000 0018f9c0 user32!__fnDWORD+0x36 (FPO: [1,6,0])
34 0018f794 776bca50 00050520 00000112 0000f060 ntdll_77b40000!KiUserCallbackDispatcher+0x2e (FPO: [0,0,0])
6c 0018f800 776bcb8c 009606b0 00000000 009b0337 user32!SendMessageWorker+0x2bd (FPO: [Non-Fpo])
34 0018f834 7490f81e 00050520 00000112 0000f060 user32!SendMessageW+0x12e (FPO: [Non-Fpo])
28 0018f85c 748817aa 01ce2db8 0018f904 7772e280 uxtheme!OnDwpNcLButtonDown+0x56459
114 0018f970 74881ddf 00000014 009b0337 00000001 uxtheme!_ThemeDefWindowProc+0x755 (FPO: [Non-Fpo])
14 0018f984 776ba042 00050520 000000a1 00000014 uxtheme!ThemeDefWindowProcW+0x18 (FPO: [4,0,0])
4c 0018f9d0 776e3bbb 00050520 000000a1 00000014 user32!DefWindowProcW+0x158 (FPO: [SEH])
38 0018fa08 776d5782 00000014 009b0337 00000000 user32!DefMDIChildProcWorker+0xe79a
14 0018fa1c 74f18c87 00050520 000000a1 00000014 user32!DefMDIChildProcW+0x18 (FPO: [4,0,0])
18 0018fa34 4c0e215a 000000a1 00000014 009b0337 mfc90u!CMDIChildWnd::DefWindowProcW+0x17
2c 0018fa60 74f0e3c1 00000000 00000014 009b0337 ot1101asu!SECMDIChildWnd::DefWindowProcW+0x12a (FPO: [3,3,0]) (CONV: thiscall) [c:\program files\rogue wave\stingray studio 10.1\src\toolkit\mdi\swinmdi.cpp @ 4177]
14 0018fa74 4c0e1ac4 0f7b7420 4c0e1a90 74f0fb36 mfc90u!CWnd::Default+0x30 (FPO: [0,0,1])
c 0018fa80 74f0fb36 00000014 00000337 0000009b ot1101asu!SECMDIChildWnd::OnNcLButtonDown+0x34 (FPO: [3,0,0]) (CONV: thiscall) [c:\program files\rogue wave\stingray studio 10.1\src\toolkit\mdi\swinmdi.cpp @ 3785]
b0 0018fb30 74f0f6cc 000000a1 00000014 009b0337 mfc90u!CWnd::OnWndMsg+0x443
20 0018fb50 74f0e2f2 000000a1 00000014 009b0337 mfc90u!CWnd::WindowProc+0x24
68 0018fbb8 74f0e57e 00000000 00050520 000000a1 mfc90u!AfxCallWndProc+0xa3
24 0018fbdc 74f0c234 00050520 000000a1 00000014 mfc90u!AfxWndProc+0x37
44 0018fc20 776b791c 00050520 000000a1 00000014 mfc90u!AfxWndProcBase+0x56
2c 0018fc4c 776b7b7a 74f0c1de 00050520 000000a1 user32!_InternalCallWinProc+0x23
90 0018fcdc 776bc7be 74f0c1de 00000000 000000a1 user32!UserCallWinProcCheckWow+0x184 (FPO: [SEH])
38 0018fd14 778ae02c 74f0c1de 00050520 000000a1 user32!CallWindowProcW+0x83 (FPO: [Non-Fpo])
50 0018fd64 778ae4b0 000000a1 00000014 009b0337 ole32!CFrameFilter::OnMessage+0x88 (FPO: [Non-Fpo]) (CONV: thiscall) [d:\blue_gdr\com\ole32\ole232\inplace\inplace.cpp @ 2146]
1c 0018fd80 776b791c 00050520 000000a1 00000014 ole32!FrameWndFilterProc+0x6a (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\ole32\ole232\inplace\inplace.cpp @ 1159]
2c 0018fdac 776b7b7a 778ae446 00050520 000000a1 user32!_InternalCallWinProc+0x23
90 0018fe3c 776b97f4 778ae446 00000000 000000a1 user32!UserCallWinProcCheckWow+0x184 (FPO: [SEH])
6c 0018fea8 776b9859 ffffffa1 0018fee4 74f4e491 user32!DispatchMessageWorker+0x208 (FPO: [Non-Fpo])
c 0018feb4 74f4e491 00662f00 00000000 0045bb10 user32!DispatchMessageW+0x10 (FPO: [1,1,0])
10 0018fec4 74f4eb18 0045bb10 0045bb10 ffffffff mfc90u!AfxInternalPumpMessage+0x40 (FPO: [0,0,2])
20 0018fee4 74f1af81 0045c120 00000001 00000000 mfc90u!CWinThread::Run+0x5b
14 0018fef8 004399cf 00400000 00000000 0065185e mfc90u!AfxWinMain+0x6a
94 0018ff8c 7579919f 7ffde000 0018ffdc 77b90bbb VStudio!__tmainCRTStartup+0x150 (FPO: [Non-Fpo]) (CONV: cdecl) [f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 578]
c 0018ff98 77b90bbb 7ffde000 35f99669 00000000 kernel32!BaseThreadInitThunk+0xe (FPO: [1,0,0])
44 0018ffdc 77b90b91 ffffffff 77b7c9d3 00000000 ntdll_77b40000!__RtlUserThreadStart+0x20 (FPO: [SEH])
10 0018ffec 00000000 00439b3e 7ffde000 00000000 ntdll_77b40000!_RtlUserThreadStart+0x1b (FPO: [2,2,0])


And the sub-process's thread:

0:000> !wow64exts.sw
Switched to 32bit mode
0:000:x86> kv fff
Memory ChildEBP RetAddr Args to Child
0018ece0 7581dc23 00000001 000301ca 00000000 user32!NtUserWaitMessage+0xc (FPO: [0,0,0])
40 0018ed20 75810407 00000001 00000000 00000000 user32!DialogBox2+0x13f (FPO: [Non-Fpo])
30 0018ed50 75860ae4 000301ca 7581caef 0018ef98 user32!InternalDialogBox+0x107 (FPO: [Non-Fpo])
c4 0018ee14 7585fa16 0018ef98 025976f8 000301ca user32!SoftModalMessageBox+0xdd7 (FPO: [1,39,4])
16c 0018ef80 7585f75d 00000004 025976f8 00000000 user32!MessageBoxWorker+0x27f (FPO: [0,85,4])
80 0018f000 7585f542 000301ca 025976f8 01ccec88 user32!MessageBoxTimeoutW+0x6b (FPO: [6,27,4])
20 0018f020 7585f78e 000301ca 025976f8 01ccec88 user32!MessageBoxExW+0x1b (FPO: [5,0,0])
*** ERROR: Symbol file could not be found. Defaulted to export symbols for VSSupport.dll -
1c 0018f03c 671191c2 000301ca 025976f8 01ccec88 user32!MessageBoxW+0x18 (FPO: [4,0,0])
WARNING: Stack unwind information not available. Following frames may be wrong.
44 0018f080 74fe0a65 025976f8 00000023 00000073 VSSupport!ZWinApp::DoMessageBox+0x102
34 0018f0b4 00403520 00000073 00000003 ffffffff mfc90u!AfxMessageBox+0x40
1c 0018f0d0 671171b7 02582460 0018f17c 75012927 AlmCfgEd!CAlmCfgEdDoc::OnCloseRequest+0x60 (FPO: [Non-Fpo]) (CONV: thiscall)
c 0018f0dc 75012927 74fffd23 751551aa 8bfb7d36 VSSupport!ZSptOleServerDoc::CloseRequest+0x17
a0 0018f17c 750003f0 67120580 00000001 0018f6b0 mfc90u!_AfxDispatchCall+0x10
a4 0018f220 765018a2 00000001 ffffff91 05952324 mfc90u!COleDispatchImpl::Invoke+0x388
40 0018f260 764e0b2b 05952324 00000000 00000001 oleaut32!IDispatch_Invoke_Stub+0x66 (FPO: [10,2,4])
34 0018f294 7604e0b9 0018f2d0 fde82820 764e0aa0 oleaut32!IDispatch_RemoteInvoke_Thunk+0x5b (FPO: [1,1,0])
684 0018f918 763504d5 00214a28 00205d58 0024cad4 rpcrt4!NdrStubCall2+0x847 (FPO: [SEH])
48 0018f960 764ed857 00214a28 0024cad4 00205d58 combase!CStdStubBuffer_Invoke+0x96 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\combase\ndr\ndrole\stub.cxx @ 1590]
24 0018f984 7635039d 00201ec8 0024cad4 00205d58 oleaut32!CStubWrapper::Invoke+0x47 (FPO: [Non-Fpo])
8c 0018fa10 76253733 0022c680 74f558e0 00205d58 combase!SyncStubInvoke+0x144 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\combase\dcomrem\channelb.cxx @ 1664]
12c 0018fb3c 76351198 00205d58 0024cad4 00201ec8 combase!CCtxComChnl::ContextInvoke+0x222 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\combase\dcomrem\ctxchnl.cxx @ 1377]
a8 0018fbe4 76350bc2 00201ec8 02582470 05952320 combase!AppInvoke+0x258 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\combase\dcomrem\channelb.cxx @ 1469]
15c 0018fd40 7625277e 0024ca78 762524dd 0000babe combase!ComInvokeWithLockAndIPID+0x5fb (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\combase\dcomrem\channelb.cxx @ 2311]
34 0018fd74 757f791c 0001055c 00000400 0000babe combase!ThreadWndProc+0x2ad (FPO: [Non-Fpo]) (CONV: stdcall) [d:\blue_gdr\com\combase\dcomrem\chancont.cxx @ 683]
2c 0018fda0 757f7b7a 762524dd 0001055c 00000400 user32!_InternalCallWinProc+0x23
90 0018fe30 757f97f4 762524dd 00000000 00000400 user32!UserCallWinProcCheckWow+0x184 (FPO: [SEH])
6c 0018fe9c 757f9859 00000400 0018fed8 74fde491 user32!DispatchMessageWorker+0x208 (FPO: [Non-Fpo])
c 0018fea8 74fde491 001ec888 00000000 0042f590 user32!DispatchMessageW+0x10 (FPO: [1,1,0])
10 0018feb8 74fdeb18 0042f590 0042f590 ffffffff mfc90u!AfxInternalPumpMessage+0x40 (FPO: [0,0,2])
20 0018fed8 671190bc 0042f590 0018fef8 74faaf81 mfc90u!CWinThread::Run+0x5b
c 0018fee4 74faaf81 00431e88 00000001 00000000 VSSupport!ZWinApp::Run+0x2c
14 0018fef8 0041c62f 00400000 00000000 001d18e4 mfc90u!AfxWinMain+0x6a
94 0018ff8c 763a919f 7ffde000 0018ffdc 77c30bbb AlmCfgEd!__tmainCRTStartup+0x150 (FPO: [Non-Fpo]) (CONV: cdecl) [f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 578]
c 0018ff98 77c30bbb 7ffde000 fc261a3b 00000000 kernel32!BaseThreadInitThunk+0xe (FPO: [1,0,0])
44 0018ffdc 77c30b91 ffffffff 77c1c9c8 00000000 ntdll_77be0000!__RtlUserThreadStart+0x20 (FPO: [SEH])
10 0018ffec 00000000 0041c79e 7ffde000 00000000 ntdll_77be0000!_RtlUserThreadStart+0x1b (FPO: [2,2,0])



Please help.

If this topic was not suitable being discussed here, please help advise.

Thanks,

Levi



One world, one dream

Continue reading...
 

Similar threads

Back
Top