pombreda / mozc

Automatically exported from code.google.com/p/mozc
0 stars 0 forks source link

Explorer crashes when tsf-mozc is enabled on Windows 8.1 update1 #236

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Install tsf-mozc 1.15.1825.102 (r251) into Windows 8.1 update1
2. Hit Windows key to show Start screen.
3. Hit Windows key + Space key to select Mozc
4. Hit any key to enter incremental search mode.
5. Make sure Mozc is enabled. Then hit any key again.

What is the expected output?
Explorer does not crash.

What do you see instead?
Explorer crashes.

Please use labels and text to provide additional information.

This is a recent regression unexpectedly introduced in r192 (1.15.1785.102). 
Previous versions (r185 and prior) do not have this issue.  This crash might be 
related to some new TSF interfaces such as ITfFnGetLinguisticAlternates and 
ITfFnSearchCandidateProvider that have been implemented tsf-mozc since r192 
(1.15.1785.102).  Actually the crash disappears if TipLinguisticAlternates is 
removed from the code below.

https://code.google.com/p/mozc/source/browse/trunk/src/win32/tip/tip_text_servic
e.cc?r=192#1052
>    if (::IsEqualGUID(IID_ITfFnReconversion, iid)) {
>      *unknown = TipReconvertFunction::New(this);
>    } else if (::IsEqualGUID(TipLinguisticAlternates::GetIID(), iid)) {
>      *unknown = TipLinguisticAlternates::New(this);
>    } else if (::IsEqualGUID(TipSearchCandidateProvider::GetIID(), iid)) {
>      *unknown = TipSearchCandidateProvider::New();
>    } else if (::IsEqualGUID(TipPreferredTouchKeyboard::GetIID(), iid)) {
>      *unknown = TipPreferredTouchKeyboard::New();
>    } else {
>      return E_NOINTERFACE;
>    }

Perhaps implementing ITfFnGetLinguisticAlternates without 
ITfIntegratableCandidateListUIElement is not supported scenario as of Windows 
8.1. 

This crash is actually caused by an unhandled exception thrown from WinRT 
library.  This exception is actually Language Exceptions (Error Code 
0xC000027B) that requires you to debug with procdump + windbg to see the true 
stack trace. See the following article for details.
http://blogs.msdn.com/b/ntdebugging/archive/2014/01/13/debugging-a-windows-8-1-s
tore-app-crash-dump.aspx

Here is an example of crash analysis for one particular crash dump obtained in 
Windows 8.1 update 1 x64.
0:073> .exr -1
ExceptionAddress: 00007ffb257bb622 
(Windows_UI_Xaml!DirectUI::ErrorHelper::ProcessUnhandledError+0x00000000000000da
)
   ExceptionCode: c000027b
  ExceptionFlags: 00000001
NumberParameters: 2
   Parameter[0]: 000000001518b930f
   Parameter[1]: 00000000000000

0:073> dt 000000001518b930 combase!_STOWED_EXCEPTION_INFORMATION_HEADER*
0x00000000`0f90bc20
   +0x000 Size             : 0x38
   +0x004 Signature        : 0x53453032

0:073> .formats 0x53453032
Evaluate expression:
  Hex:     00000000`53453032
  Decimal: 1397043250
  Octal:   0000000000012321230062
  Binary:  00000000 00000000 00000000 00000000 01010011 01000101 00110000 00110010
  Chars:   ....SE02
  Time:    Wed Apr 09 20:34:10 2014
  Float:   low 8.46917e+011 high 0
  Double:  6.90231e-315

0:073> dt -a2 000000001518b930 combase!_STOWED_EXCEPTION_INFORMATION_V2*
[0] @ 00000000`1518b930 
---------------------------------------------
0x00000000`0f90bc20
   +0x000 Header           : _STOWED_EXCEPTION_INFORMATION_HEADER
   +0x008 ResultCode       : 80004005
   +0x00c ExceptionForm    : 0y01
   +0x00c ThreadId         : 0y000000000000000000000000000000 (0)
   +0x010 ExceptionAddress : (null) 
   +0x018 StackTraceWordSize : 8
   +0x01c StackTraceWords  : 0x1f
   +0x020 StackTrace       : 0x00000000`144968a8 Void
   +0x010 ErrorText        : (null) 
   +0x028 NestedExceptionType : 0
   +0x030 NestedException  : (null) 

[1] @ 00000000`1518b938 
---------------------------------------------
0x00000000`0f90bc58
   +0x000 Header           : _STOWED_EXCEPTION_INFORMATION_HEADER
   +0x008 ResultCode       : 80073d57
   +0x00c ExceptionForm    : 0y01
   +0x00c ThreadId         : 0y000000000000000000000000000000 (0)
   +0x010 ExceptionAddress : (null) 
   +0x018 StackTraceWordSize : 8
   +0x01c StackTraceWords  : 0x33
   +0x020 StackTrace       : 0x00000000`10887038 Void
   +0x010 ErrorText        : (null) 
   +0x028 NestedExceptionType : 0
   +0x030 NestedException  : (null) 

0:073> dpS 0x144968a8 L1f
 00007ffb`2558c1f2 Windows_UI_Xaml!DirectUI::TrackerCollection<Windows::UI::Xaml::DependencyObject * __ptr64>::GetAt+0x3cc1e2 [d:\blue_gdr\windows\dxaml\xcp\dxaml\lib\trackercollections.h @ 318]
 00007ffb`25b9a204 Windows_UI_Xaml!DirectUI::CandidateList::GetCandidatePage+0x58 [d:\blue_gdr\windows\dxaml\xcp\dxaml\lib\candidatelist.cpp @ 478]
 00007ffb`25b9ad9b Windows_UI_Xaml!DirectUI::CandidateList::InvalidatePageContainerAutomationProperties+0x47 [d:\blue_gdr\windows\dxaml\xcp\dxaml\lib\candidatelist.cpp @ 1350]
 00007ffb`25b9be7f Windows_UI_Xaml!DirectUI::CandidateList::SetUICurrentViewPage+0x33 [d:\blue_gdr\windows\dxaml\xcp\dxaml\lib\candidatelist.cpp @ 1263]
 00007ffb`25b9bb45 Windows_UI_Xaml!DirectUI::CandidateList::RepaginateCurrentCandidates+0xfd [d:\blue_gdr\windows\dxaml\xcp\dxaml\lib\candidatelist.cpp @ 996]
 00007ffb`25b9c993 Windows_UI_Xaml!std::_Func_impl<std::_Callable_obj<<lambda_4183081fc3568326840cf257723d59aa>,0>,std::allocator<std::_Func_class<long,IInspectable * __ptr64,Windows::UI::Xaml::ISizeChangedEventArgs * __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >,long,IInspectable * __ptr64,Windows::UI::Xaml::ISizeChangedEventArgs * __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::_Do_call+0x1b [d:\blue_gdr.public.amd64fre\sdk\inc\crt\stl110\functional @ 239]
 00007ffb`251bf087 Windows_UI_Xaml!DirectUI::event_handler_base<Windows::Foundation::Collections::MapChangedEventHandler<HSTRING__ * __ptr64,IInspectable * __ptr64>,Windows::Foundation::Collections::IObservableMap<HSTRING__ * __ptr64,IInspectable * __ptr64>,Windows::Foundation::Collections::IMapChangedEventArgs<HSTRING__ * __ptr64>,DirectUI::MapChangedTraits>::Invoke+0x33 [d:\blue_gdr\windows\dxaml\xcp\dxaml\lib\comeventhandler.h @ 37]
 00007ffb`250a6a8e Windows_UI_Xaml!DirectUI::CRoutedEventSourceBase<DirectUI::IUntypedEventSource,Windows::UI::Xaml::ISizeChangedEventHandler,IInspectable,Windows::UI::Xaml::ISizeChangedEventArgs>::Raise+0xde [d:\blue_gdr\windows\dxaml\xcp\dxaml\lib\joltclasses.h @ 1139]
 00007ffb`250a697a Windows_UI_Xaml!DirectUI::FrameworkElement::OnSizeChanged+0x3e [d:\blue_gdr\windows\dxaml\xcp\dxaml\lib\frameworkelement_partial.cpp @ 1038]
 00007ffb`2509f658 Windows_UI_Xaml!DirectUI::DXamlCore::RaiseEvent+0x138 [d:\blue_gdr\windows\dxaml\xcp\dxaml\lib\dxamlcore.cpp @ 2621]
 00007ffb`2509f505 Windows_UI_Xaml!AgCoreCallbacks::RaiseEvent+0x39 [d:\blue_gdr\windows\dxaml\xcp\dxaml\lib\dxamlcore.cpp @ 312]
 00007ffb`250a68ea Windows_UI_Xaml!CLayoutManager::RaiseSizeChangedEvents+0xca [d:\blue_gdr\windows\dxaml\xcp\core\layout\layoutmanager.cpp @ 408]
 00007ffb`25099f3c Windows_UI_Xaml!CLayoutManager::UpdateLayout+0x468 [d:\blue_gdr\windows\dxaml\xcp\core\layout\layoutmanager.cpp @ 286]
 00007ffb`25083826 Windows_UI_Xaml!CCoreServices::NWDrawTree+0x3c6 [d:\blue_gdr\windows\dxaml\xcp\core\dll\xcpcore.cpp @ 9768]
 00007ffb`25082ed7 Windows_UI_Xaml!CCoreServices::NWDrawMainTree+0x26b [d:\blue_gdr\windows\dxaml\xcp\core\dll\xcpcore.cpp @ 9600]
 00007ffb`25082bdd Windows_UI_Xaml!CWindowRenderTarget::Draw+0x81 [d:\blue_gdr\windows\dxaml\xcp\core\compositor\windowrendertarget.cpp @ 131]
 00007ffb`25082ab8 Windows_UI_Xaml!CXcpBrowserHost::OnTick+0xf8 [d:\blue_gdr\windows\dxaml\xcp\host\win\browserdesktop\winbrowserhost.cpp @ 819]
 00007ffb`2508239b Windows_UI_Xaml!CXcpDispatcher::OnReentrancyProtectedWindowMessage+0xa7 [d:\blue_gdr\windows\dxaml\xcp\win\shared\xcpwindow.cpp @ 591]
 00007ffb`2508102b Windows_UI_Xaml!CXcpDispatcher::WindowProc+0xa7 [d:\blue_gdr\windows\dxaml\xcp\win\shared\xcpwindow.cpp @ 417]
 00007ffb`36f02434 user32!UserCallWinProcCheckWow+0x140
 00007ffb`36f02297 user32!DispatchMessageWorker+0x1a7
 00007ffb`36d7c245 combase!ASTAWaitContext::PumpMessages+0xb5 [d:\blue_gdr\com\combase\dcomrem\applicationsta.cpp @ 1605]
 00007ffb`36d655d3 combase!ASTAWaitContext::Wait+0x57f [d:\blue_gdr\com\combase\dcomrem\applicationsta.cpp @ 914]
 00007ffb`36d680d3 combase!ASTAWaitInNewContext+0xc3 [d:\blue_gdr\com\combase\dcomrem\applicationsta.cpp @ 2690]
 00007ffb`36d67fe9 combase!ASTAThreadWaitForHandles+0x75 [d:\blue_gdr\com\combase\dcomrem\applicationsta.cpp @ 2922]
 00007ffb`36d4d40d combase!CoWaitForMultipleHandles+0x69 [d:\blue_gdr\com\combase\dcomrem\sync.cxx @ 121]
 00007ffb`2627d73e Windows_UI_Search!CASTAThreadHost::ASTAThreadHostThreadProc+0x36
 00007ffb`2627d6dd Windows_UI_Search!CASTAThreadHost::s_ASTAThreadHostThreadProc+0x19
 00007ffb`32e58023 SHCore!Microsoft::WRL::FtmBase::MarshalInterface+0x17b
 00007ffb`364c168d kernel32!BaseThreadInitThunk+0xd
 00007ffb`37494629 ntdll!RtlUserThreadStart+0x1d

0:073> dpS 0x10887038 L33
 00007ffb`25195401 Windows_UI_Xaml!CWindowsServices::GetProcessModernAppId+0xa2 [d:\blue_gdr\windows\dxaml\xcp\plat\win\desktop\processcharacteristics.cpp @ 162]
 00007ffb`2511111c Windows_UI_Xaml!DCompTreeHost::EnsureAnimationTrackingAppId+0x86 [d:\blue_gdr\windows\dxaml\xcp\plat\win\desktop\dcomptreehost.cpp @ 1955]
 00007ffb`25110f21 Windows_UI_Xaml!DCompTreeHost::AnimationTrackingScenarioBegin+0x21 [d:\blue_gdr\windows\dxaml\xcp\plat\win\desktop\dcomptreehost.cpp @ 1862]
 00007ffb`25110edd Windows_UI_Xaml!CCoreServices::AnimationTrackingScenarioBegin+0x95 [d:\blue_gdr\windows\dxaml\xcp\core\dll\xcpcore.cpp @ 13268]
 00007ffb`250c3a23 Windows_UI_Xaml!CStoryboard::AnimationTrackingBeginScenario+0x233 [d:\blue_gdr\windows\dxaml\xcp\core\animation\storyboard.cpp @ 1473]
 00007ffb`250c371d Windows_UI_Xaml!CStoryboard::Begin+0x12d [d:\blue_gdr\windows\dxaml\xcp\core\animation\storyboard.cpp @ 564]
 00007ffb`250fcd0c Windows_UI_Xaml!CStoryboard::BeginPublic+0x4c [d:\blue_gdr\windows\dxaml\xcp\core\animation\storyboard.cpp @ 1223]
 00007ffb`250fcca2 Windows_UI_Xaml!DirectUI::StoryboardGenerated::Begin+0x32 [d:\blue_gdr\windows\dxaml\xcp\dxaml\lib\dxaml.g.cpp @ 28081]
 00007ffb`261f3c62 Windows_UI_Search!Windows::UI::Xaml::Media::Animation::IStoryboard::Begin+0xa
 00007ffb`261e5f73 Windows_UI_Search!?OnShown@?QISearchPane@SearchPane@Internal@Search@UI@Windows@@2SearchUI@@UE$AAAXXZ+0x47
 00007ffb`261e5f10 Windows_UI_Search!?__abi_Windows_UI_Search_Internal_SearchPane_ISearchPane____abi_OnShown@?QISearchPane@SearchPane@Internal@Search@UI@Windows@@2SearchUI@@UE$AAAJXZ+0x2c
 00007ffb`26238d0d Windows_UI_Search!CSearchPaneViewDefinition::v_ViewActivated+0x45
 00007ffb`263d72f6 Windows_UI_Search!CXAMLHostWindow::v_WndProc+0x36a
 00007ffb`262a00a6 Windows_UI_Search!CImpWndProc::s_WndProc+0x96
 00007ffb`36f02434 user32!UserCallWinProcCheckWow+0x140
 00007ffb`36f04e83 user32!CallWindowProcW+0x93
 00007ffb`2507ac5f Windows_UI_Xaml!CJupiterWindow::WindowProc+0x1c5 [d:\blue_gdr\windows\dxaml\xcp\dxaml\lib\jupiterwindow.cpp @ 735]
 00007ffb`2507a9b1 Windows_UI_Xaml!CJupiterWindow::StaticWindowProc+0x49 [d:\blue_gdr\windows\dxaml\xcp\dxaml\lib\jupiterwindow.cpp @ 371]
 00007ffb`36f02434 user32!UserCallWinProcCheckWow+0x140
 00007ffb`36f04e83 user32!CallWindowProcW+0x93
 00007ffb`32831392 comctl32!CallNextSubclassProc+0x14d
 00007ffb`32831357 comctl32!DefSubclassProc+0x77
 00007ffb`32831292 comctl32!CallNextSubclassProc+0xae
 00007ffb`32831162 comctl32!MasterSubclassProc+0xa2
 00007ffb`36f02434 user32!UserCallWinProcCheckWow+0x140
 00007ffb`36f03fe2 user32!DispatchClientMessage+0xa2
 00007ffb`36f0409d user32!_fnDWORD+0x2d
 00007ffb`374bc99f ntdll!KiUserCallbackDispatcherContinue
 00007ffb`36f0981a user32!NtUserCallHwndLock+0xa
 00007ffb`263cecc1 Windows_UI_Search!CSearchPaneTypeToSearchService::HandleMessage+0x99
 00007ffb`37282385 rpcrt4!Invoke+0x65
 00007ffb`3738b2d4 rpcrt4!Ndr64StubWorker+0xbb5
 00007ffb`37296cc9 rpcrt4!NdrStubCall3+0x101
 00007ffb`36e9103f combase!CStdStubBuffer_Invoke+0x67 [d:\blue_gdr\com\combase\ndr\ndrole\stub.cxx @ 1586]
 00007ffb`36e90f13 combase!SyncStubInvoke+0x300 [d:\blue_gdr\com\combase\dcomrem\channelb.cxx @ 1664]
 00007ffb`36d23efc combase!CCtxComChnl::ContextInvoke+0x27c [d:\blue_gdr\com\combase\dcomrem\ctxchnl.cxx @ 1377]
 00007ffb`36d650ed combase!DefaultInvokeInApartment+0x49 [d:\blue_gdr\com\combase\dcomrem\callctrl.cxx @ 2718]
 00007ffb`36e970e3 combase!AppInvoke+0x578 [d:\blue_gdr\com\combase\dcomrem\channelb.cxx @ 1475]
 00007ffb`36e9096b combase!ComInvokeWithLockAndIPID+0x661 [d:\blue_gdr\com\combase\dcomrem\channelb.cxx @ 2314]
 00007ffb`36e95fd1 combase!ComInvoke+0x195 [d:\blue_gdr\com\combase\dcomrem\channelb.cxx @ 2030]
 00007ffb`36d5425f combase!ThreadDispatch+0x2b [d:\blue_gdr\com\combase\dcomrem\chancont.cxx @ 364]
 00007ffb`36d6502d combase!CComApartment::ASTAHandleMessage+0x10b [d:\blue_gdr\com\combase\dcomrem\applicationsta.cpp @ 2443]
 00007ffb`36d64f22 combase!ASTAWaitContext::Wait+0x472 [d:\blue_gdr\com\combase\dcomrem\applicationsta.cpp @ 988]
 00007ffb`36d680d3 combase!ASTAWaitInNewContext+0xc3 [d:\blue_gdr\com\combase\dcomrem\applicationsta.cpp @ 2690]
 00007ffb`36d67fe9 combase!ASTAThreadWaitForHandles+0x75 [d:\blue_gdr\com\combase\dcomrem\applicationsta.cpp @ 2922]
 00007ffb`36d4d40d combase!CoWaitForMultipleHandles+0x69 [d:\blue_gdr\com\combase\dcomrem\sync.cxx @ 121]
 00007ffb`2627d73e Windows_UI_Search!CASTAThreadHost::ASTAThreadHostThreadProc+0x36
 00007ffb`2627d6dd Windows_UI_Search!CASTAThreadHost::s_ASTAThreadHostThreadProc+0x19
 00007ffb`32e58023 SHCore!Microsoft::WRL::FtmBase::MarshalInterface+0x17b
 00007ffb`364c168d kernel32!BaseThreadInitThunk+0xd
 00007ffb`37494629 ntdll!RtlUserThreadStart+0x1d

Original issue reported on code.google.com by yukawa@google.com on 5 Jul 2014 at 7:43

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r252.

Original comment by yukawa@google.com on 5 Jul 2014 at 8:37