How to analyze exception after Chrome Aw Snap using windbg - windows

I keep having "Aw Snap" in my web application. Using windbg and with the help of How do I debug a tab crash in Google Chrome I tried to figure out the problem.
Step I've done so far:
Got a .dmp file from Crashes directory
Loaded it into windbg
Managed to see the stack (using "k")
When trying !analyze does not show anything meaningful
What do I need to see the module that cause the crash
How to progress from here?
EDIT:
There was a typo. "!analyze -v" does the work which is similar to:
kb, dd, .exr, .cxr, kv
For all Chrome AwSnappers - !analyze -v is what you are looking for
Info below...
0:000> !analyze
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
Use !analyze -v to get detailed debugging information.
GetPageUrlData failed, server returned HTTP status 404
URL requested: http://watson.microsoft.com/StageOne/chrome_exe/27_0_1446_3/5148bbf0/unknown/0_0_0_0/bbbbbbb4/c0000005/24430fba.htm?Retriage=1
Probably caused by : chrome.dll ( chrome!v8::internal::Invoke+14a )
Followup: MachineOwner
---------
0:000> analyze -v
*** WARNING: Unable to verify timestamp for pdf.dll
*** ERROR: Module load completed but symbols could not be loaded for pdf.dll
*** WARNING: Unable to verify timestamp for icudt.dll
*** ERROR: Module load completed but symbols could not be loaded for icudt.dll
*** WARNING: Unable to verify timestamp for ppGoogleNaClPluginChrome.dll
The stack shows this:
0:000> k
ChildEBP RetAddr
0039e438 76ea15e9 ntdll!ZwWaitForMultipleObjects+0x15
0039e4d4 75dc1a2c KERNELBASE!WaitForMultipleObjectsEx+0x100
0039e51c 75dc4220 kernel32!WaitForMultipleObjectsExImplementation+0xe0
0039e538 012d0572 kernel32!WaitForMultipleObjects+0x18
0039e55c 012d0688 chrome!google_breakpad::CrashGenerationClient::SignalCrashEventAndWait+0x45 [c:\b\build\slave\win\build\src\breakpad\src\client\windows\crash_generation\crash_generation_client.cc # 369]
0039e56c 012cfb89 chrome!google_breakpad::CrashGenerationClient::RequestDump+0x4f [c:\b\build\slave\win\build\src\breakpad\src\client\windows\crash_generation\crash_generation_client.cc # 333]
0039e588 012cff6a chrome!google_breakpad::ExceptionHandler::WriteMinidumpWithException+0x30 [c:\b\build\slave\win\build\src\breakpad\src\client\windows\handler\exception_handler.cc # 817]
0039e5ac 75e0003f chrome!google_breakpad::ExceptionHandler::HandleException+0x46 [c:\b\build\slave\win\build\src\breakpad\src\client\windows\handler\exception_handler.cc # 476]
0039e634 779774df kernel32!UnhandledExceptionFilter+0x127
0039e63c 779773bc ntdll!__RtlUserThreadStart+0x62
0039e650 77977261 ntdll!_EH4_CallFilterFunc+0x12
0039e678 7795b459 ntdll!_except_handler4+0x8e
0039e69c 7795b42b ntdll!ExecuteHandler2+0x26
0039e6c0 7795b3ce ntdll!ExecuteHandler+0x24
0039e74c 77910133 ntdll!RtlDispatchException+0x127
0039e74c 00000000 ntdll!KiUserExceptionDispatcher+0xf

0039e634 779774df kernel32!UnhandledExceptionFilter+0x127
The UnhandledExceptionFilter function is called when no exception handler is defined to handle the exception that is raised.
HOW TO: Find the Problem Exception Stack When You Receive an UnhandledExceptionFilter Call in the Stack Trace

Related

How to determine location in code where segfault occurred using syslog message?

I have some code that can't be run under GDB because it's an embedded system. However, in the syslog I will occasionally see the following:
kernel: nam[13986]: segfault at b579000 ip b71737dc sp b5120c9c error 4 in libc-2.5.so[b7102000+13f000]
Is there some way to find where in the code this error occurred using the numbers listed in the error output above?
Yes, ip stands for "instruction pointer", and it's the location of the crash. In the quoted message, it's 0xb71737dc.

Webcam Performance System Test - WNCameraRequirements - Error: parseEtl Failed with error REGDB_E_CLASSNOTREG (0x80040154)

I am running whck performance tests on our camera, the test that currently fails is:
Webcam Performance System Test - WNCameraRequirements
the test iterates thourgh the camera media types and records a etl file as expected, its stops and closes the camera but then the test fails due to the parsing of the etl file, the logs:
Start Operation: parseEtl average 250 endGuid
{B8197C10-845F-40ca-82AB-9341E98CFC2B} endId 215 max 275 name Time to
switch Preview MediaTypes scenario DiffEventSeries skip 1 startGuid
{B8197C10-845F-40ca-82AB-9341E98CFC2B} startId 243
Parsing Etl: previewIterateMediaTypes_7-20_10-22-58.etl
Warning: CoCreateInstance(CLSID_EtwFilter, NULL, CLSCTX_ALL, IID_IEtwFilter,
(void**)spEtwFilter.ReleaseAndGetAddressOf()) failed with
REGDB_E_CLASSNOTREG (0x80040154)
Warning:
* File: testsrc\multimediatest\common\helpers\capture\videocaptureperf\videocaptureperf.cpp
Ln: 260
Warning: DiffEventSeries( etlFileName, pszStartEventGuid,
startId, pszEndEventGuid, endId, &min, &max, &ave, skip,
m_spLog.Get()) failed with REGDB_E_CLASSNOTREG (0x80040154)
Warning:
* File: testsrc\multimediatest\common\helpers\capture\captureengine\captureengineautomation.cpp
Ln: 2109
Error: parseEtl Failed with error REGDB_E_CLASSNOTREG
(0x80040154)
I tried searcing for a missing dll for ETW but I found nothing related. seems like theres a bug in the whck test while trying to parse the generated etl file... is this Error seems familier to anyone??
thanks!
I used the wrong whql tests platform version (needed x64), and I needed to regsvr32 etwpatterns.dll. that being said, this test is filtered out by microsoft (whql filters) so we eventually ignored it.

New Relic, Heroku error: ERROR : [New Relic] Error running task in worker loop, likely a server error

I am using Papertrail to monitor my heroku app and it seems that I am getting this same error repeatedly:
app/web.2: ** [NewRelic][12/13/13 17:14:17 +0000 f00d3735-79e0-4b0a-9e0d-9315444e2641 (2)] ERROR : Error running task in worker loop, likely a server error:
I read in the ruby docs here that this is probably:
This is probably a server error which has been logged in the server along
# with your account name. Check and see if the agent listener is in the
# stack trace and log it quietly if it is.
I am not quite sure how to debug it and would love some help. Thanks!
Please let me know if my source code would be helpful

"Execution was interrupted, reason: breakpoint" when trying to print something from the Xcode console

I paused my app and tried printing something to the console. (e.g. po foo()). After doing so, I got the following message:
error: Execution was interrupted, reason: breakpoint 2.1.
The process has been returned to the state before execution.
However, there are no breakpoints in that function. Why is it showing me this error and not executing the function?
This is on Xcode 4.6.
It turns out that the breakpoint in question (2.1) was the All Exceptions breakpoint. The method I was calling raised an exception, which caused the All Exceptions breakpoint to be hit. po will stop execution once a breakpoint is reached (see this answer for more info).
If you disable the All Exceptions breakpoint and run it again, it is more clear that there was an exception:
error: Execution was interrupted, reason: signal SIGSTOP.
The process has been returned to the state before execution.
If you always leave the All Exceptions breakpoint enabled, then the message can be ambiguous: did it reach a breakpoint because there really was a breakpoint somewhere along the execution path, or was an exception raised?
An alternative solution (which doesn't require disabling the All Exceptions breakpoint) is to use expr instead of po (see the link above for a description of the following flags).
Running expr -u 0 -o -- foo() produces the following output:
error: Execution was interrupted, reason: breakpoint 2.1 -2.1.
The process has been left at the point where it was interrupted.
* thread #1: tid = [...] libobjc.A.dylib`objc_exception_throw, stop reason = breakpoint 2.1 -2.1
frame #0: [...] libobjc.A.dylib`objc_exception_throw
The objc_exception_throw string is a hint that an exception was raised.

Running OpenMPI on Windows XP

I'm trying to build a simple cluster based on Windows XP. I compiled OpenMPI-1.4.2 successfully, and tools like mpicc and ompi_info work too, but I can't get my mpirun working properly. The only output I can see is
Z:\>orterun --hostfile z:\hosts.txt -np 2 hostname
[host0:04728] Failed to initialize COM library. Error code = -2147417850
[host0:04728] [[8946,0],0] ORTE_ERROR_LOG: Error in file ..\..\openmpi-1.4.2
\orte\mca\ess\hnp\ess_hnp_module.c at line 218
--------------------------------------------------------------------------
It looks like orte_init failed for some reason; your parallel process is
likely to abort. There are many reasons that a parallel process can
fail during orte_init; some of which are due to configuration or
environment problems. This failure appears to be an internal failure;
here's some additional information (which may only be relevant to an
Open MPI developer):
orte_plm_init failed
--> Returned value Error (-1) instead of ORTE_SUCCESS
--------------------------------------------------------------------------
[host0:04728] [[8946,0],0] ORTE_ERROR_LOG: Error in file ..\..\openmpi-1.4.2
\orte\runtime\orte_init.c at line 132
--------------------------------------------------------------------------
It looks like orte_init failed for some reason; your parallel process is
likely to abort. There are many reasons that a parallel process can
fail during orte_init; some of which are due to configuration or
environment problems. This failure appears to be an internal failure;
here's some additional information (which may only be relevant to an
Open MPI developer):
orte_ess_set_name failed
--> Returned value Error (-1) instead of ORTE_SUCCESS
--------------------------------------------------------------------------
[host0:04728] [[8946,0],0] ORTE_ERROR_LOG: Error in file ..\..\..\..\openmpi
-1.4.2\orte\tools\orterun\orterun.c at line 543
Where z:\hosts.txt appears as follows:
host0
host1
Z: is a shared network drive available to both host0 and host1.
What my problem is and how do I fix it?
Upd:
Ok, this problem seems to be fixed. It seems to me that WideCap driver and/or software components causes this error to appear. A "clean" machine runs local task successfully. Anyway, I still cannot run a task within at least 2 machines, I'm getting following message:
Z:\>mpirun --hostfile z:\hosts.txt -np 2 hostname
connecting to host1
username:MAIN\cluster
password:********
Save Credential?(Y/N) y
[host0:04728] This feature hasn't been implemented yet.
[host0:04728] Could not connect to namespace cimv2 on node host1. Error code =-2147217400
--------------------------------------------------------------------------
mpirun was unable to start the specified application as it encountered an error.
More information may be available above.
--------------------------------------------------------------------------
I googled a little and did all the things as described here: http://www.open-mpi.org/community/lists/users/2010/03/12355.php but I'm still getting the same error. Can anyone help me?
Upd2:
Error code -2147217400 might be WMI error WBEM_E_INVALID_PARAMETER (0x80041008) which occures when one of the parameters passed to the WMI call is not correct. Does this mean that the problem is in OpenMPI source code itself? Or maybe it's because of wrong/outdated wincred.h and credui.lib I used while building OpenMPI from the source code?

Resources