|
Boost Users : |
Subject: [Boost-users] null instruction ptr bugcheck in regexp
From: Heidi Zhou (heidi_zhou_at_[hidden])
Date: 2009-07-24 15:52:59
Hello!
I am using boost regexp to do string/expression match. I got several dump files that have the same call stack when the crash happends. What my code does is copying user buffer (containing string to be mached) to an internal allocated buffer and then call boost regexp functions.
From the following result of windbg's "analyze", can you tell what cause the null intrstrucation ptr? I check the memory that contains the string to macht and didn't find any wrong.
Also, btw, where can I find boost pdb?
Thank you.
====================================================
FAULTING_IP:
+0
00000000 ?? ???
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 00000000
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 00000000
Attempt to read from address 00000000
PROCESS_NAME: nlca_service.exe
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:
nlca_framework+4578a
1004578a 84c0 test al,al
FAILED_INSTRUCTION_ADDRESS:
+0
00000000 ?? ???
NTGLOBALFLAG: 0
APPLICATION_VERIFIER_FLAGS: 0
FAULTING_THREAD: 00000574
BUGCHECK_STR: APPLICATION_FAULT_NULL_INSTRUCTION_PTR_INJECTED_CRASH
PRIMARY_PROBLEM_CLASS: NULL_INSTRUCTION_PTR
DEFAULT_BUCKET_ID: NULL_INSTRUCTION_PTR
LAST_CONTROL_TRANSFER: from 1004578a to 00000000
STACK_TEXT:
WARNING: Frame IP not in any known module. Following frames may be wrong.
0134fd08 1004578a 0134fde8 00000001 10036e74 0x0
0134fd14 10036e74 00000008 0134fde8 00000002 nlca_framework!boost::re_detail::perl_matcher<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> ,std::allocator<boost::sub_match<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >,boost::regex_traits<wchar_t,boost::w32_regex_traits<wchar_t> > >::match_all_states+0x9a
0134fd4c 1004578a 0134fde8 0114229c 10046239 nlca_framework!boost::re_detail::perl_matcher<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::allocator<boost::sub_match<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >,boost::regex_traits<wchar_t,boost::w32_regex_traits<wchar_t> > >::match_startmark+0x194
0134fd58 10046239 0134fde8 10046370 0112fea4 nlca_framework!boost::re_detail::perl_matcher<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::allocator<boost::sub_match<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >,boost::regex_traits<wchar_t,boost::w32_regex_traits<wchar_t> > >::match_all_states+0x9a
0134fd60 10046370 0112fea4 006ba6e0 0134fda8 nlca_framework!boost::re_detail::perl_matcher<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::allocator<boost::sub_match<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >,boost::regex_traits<wchar_t,boost::w32_regex_traits<wchar_t> > >::match_prefix+0x39
0134fd78 10049e71 eaa88d5d 0112fea4 006ba6e0 nlca_framework!boost::re_detail::perl_matcher<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::allocator<boost::sub_match<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >,boost::regex_traits<wchar_t,boost::w32_regex_traits<wchar_t> > >::find_restart_any+0xe0
0134fda8 10036cc8 eaa88d41 100606e8 0134fde8 nlca_framework!boost::re_detail::abstract_protected_call::execute+0x41
0134fdc8 10046f4a 10046b40 10010cbc eaa88d29 nlca_framework!boost::re_detail::perl_matcher<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::allocator<boost::sub_match<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >,boost::regex_traits<wchar_t,boost::w32_regex_traits<wchar_t> > >::protected_call+0x48
0134fdd0 10010cbc eaa88d29 0112fea4 006ba6e0 nlca_framework!boost::re_detail::perl_matcher<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::allocator<boost::sub_match<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >,boost::regex_traits<wchar_t,boost::w32_regex_traits<wchar_t> > >::find+0xa
0134fe78 100112bb 0112fea4 0114e3c8 0112fea4 nlca_framework!boost::regex_search<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> ,std::allocator<boost::sub_match<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >,wchar_t,boost::regex_traits<wchar_t,boost::w32_regex_traits<wchar_t> > >+0xac
0134ff24 1001166d 0112fea4 006ba6e0 00000000 nlca_framework!NLCA::ContentAnalysisRPCTask::`scalar deleting destructor'+0x12b
0134ff48 72881657 00000007 0112fea4 0113ff00 nlca_framework!NLCA::ContentAnalysisRPCTask::CloneTask+0x1cd
0134ff98 7288880f 0016b8f0 00000001 00000000 vcomp!_vcomp::ParallelRegion::HandlerThreadFunc+0xd7
0134ffb4 7c80b729 0016b880 00000000 00000000 vcomp!_vcomp::NullAPCFunc+0x7f
0134ffec 00000000 728887d0 0016b880 00000000 kernel32!BaseThreadStart+0x37
SYMBOL_STACK_INDEX: 1
SYMBOL_NAME: nlca_framework+4578a
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: nlca_framework
IMAGE_NAME: nlca_framework.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 49950ed6
STACK_COMMAND: ~11s; .ecxr ; kb
FAILURE_BUCKET_ID: NULL_INSTRUCTION_PTR_c0000005_nlca_framework.dll!Unknown
BUCKET_ID: APPLICATION_FAULT_NULL_INSTRUCTION_PTR_INJECTED_CRASH_NULL_IP_nlca_framework+4578a
Followup: MachineOwner
---------
Heidi
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net