My application for the Windows 8 Store crashes in the Certification Kit application, how can I find out why?

Therefore, when I create an application package, the Windows App Certification Kit does not work:

Crash and freeze. • An error has been detected. A crash test has been detected. following errors: ◦Appendix 47878User.MyApp_1.0.0.3_neutral__a2qvk4qzttz7j was detected by Windows Error Reporting and a crash or freeze occurred.

In my event log, I see the following:

Application: MyApp.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Information: System.Exception Stack: at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () at System.Threading.WinRTSynchronizationContext + Invoker.b__0 (System.Object) in System.Threading.QueueUserWorkItemCallback.WaitCallback_onject_context System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) in System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCjectback , Boolean) in System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () in System.Threading.ThreadPoolWorkQueue.Dispatch () in System.Threading._ThreadPoolWaitCallback.Perform

and

Invalid application name: MyApp.exe, version: 1.0.0.0, time stamp: 0x50546b92 Module name error: KERNELBASE.dll, version: 6.2.9200.16384, time stamp: 0x5010ac2f
Exception Code: 0xe0434352
Error Offset: 0x00014b32
Failure Process ID: 0x1894
Application Failure Time: 0x01cd933a183ece6a
Application path failure: C: \ Program Files \ WindowsApps \ 47878User.MyApp_1.0.0.3_neutral__a2qvk0qzyyn7m \ MyApp.exe
Module path error: C: \ Windows \ SYSTEM32 \ KERNELBASE.dll Report ID: 6b9e9db3-ff2d-11e1-be8d-001c42ac6e2f Faulty fully qualified package name: 47878User.MyApp_1.0.0.3_neutral__a2qvk0qzyynm

The problem is that for my life I can not reproduce any failure, neither in debug mode, nor in release mode, do not force suspend / reactivate events, etc.

When a Windows application certification application starts my application on the 6th (or 7th) time, my pop-up screen does not appear for long, then my application disappears (crash, probably).
What does WAPK do in the 6th run, and how can I reproduce / debug this?

+7
source share
4 answers

I am not an expert, but I just went through the same process with my application to find out if I can decide what is happening. Below is what I did (in the hope that this is useful to someone else).

Certification Kit Results

FAILED: crashes and freezes

Error detected: The following errors were detected as a result of crashes and freezes:

The neutral__6j94sra26jgtm application was detected in Windows error reports and it crashed or hung. Impact, if not fixed: An application that stops responding or crashes can lead to data loss and a poor user interface. How to fix it: examine, debug the executable file (s) to identify and fix the problem, and then rebuild and re-test the application. Use Application Verifier throughout the software development life cycle.

It did not help. I assume the link was updated after this discussion , however I did not think it was useful.

Study

Some errors are logged in the event viewer (Windows key + R, type "eventvwr"). I see three useful entries:

  • Windows Error Event
  • Application Error Event
  • .NET Runtime Event

The Windows error message event contains a bit more information, including some file paths where you saved the log file.

I ended up running the Windows Application Certification Tool from the command line and isolated the test that failed the PerfromanceShutdown test. The command used to run from the command line:

 C:\Program Files (x86)\Windows Kits\8.0\App Certification Kit>appcert test -apptype windowsstoreapp -packagefullname <applicationfullname> -reportoutputpath e:\Projects\AlbumFlow.Win8\output1.xml 

This leads us to something that happens in the suspend / exit / resume methods.

Another place I looked was C:\Users\<userName>\AppData\Local\Microsoft\AppCertKit . This had a couple of files with large files (~ 100 MB) of Windows Performance Analysis. It looked helpful, but I didn't understand it.

Solution While I was looking at the trace files, other people on the team found that the pause manager did not close the file links correctly.

This can be reproduced using the DebugLocation toolbar in visual studio . Selecting pause, resume, pause, and end playback has caused a problem.

Hope this helps someone, as it seems to be a bit of a dark art debugging these errors.

+7
source

Ok, I found the problem a couple of days ago .

I have not tested the suspend and shutdown script.

If anyone has a similar problem; enable the "Debug location" toolbar ("View" → "Toolbars" - "Debug location")

Start debugging and select the Suspend and Shutdown option.

I had an unhandled Exception in my OnSuspending event.

+4
source

For all of you who come to this question, I’m deeply upset and do not understand why there are no dumps, no signs of an actual crash or freeze, no new entries from the Windows error report appearing in the application event log, I have a recipe:

Clear the application event log.

In my case, I had the following problem: at one time, QA set the device time in the future to test some applications. We are unlucky to launch WACK in the future. And our app crashed. After the time turned to the actual one, we never managed to minimize WACK and hang the test on this device again. The reason was because WACK itself uses the Windows event log to search for reports from the Windows error report. And in this case, he finds them, because they are actually still there in the future. What's even worse is that these future entries are actually pushed out from the bottom in the default event view by those that appeared later, despite the timestamp, so they are difficult to access unless you explain the event log sorted by date and time.

It is a pity that I did not save a few hours from my head.

+1
source

You will also fail these Crash and Hang tests if you have disabled UAC.

0
source

All Articles