locked
App crashes for some users, exception code 0xc000027b from triagedump

    Question

  • These are infrequent and all I have is the triagedump with stack as follows. I have absolutely no idea how to debug this!

    combase.dll!RoFailFastWithErrorContextInternal(long,unsigned long,struct _STOWED_EXCEPTION_INFORMATION_V1 * * const) Unknown
      combase.dll!_RoFailFastWithErrorContext@4() Unknown
      twinapi.appcore.dll!Windows::ApplicationModel::Core::CoreApplication::ForwardLocalError(struct IRestrictedErrorInfo *) Unknown
      twinapi.appcore.dll!Windows::ApplicationModel::Core::CoreApplicationFactory::ForwardLocalError(struct IRestrictedErrorInfo *) Unknown
      combase.dll!CallErrorForwarder(void *,int,struct IRestrictedErrorInfo *) Unknown
      combase.dll!_RoReportUnhandledError@4() Unknown
      mscorlib.ni.dll!6cbc2d42() Unknown
      [Frames below may be incorrect and/or missing, no symbols loaded for mscorlib.ni.dll] 
      [Managed to Native Transition] 
      mscorlib.dll!System.Runtime.InteropServices.WindowsRuntime.WindowsRuntimeMarshal.RoReportUnhandledError(System.Runtime.InteropServices.WindowsRuntime.IRestrictedErrorInfo error) Unknown
      mscorlib.dll!System.Runtime.InteropServices.WindowsRuntime.WindowsRuntimeMarshal.ReportUnhandledError(System.Exception e) Unknown
      [Frames below may be incorrect and/or missing, no binaries loaded for System.Runtime.WindowsRuntime.dll] 
      [Frames below may be incorrect and/or missing, no binaries loaded for System.Runtime.WindowsRuntime.dll] 
      mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Unknown
      mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Unknown
      [Frames below may be incorrect and/or missing, no binaries loaded for System.Runtime.WindowsRuntime.dll] 
      [Native to Managed Transition] 
      [External Code] 
      Windows.UI.dll!Windows::UI::Core::CDispatcher::ProcessInvokeItem() Line 794 C++
      [External Code] 
      Windows.UI.dll!Windows::UI::Core::CDispatcher::ProcessInvokeItem() Line 794 C++
      [External Code] 
      Windows.UI.dll!Windows::UI::Core::CDispatcher::ProcessEvents(Windows::UI::Core::CoreProcessEventsOption options) Line 390 C++
      [External Code] 


    Gerald Maffeo

    Monday, May 12, 2014 8:03 PM

Answers

  • Hi Gerald,

    The crash dump sounds like a System.UnAuthorizedException that could potentially happen due to the async void function declaration and  the hang dump seems to be locked due to similar reasons. Since it’s a triage dump, we can only do very little debugging with it.

    I think you should first change your code to return async Task instead of void to prevent any sort of race conditions when continuing from the returned call to NotifyUser.

    You don’t get a compile error because async void is syntactically correct and can be used for top-level return handlers.

    There is a very good Channel 9 video tip that goes over the pitfalls of async void: http://channel9.msdn.com/Series/Three-Essential-Tips-for-Async/Tip-1-Async-void-is-for-top-level-event-handlers-only.

    Thanks,

    Prashant.


    Windows Store Developer Solutions, follow us on Twitter: @WSDevSol|| Want more solutions? See our blog

    • Marked as answer by GeraldMaffeo Wednesday, May 14, 2014 12:56 AM
    Wednesday, May 14, 2014 12:55 AM
    Moderator

All replies

  • It looks like there is a Stowed Exception stored, if you can share the dump file via OneDrive/DropBox it should help. If you have the Windows Debugger (windbg.exe), you can also run !analyze -v to check what the stowed exception is all about.

    Windows Store Developer Solutions, follow us on Twitter: @WSDevSol|| Want more solutions? See our blog

    Tuesday, May 13, 2014 12:51 AM
    Moderator
  • Prashant - Thanks so much for your speedy reply! Here's a link to both the crash and hang dumps, along with a note with some additional information that might help.

    https://onedrive.live.com/redir?resid=8976472D96FEFA00!53212&authkey=!AHyR6n3C6QeT48A&ithint=folder%2c.txt

    Thanks,

    Gerald


    Gerald Maffeo

    Tuesday, May 13, 2014 5:18 PM
  • Hi Gerald,

    The crash dump sounds like a System.UnAuthorizedException that could potentially happen due to the async void function declaration and  the hang dump seems to be locked due to similar reasons. Since it’s a triage dump, we can only do very little debugging with it.

    I think you should first change your code to return async Task instead of void to prevent any sort of race conditions when continuing from the returned call to NotifyUser.

    You don’t get a compile error because async void is syntactically correct and can be used for top-level return handlers.

    There is a very good Channel 9 video tip that goes over the pitfalls of async void: http://channel9.msdn.com/Series/Three-Essential-Tips-for-Async/Tip-1-Async-void-is-for-top-level-event-handlers-only.

    Thanks,

    Prashant.


    Windows Store Developer Solutions, follow us on Twitter: @WSDevSol|| Want more solutions? See our blog

    • Marked as answer by GeraldMaffeo Wednesday, May 14, 2014 12:56 AM
    Wednesday, May 14, 2014 12:55 AM
    Moderator