Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to interpret this stack trace

I recently released a Windows phone 8 app. The app sometimes seem to crash randomly but the problem is it crash without breaking and the only info I get is a message on output that tells me there were an Access violation without giving any details. So after releasing, from the crash reports I was able to obtain some more information, but they're kinda cryptical to me.

The info are:

Problem function: unknown //not very useful Exception type: c0000005 //this is the code for Access violation exception Stack trace:  Frame    Image        Function      Offset  0        qcdx9um8960                0x00035426  1        qcdx9um8960                0x000227e2 

I'm not used to work with memory pointer et similia and I'm not used to see a stack trace like that.

So I have those question:

  1. How should I interpret/read those information, what's the meaning of every piece of information?
  2. Is there a way to leverage those information to target my search for the problem?
  3. Is there a way to get those information while debugging in VS2012

Notes:

  • I'm not asking what an Access Violation is
  • I tagged this as c# and c++ because my code is in c# but the exception is generated (I'm semi-guessing) by c++ implementation for the WebBrowser component

edit:

I tried setting the Debug type to Native only, this let me obtain the same info I had in the crash report on the dev center. This way the debugger break when the exception is thrown and let me see the disassebled code, unfortunately there's no qcdx9um8960 .pdb file (even on Microsoft Symbol Server), so I don't know the function name that caused the error.

like image 992
Fabio Marcolini Avatar asked Sep 06 '13 13:09

Fabio Marcolini


People also ask

What does stack trace represent?

What Does Stack Trace Mean? A stack trace is a report that provides information about program subroutines. It is commonly used for certain kinds of debugging, where a stack trace can help software engineers figure out where a problem lies or how various subroutines work together during execution.

Do you read a stack trace from top to bottom?

Furthermore, a stack trace shows an exact execution path, providing context to developers trying to solve bugs. The first line in the call stack represents the last executed function call, so remember to always read a stack trace top-down.

What does stack trace mean in Python?

The Python stack trace is a valuable piece of information that you can use to debug your code. It contains information about the call stack and points out where things have gone wrong. At the end of a stack trace, you can always find the exact exception type and a detailed message of what's gone wrong.


1 Answers

Curiously, a search on the web for the image name "qcdx9um8960" returns several results referencing Windows Phone 8 and the WebBrowser control. Gathering the answers and replies (some even by MSFT), here is what you should possibly look into:

  • If you upgraded your application from Windows Phone 6/7 to 8, make sure you are not still referencing any 6/7 DLLs. 1
  • Make sure you aren't testing or publishing your software in Debug mode. There is a "qcdx9um8960.pdb" file that might be missing, causing the access violation. 1
  • "...there is a possible race condition known issue if the app has multiple copies of WebBrowser open. See if your code perhaps inadvertently makes more than one instance." 1
  • That image, "qcdx9um8960" is referencing a Qualcomm DirectX driver DLL. Perhaps it's not the WebBrowser component's fault, but the DirectX driver it might be using to render the web pages. 2
  • The name of the image suggests that the crash is happening on devices powered by a Qualcomm Snapdragon S4 Plus with model number MSM8960. 3
  • Assuming the processor above, and cross referencing Windows phones that use that chip, you're likely looking at the issue occurring on the Nokia Lumia 920T. 3 That's not to say that the driver doesn't work on several processor architectures or phones.

There are several other hits regarding crashes and issues debugging in the presence of that DLL, so unfortunately for you, I think you might be at the mercy of some third party software that has a few unresolved issues.


References

1Access Violation since updated to WP8

2[Toolkit][WP8] Performance issues with DepthStencilBuffer

3Snapdragon (system on chip)

like image 139
Cᴏʀʏ Avatar answered Oct 03 '22 14:10

Cᴏʀʏ