[xsd-users] RE: Help to find the cause of the crash

Prakash, Arul Arul.Prakash2 at rsa.com
Sat Mar 22 13:37:08 EDT 2014


More detailed stack trace . I don't know what could be the reason for this Im getting this very rarely in my multithreaded program. Any pointers would be much appreciated. Thanks

ULTING_IP:
aceclnt_tcp!xercesc_3_1::XMLMutex::lock+a [c:\work\xerces-c-3.1.1\xerces-c-3.1.1\src\xercesc\util\mutexes.cpp @ 61]
00537e9a 8b08            mov     ecx,dword ptr [eax]

EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 00537e9a (aceclnt_tcp!xercesc_3_1::XMLMutex::lock+0x0000000a)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000000
   Parameter[1]: 00000000
Attempt to read from address 00000000

FAULTING_THREAD:  000011c4

PROCESS_NAME:  sample.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: 7c800000 ntdll

DEBUG_FLR_IMAGE_TIMESTAMP:  532daa1b

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The memory could not be "%s".

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The memory could not be "%s".

EXCEPTION_PARAMETER1:  00000000

EXCEPTION_PARAMETER2:  00000000

READ_ADDRESS:  00000000

FOLLOWUP_IP:
aceclnt_tcp!xercesc_3_1::XMLMutex::lock+a [c:\work\xerces-c-3.1.1\xerces-c-3.1.1\src\xercesc\util\mutexes.cpp @ 61]
00537e9a 8b08            mov     ecx,dword ptr [eax]

BUGCHECK_STR:  APPLICATION_FAULT_NULL_POINTER_READ_WRONG_SYMBOLS

PRIMARY_PROBLEM_CLASS:  NULL_POINTER_READ

DEFAULT_BUCKET_ID:  NULL_POINTER_READ

LAST_CONTROL_TRANSFER:  from 00537ef1 to 00537e9a

STACK_TEXT:
0264e49c 00537ef1 0264e4d8 0264e4e8 0054c453 aceclnt_tcp!xercesc_3_1::XMLMutex::lock+0xa [c:\work\xerces-c-3.1.1\xerces-c-3.1.1\src\xercesc\util\mutexes.cpp @ 61]
0264e4a8 0054c453 00000000 f90fe718 0264e4d8 aceclnt_tcp!xercesc_3_1::XMLMutexLock::XMLMutexLock+0x21 [c:\work\xerces-c-3.1.1\xerces-c-3.1.1\src\xercesc\util\mutexes.cpp @ 79]
0264e4e8 00464f14 0264e7cc f90febb4 7c83dd0b aceclnt_tcp!xercesc_3_1::DOMImplementationRegistry::getDOMImplementation+0x33 [c:\work\xerces-c-3.1.1\xerces-c-3.1.1\src\xercesc\dom\impl\domimplementationregistry.cpp @ 62]
0264e844 0046211c 0264e880 0264e884 0264e8a0 aceclnt_tcp!xsd::cxx::xml::dom::serialize<char>+0x124 [c:\work\prakaa2_rsablrlegp1-125_2564\library\codesynthesis\xsd\cxx\xml\dom\serialization-source.txx @ 164]
0264e8c8 006fc7dc 0264e8f4 009fa618 009fa5dc aceclnt_tcp!xsd::cxx::xml::dom::serialize<char>+0x7c [c:\work\prakaa2_rsablrlegp1-125_2564\library\codesynthesis\xsd\cxx\xml\dom\serialization-source.hxx @ 74]
0264e908 006fc8c3 0264e92c 0264f864 0264f180 aceclnt_tcp!CommonAPI::authentication::AuthnRequest+0x4c [c:\work\prakaa2_rsablrlegp1-125_2564\dev\auth-agent-sdk\src\auth-c_api\xmllayer\xsdtocpp\commonapi-authn.cxx @ 13886]
0264ed74 00715ff0 0264f71c 0264f864 0264f180 aceclnt_tcp!CommonAPI::authentication::AuthnRequest+0x63 [c:\work\prakaa2_rsablrlegp1-125_2564\dev\auth-agent-sdk\src\auth-c_api\xmllayer\xsdtocpp\commonapi-authn.cxx @ 13755]
0264fa24 00433ac0 01056ee8 0264fb4c f90ff9c8 aceclnt_tcp!XMLWrapper::MarshalUnmarshal::CreateRequest+0x9f0 [c:\work\prakaa2_rsablrlegp1-125_2564\dev\auth-agent-sdk\src\auth-c_api\xmllayer\marshalunmarshal\marshalunmarshal.cpp @ 514]
0264fd1c 00432880 0264fd48 f90ffedc 00000001 aceclnt_tcp!AuthV8Session::processAuthRequest+0x360 [c:\work\prakaa2_rsablrlegp1-125_2564\dev\auth-agent-sdk\src\auth-c_api\authinterface\authv8session.cpp @ 1049]
0264fd90 004326b1 012f4b08 74736574 0264fd00 aceclnt_tcp!AuthV8Session::check+0x110 [c:\work\prakaa2_rsablrlegp1-125_2564\dev\auth-agent-sdk\src\auth-c_api\authinterface\authv8session.cpp @ 786]
0264fdec 004157de f90ffe08 0012e49c 0264fe6b aceclnt_tcp!AuthV8Session::check+0xd1 [c:\work\prakaa2_rsablrlegp1-125_2564\dev\auth-agent-sdk\src\auth-c_api\authinterface\authv8session.cpp @ 755]
0264fe20 67fd23e1 00018690 00404024 0040401c aceclnt_tcp!SD_Check+0x41e [c:\work\prakaa2_rsablrlegp1-125_2564\dev\auth-agent-sdk\src\auth-c_api\aceclnt\sd_api.cpp @ 691]
0264fe34 00401196 00018690 00404024 0040401c ACECLNT!SD_Check+0x29 [c:\work\prakaa2_rsablrlegp1-125_2564\dev\auth-agent-sdk\src\auth-c_api\shim\newsd_api.c @ 103]
WARNING: Stack unwind information not available. Following frames may be wrong.
0264ffb8 77e6482f 00000000 00000000 00000000 sample+0x1196
0264ffec 00000000 00401000 00000000 00000000 kernel32!GetModuleHandleA+0xdf


SYMBOL_STACK_INDEX:  0

SYMBOL_NAME:  aceclnt_tcp!xercesc_3_1::XMLMutex::lock+a

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: aceclnt_tcp

IMAGE_NAME:  aceclnt_tcp.dll

STACK_COMMAND:  ~28s ; kb

BUCKET_ID:  WRONG_SYMBOLS

FAILURE_BUCKET_ID:  NULL_POINTER_READ_c0000005_aceclnt_tcp.dll!xercesc_3_1::XMLMutex::lock

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

From: Prakash, Arul
Sent: Saturday, March 22, 2014 12:28 AM
To: xsd-users at codesynthesis.com
Subject: Help to find the cause of the crash

Hi,

When I run my multithreaded application an  quadcore machine I am facing a crash in xerces dll. My windbg stacktrace points out this

FAULTING_IP:
xerces_c_3_1_vc80!xercesc_3_1::DOMImplementationRegistry::getDOMImplementation+31
120e2681 8b30            mov     esi,dword ptr [eax]

EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 120e2681 (xerces_c_3_1_vc80!xercesc_3_1::DOMImplementationRegistry::getDOMImplementation+0x00000031)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000000
   Parameter[1]: 00000000
Attempt to read from address 00000000

FAULTING_THREAD:  000019ec

I tried to catch this exception with these catch blocks unsuccessfully

catch (const XMLException& toCatch)
    {
        char* message = XMLString::transcode(toCatch.getMessage());
        cout << "xerces exception :" << message;
        XMLString::release(&message);
        return -1;
    }
    catch (const DOMException& toCatch)
    {
        char* message = XMLString::transcode(toCatch.msg);
        cout <<"xerces DOMexception :" << message;
        XMLString::release(&message);
        return -1;
    }

What could be the reason for this exception?

Thanks
Arul


More information about the xsd-users mailing list