3

Let me start with my main questions, then below I will add some specifics and history. I have done research, but can't seem to fit the pieces together. Please ask for clarification before voting me down.

My questions:
Why would my Windows Store app start and run correctly locally on my Win 8.1 64 bit AND my Win 8.1 32 bit (Atom) tablet, but not start for other users?

When I get the dump file from Windows Store certification failure, how can I get the debug symbols to work so I can see more of the issue?

When I build in 'Release' mode, does it actually put the symbols into the .pdb files? And does it index the symbols?

Here's the history:
I developed a little game as a Universal app, Win Phone and Windows Store. Win Phone version is in the store, getting downloaded, and works fine.

The Windows Store version is having issues.

It runs on my machine, Win 8.1 64bit. It runs on my tablet, Win 8.1 Atom, which I install via Remote Debug from within Visual Studio. It passes the App Certification here on my box. But when I submit the package to the Windows Store it doesn't pass, and the report says it crashes when starting up. (Somehow the first appx package was released on the store, then later they replied that it crashes, so some users say the app doesn't load.)

So, I download the debug data and open up the .dmp file. I get Exception Code 0xC000027B

Digging around online, I find this is a 'Language Exception', and is a general error saying the bug was Unhandled. Following articles like this (http://blogs.msdn.com/b/ntdebugging/archive/2014/01/13/debugging-a-windows-8-1-store-app-crash-dump.aspx)

I try to get the symbols for my app to load to see if that will help. I added a folder for my app to my local symbols cache folder (c:\symbols\myApp\1.3.0.7) thinking Visual studio would pick them up, and copied the .exe, .dll, and .pdb files from the apx package that I had submitted to the store, but still get these messages:

'WER38D7.tmp.dmp' (Minidump): Loaded '*CryptoQuoteW8cs.exe'. Module was built without symbols.
'WER38D7.tmp.dmp' (CLR v4.0.30319: ): Loaded '*CryptoQuoteW8cs.exe'. No matching binary found.
'WER38D7.tmp.dmp' (CLR v4.0.30319: ): Loaded '*CryptoLogic.DLL'. No matching binary found.
A fatal exception was caught by the runtime. See $stowedexception in the Watch window to view the original exception information.

So, I'm at a loss. How do I get my app working? What error is holding it up? Why does it work and pass Certification locally, but not on the store? How can I find out? I've been all over Bing and Microsoft, and maybe I'm just not searching for the right thing. Please help!

Edit:
From windbag, I get this call stack.

combase!RoFailFastWithErrorContextInternal2(HRESULT hrError = 0xaaaaaaaa, unsigned long cStowedExceptions = 0xaaaaaaaa, struct _STOWED_EXCEPTION_INFORMATION_V2 ** aStowedExceptionPointers = 0xaaaaaaaa)+0x10a [d:\blue_gdr\com\combase\winrt\error\error.cpp @ 1035]
combase!RoFailFastWithErrorContextInternal(HRESULT hrError = 0xaaaaaaaa, unsigned long cStowedExceptions = 0xaaaaaaaa, struct _STOWED_EXCEPTION_INFORMATION_V1 ** aStowedExceptionPointers = 0xaaaaaaaa)+0x10b [d:\blue_gdr\com\combase\winrt\error\error.cpp @ 948]
kernel32!BaseThreadInitThunk+0xe
ntdll!__RtlUserThreadStart+0x20
ntdll!_RtlUserThreadStart+0x1b
M Kenyon II
  • 4,136
  • 4
  • 46
  • 94
  • create a full dump (procdump -ma -i C:\dumps) and open the dmp with Windbg instead of VS to debug it. Are you able to debug it here? – magicandre1981 Feb 09 '15 at 17:17

1 Answers1

2

ok, with the help of the Windbg Extension PDE.dll from Andrew Richards, I see that your application crashes because of an not handled System.UnauthorizedAccessException.

I used !PDE.dpx -dse to shows all Stowed Exceptions (those 0xC000027B exceptions):

0:006> !PDE.dpx -dse
Start memory scan  : 0x0551fc7c ($csp)
End memory scan    : 0x05520000 (User Stack Base)

0x0551fc94 : 0x012db914 :  !dse combase!STOWED_EXCEPTION_INFORMATION_V1
0x0551fcdc : 0x0163c168 :  !dse combase!STOWED_EXCEPTION_INFORMATION_V1

Now I use !PDE.dse to display its data:

0:006> !PDE.dse 0551fc94
Stowed Exception Array @ 0x0551fc94

Stowed Exception #1 @ 0x012db914
    0x80070005 (FACILITY_WIN32 - Win32 Undecorated Error Codes): E_ACCESSDENIED - General access denied error

    Stack    : 0x163c528
        770ba9f1 combase!RoOriginateLanguageException+0x3b
        6f137872 clr!SetupErrorInfo+0x1e1
        6f1fbc91 clr!MarshalNative::GetHRForException_WinRT+0x7d

>>> Associated CLR Exception <<<

Exception object: 02b424f8
Exception type:   System.UnauthorizedAccessException
Message:          <Invalid Object>
InnerException:   <none>
StackTrace (generated):
    SP       IP       Function
    00000000 00000001 UNKNOWN!UNKNOWN+0x2
    0551FC58 015702E9 CryptoQuoteW8cs!UNKNOWN+0x81
    0551FC6C 01570251 CryptoQuoteW8cs!UNKNOWN+0x11

StackTraceString: <none>
HResult: 80070005

0:006> !PDE.dse 0163c168
Stowed Exception Array @ 0x0163c168

Stowed Exception #1 @ 0x012db914
    0x80070005 (FACILITY_WIN32 - Win32 Undecorated Error Codes): E_ACCESSDENIED - General access denied error

    Stack    : 0x163c528
        770ba9f1 combase!RoOriginateLanguageException+0x3b
        6f137872 clr!SetupErrorInfo+0x1e1
        6f1fbc91 clr!MarshalNative::GetHRForException_WinRT+0x7d

>>> Associated CLR Exception <<<

Exception object: 02b424f8
Exception type:   System.UnauthorizedAccessException
Message:          <Invalid Object>
InnerException:   <none>
StackTrace (generated):
    SP       IP       Function
    00000000 00000001 UNKNOWN!UNKNOWN+0x2
    0551FC58 015702E9 CryptoQuoteW8cs!UNKNOWN+0x81
    0551FC6C 01570251 CryptoQuoteW8cs!UNKNOWN+0x11

StackTraceString: <none>
HResult: 80070005

Stowed Exception #2 @ 0x01639748
    0x80070005 (FACILITY_WIN32 - Win32 Undecorated Error Codes): E_ACCESSDENIED - General access denied error

    Stack    : 0x69d29c4
        6d33bd5e Windows_UI_Xaml!DirectUI::Application::MainASTAInitialize+0xa9
        6d33bb05 Windows_UI_Xaml!DirectUI::FrameworkView::Initialize+0x5a
        6dc5a597 twinapi_appcore!Windows::ApplicationModel::Core::CoreApplicationView::CreateAndInitializeFrameworkView+0xa7
        6dc5a6eb twinapi_appcore!Windows::ApplicationModel::Core::CoreApplicationView::CreateAndInitializeFrameworkView+0x1fb
        74b2a83a SHCore!Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,CScalingInfoBase,Microsoft::WRL::FtmBase,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil>::`vector deleting destructor'+0x189
        772c919f kernel32!BaseThreadInitThunk+0xe
        775a0bbb ntdll!__RtlUserThreadStart+0x20
        775a0b91 ntdll!_RtlUserThreadStart+0x1b

Here you can see that the underlaying issue is the System.UnauthorizedAccessException. The dmp is only a minidump, so I can't see what CryptoQuoteW8cs!UNKNOWN+0x81 does.

Use the Application.UnhandledException event to handle exception that you have not handled via try/catch to prevent the app from crashing.

Here is a good guide on how to handle exceptions:

Strategies for Handling Errors in your Windows Store Apps

magicandre1981
  • 27,895
  • 5
  • 86
  • 127
  • Thank you. I will work on this more when I get home. Not sure how I would have figured this out without your help. I don't like not knowing what lurks under the code I write... but I'm trying to learn. – M Kenyon II Feb 10 '15 at 17:55
  • Also... is there a way to get this Minidump to match up with the PDB files for that particular build? I've seen comments about that online. – M Kenyon II Feb 10 '15 at 17:58
  • "I've seen comments about that online." which comments? – magicandre1981 Feb 11 '15 at 06:08
  • have you found the cause and fixed it? – magicandre1981 Feb 16 '15 at 16:48
  • Not yet. I added the code you suggested, adjusted a couple things I thought it could be, then resubmitted. Still doesn't work, tho I think the error is different. I'll try to get time to post it. – M Kenyon II Feb 18 '15 at 11:14
  • have you added the global error handler? Also share the new dmp that you got. – magicandre1981 Feb 18 '15 at 16:59
  • I will share the new dmp soon. Also, I've got PDE now, but how did you get >>> Associated CLR Exception << – M Kenyon II Feb 19 '15 at 01:52
  • In the x86 version of WinDbg I do this: .load C:\Extensions\Debugger\32bit\pde !PDE.dpx -dse !PDE.dse 0x04fdf1ac .load C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos.dll !sos.dumpccw 0x07364854 Then receive: Failed to load data access DLL, 0x80004005 0x07364854 is the NestedException in the Stowed Exception. – M Kenyon II Feb 19 '15 at 02:16
  • Sorry to flood with posts, but this may help somebody. I got SOS does not match CLR. Did some research, and it basically means the machine that created the dump file has a different CLR than my machine. Went to windows updates, and saw there was a .Net update I didn't have yet. Gonna try that. – M Kenyon II Feb 19 '15 at 02:36
  • run **!sym noisy;.reload /f /v** to load all symbols. And look if the windbg gets all data. I repeated my steps for your last dump and it still shows "System.UnauthorizedAccessException - E_ACCESSDENIED - General access denied error" – magicandre1981 Feb 19 '15 at 06:15
  • Got a bunch of file not founds... propsys.dll, Windows.Storage.ApplicationData.pdb. Still can't figure out what is triggering their ACCESSDENIED. I tested on 64bit, 32bit, Admin account, Standard account, child account. I even tested with no network connection, never get that error myself!!! I also had added the unhandled exception stuff you mentioned. – M Kenyon II Feb 19 '15 at 11:52
  • is it possible to get a full dump when submitting the App? – magicandre1981 Feb 19 '15 at 17:05
  • Not sure how to get the full dump from a Windows Store app. I tried making a few changes, dropping a couple features to see if a simpler app would work. I also wrapped some things in try... catch statements. Now even tho I can run the app and play the game, it fails certification locally. This is the only error and I don't know why it was blocked: ◦The test was blocked from execution. Please try re-running the validation. If the test execution remains blocked then please contact support. – M Kenyon II Feb 20 '15 at 12:02
  • I have no other idea. Call the support for more help. – magicandre1981 Feb 22 '15 at 07:48
  • I got no output with your command – Luca Ziegler Aug 31 '23 at 20:47
  • so the dump doesn't include tha required data. I saw this for WinUI3 apps, too. – magicandre1981 Sep 01 '23 at 05:43