Crash at program end while collecting tracing data (Windows, ia32, vc12)

Crash at program end while collecting tracing data (Windows, ia32, vc12)

Hi,

I am using fgd_alpha_4.14483_windows_x64 to collect tbb::flow::graph data from our application, but get some problems. TBB version tbb43_20150611oss.

With the example code, (vc12/ia32, same linkage setting with our product) I can successfully have tracing data generated by double-clicking the exe file. So I guess my environment is properly set.

When I try to collect tracing data from our product, I get crash. The detailed information is attached below.

I have confirmed that all graph are properly destroyed at then exit of our application. What could be the reason causing the crash?

Thanks!

0:000> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

***** OS symbols are WRONG. Please fix symbols to do analysis.

*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: ntdll!_PEB                                    ***
***                                                                   ***
*************************************************************************
*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: kernel32!pNlsUserInfo                         ***
***                                                                   ***
*************************************************************************
*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: kernel32!pNlsUserInfo                         ***
***                                                                   ***
*************************************************************************

FAULTING_IP: 
ntdll!RtlUlonglongByteSwap+1baf0
77cf90e0 a1b400d677      mov     eax,dword ptr [ntdll!NlsAnsiCodePage+0xa4 (77d600b4)]

EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 77cf90e0 (ntdll!RtlUlonglongByteSwap+0x0001baf0)
   ExceptionCode: c000000d
  ExceptionFlags: 00000000
NumberParameters: 0

FAULTING_THREAD:  000011d8

PROCESS_NAME:  Recomputor.exe

ADDITIONAL_DEBUG_TEXT:  
Use '!findthebuild' command to search for the target build information.
If the build information is available, run '!findthebuild -s ; .reload' to set symbol path and load symbols.

FAULTING_MODULE: 77c60000 ntdll

DEBUG_FLR_IMAGE_TIMESTAMP:  524f7ce6

ERROR_CODE: (NTSTATUS) 0xc000000d - An invalid parameter was passed to a service or function.

EXCEPTION_CODE: (NTSTATUS) 0xc000000d - An invalid parameter was passed to a service or function.

BUGCHECK_STR:  APPLICATION_FAULT_WRONG_SYMBOLS_SHUTDOWN

PRIMARY_PROBLEM_CLASS:  WRONG_SYMBOLS_SHUTDOWN

DEFAULT_BUCKET_ID:  WRONG_SYMBOLS_SHUTDOWN

LAST_CONTROL_TRANSFER:  from 769df07d to 77cf90e0

STACK_TEXT:  
WARNING: Stack unwind information not available. Following frames may be wrong.
0046f430 769df07d 0046f458 63a83d52 0a896088 ntdll!RtlUlonglongByteSwap+0x1baf0
0046f448 63a73be5 63a83d52 0a896088 00000000 KERNEL32!CreateThreadpoolWait+0x18
0046f45c 63a73f17 63a83d52 0a896088 00000000 MSVCR120!_unDName+0x334
0046f494 63aa312d 00000000 57b53318 064e1d88 MSVCR120!Concurrency::GetOSVersion+0x99
0046f4c4 63a73e1f 00000000 064e1d88 00000000 MSVCR120!modf+0xef0d
0046f4e4 63a73e56 00000000 0046f550 00000000 MSVCR120!_crtCreateEventExW+0x238
0046f500 63a648ca 69415170 0ac78374 769c1430 MSVCR120!_crtCreateEventExW+0x26f
0046f53c 63abf405 ffffffff 00000000 0ac174b0 MSVCR120!strcpy_s+0xfd
0046f568 63b6ee7c 00000000 00000001 00000000 MSVCR120!Concurrency::critical_section::lock+0x17
0046f594 63b6f024 69415170 00000000 0046f61c MSVCP120!Thrd_yield+0xd3
0046f5a4 6940ca58 69415170 5eb2a0a3 00000000 MSVCP120!Mtx_lock+0xd
0046f61c 6940fe1a 69400000 00000000 00000001 fgt+0xca58
0046f630 77c992e0 69400000 00000000 00000001 fgt!_itt_task_group+0x1cfa
0046f650 77cb9da4 6940fdfe 69400000 00000000 ntdll!RtlQueryEnvironmentVariable+0x241
0046f6f4 77cb9c46 00000000 00000000 00000001 ntdll!LdrShutdownProcess+0x141
0046f708 769c79dc 00000000 77e8f3b0 ffffffff ntdll!RtlExitUserProcess+0x74
0046f71c 75144058 00000000 57b0250b 00000000 KERNEL32!ExitProcessStub+0x12
0046f794 7548164f 77c8019d 0046f7c8 00000001 mscoreei!ND_WU1+0xc89
0046f7ac 7548164f 77c8e394 779c3bf8 0046f9d0 KERNELBASE!WaitForMultipleObjectsEx+0x158
0046f7b0 77c8e394 779c3bf8 0046f9d0 0055019c KERNELBASE!WaitForMultipleObjectsEx+0x158
0046f838 77c8e394 77c8e0e2 0046f9d0 00585d80 ntdll!RtlInitUnicodeString+0x164
0046f83c 77c8e0e2 0046f9d0 00585d80 74b86588 ntdll!RtlInitUnicodeString+0x164
0046f87c 77c9dcc0 00550000 00d3ffb0 00000000 ntdll!RtlAllocateHeap+0xac
0046f8c4 75134a10 064b2a40 0046f938 7513487a ntdll!RtlIntegerToUnicodeString+0xfb
0046f8d0 7513487a 064b2a40 74b86578 0046f9d0 mscoreei!CreateInterface+0xb86
0046f938 7513498b 74b86588 74b86578 751349a7 mscoreei!CreateInterface+0x9f0
0046f9b0 74c14104 064b2a40 00000000 57b2af20 mscoreei!CreateInterface+0xb01
0046f9e8 74c1409e 00000000 00000000 7efde000 clr!EEPolicy::ExitProcessViaShim+0x65
0046fc1c 74bfc946 00000000 00000006 0046fc80 clr!SafeExitProcess+0x129
0046fc2c 74bfc98d 00000000 00000000 01000000 clr!HandleExitProcessHelper+0x5d
0046fc40 74bf3fca 57b2aa48 00000000 00000000 clr!EEPolicy::HandleExitProcess+0x50
0046fc80 74bf6b86 57b2aa74 00000000 00000000 clr!_CorExeMainInternal+0x1b1
0046fcbc 7513ffcc 57b02067 00000000 769c1222 clr!_CorExeMain+0x4d
0046fcfc 751b7f16 00000000 75130000 0046fd20 mscoreei!CorExeMain+0x71
0046fd0c 751b4de3 00000000 769c337a 7efde000 MSCOREE!CreateConfigStream+0x13f
0046fd20 77c99882 7efde000 779c3ea4 00000000 MSCOREE!CorExeMain+0x8
0046fd60 77c99855 751b4ddb 7efde000 00000000 ntdll!RtlInitializeExceptionChain+0x63
0046fd78 00000000 751b4ddb 7efde000 00000000 ntdll!RtlInitializeExceptionChain+0x36


FOLLOWUP_IP: 
MSVCR120!_unDName+334
63a73be5 5d              pop     ebp

SYMBOL_STACK_INDEX:  2

SYMBOL_NAME:  MSVCR120!_unDName+334

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: MSVCR120

IMAGE_NAME:  MSVCR120.dll

STACK_COMMAND:  ~0s ; kb

BUCKET_ID:  WRONG_SYMBOLS

FAILURE_BUCKET_ID:  WRONG_SYMBOLS_SHUTDOWN_c000000d_MSVCR120.dll!_unDName

WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/Recomputor_exe/1_0_0_0/561dfb92/ntdll_dll/6_1_7601_19018/5609fe30/c000000d/000990e0.htm?Retriage=1

Followup: MachineOwner
---------

Environment path is set as below:

FGD_ROOT=D:\fgd_alpha_4.14483_windows_x64
FGT_ROOT=D:\fgd_alpha_4.14483_windows_x64\fgt
INTEL_ITTNOTIFY_GROUPS=all
INTEL_LIBITTNOTIFY32=D:\fgd_alpha_4.14483_windows_x64\fgt\windows\bin\ia32\vc12\
fgt.dll
INTEL_LIBITTNOTIFY64=D:\fgd_alpha_4.14483_windows_x64\fgt\windows\bin\intel64\vc
12\fgt.dll
Path=D:\fgd_alpha_4.14483_windows_x64\fgt\windows\bin;D:\fgd_alpha_4.14483_windo
ws_x64\fgt\windows\bin\ia32\vc12;...

 

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hello Xin,

Thank you for the detailed report. Can you tell me if you were attempting to collect the data from the command-line collector or if you were collecting the traces from within the GUI?

If you were using the command-line approach, can you detail the steps you performed?

Thanks,

--Vasanth

Hi Vasanth,

I tried to collect the data from both the command-line collector and the FGD GUI.

From the command-line: fgtrun.bat my_application.exe

Because my_application.exe is compiled against ia32 platform of vc12, I also tried to modify fgtrun.bat to pass corresponding arguments to fgtvars.bat. Unfortunately none of the origin fgtrun.bat or the modified version works: my_application.exe crashes at the end of execution with call stack shown above.

I also tried to use FGD GUI to collect the data, but it hangs at the end instead of crash. I don't have the call stack now, but looks like it's waiting on some lock.

Let me know if you need more information.

Thanks,

Xin Huang

Leave a Comment

Please sign in to add a comment. Not a member? Join today