Boost logo

Boost Users :

From: Brad Barber (bbarber_at_[hidden])
Date: 2006-04-24 10:41:51


If my code contains the following regexp,

            const boost::tregex non_printables(__T("[^\0x21-\0x7E]+"));

 

The program throws the following dialog box on initialization. The
stack trace follows.

 

 

 

Please forward to someone who cares :-)

 

The following regexp, works as expected

            const boost::tregex non_printables(__T("[^!-~]+"));

 

 
--Brad

 

            ntdll.dll!_KiFastSystemCallRet_at_0()

            ntdll.dll!_ZwWaitForMultipleObjects_at_20() + 0xc bytes

            kernel32.dll!_UnhandledExceptionFilter_at_4() + 0x84b bytes

            mscoree.dll!_abort() + 0xeb bytes

            mscoree.dll!terminate() + 0x2a bytes

            mscoree.dll!__CxxUnhandledExceptionFilter() + 0x39 bytes

            kernel32.dll!_UnhandledExceptionFilter_at_4() + 0x149 bytes

> msvcr80d.dll!_XcptFilter(unsigned long xcptnum=3765269347,
_EXCEPTION_POINTERS * pxcptinfoptrs=0x0007da0c) Line 237 + 0xa bytes
C

            msvcr80d.dll!__CppXcptFilter(unsigned long
xcptnum=3765269347, _EXCEPTION_POINTERS * pxcptinfoptrs=0x0007da0c)
Line 147 + 0xd bytes C

            mathdlld.dll!__DllMainCRTStartup(void *
hDllHandle=0x01010000, unsigned long dwReason=1, void *
lpreserved=0x00000000) Line 517 + 0x17 bytes C

            msvcr80d.dll!@_EH4_CallFilterFunc_at_8() + 0x12 bytes Asm

            mathdlld.dll!_except_handler4(_EXCEPTION_RECORD *
ExceptionRecord=0x0007db20, _EXCEPTION_REGISTRATION_RECORD *
EstablisherFrame=0x0007e15c, _CONTEXT * ContextRecord=0x0007db40, void *
DispatcherContext=0x0007daf4) + 0x22 bytes C

            ntdll.dll!ExecuteHandler2_at_20() + 0x26 bytes

            ntdll.dll!ExecuteHandler_at_20() + 0x24 bytes

            ntdll.dll!_KiUserExceptionDispatcher_at_8() + 0xe bytes

            kernel32.dll!_RaiseException_at_16() + 0x52 bytes

            msvcr80d.dll!_CxxThrowException(void *
pExceptionObject=0x0007deb0, const _s__ThrowInfo *
pThrowInfo=0x00b98b08) Line 166 C++

 
boost_regex-vc80-mt-gd-1_33_1.dll!boost::throw_exception<boost::regex_er
ror>(const boost::regex_error & e={...}) Line 40 C++

 
boost_regex-vc80-mt-gd-1_33_1.dll!boost::regex_error::raise() Line 74 +
0x9 bytes C++

 
boost_regex-vc80-mt-gd-1_33_1.dll!boost::re_detail::basic_regex_parser<w
char_t,boost::regex_traits<wchar_t,boost::w32_regex_traits<wchar_t> >
>::fail(boost::regex_constants::error_type error_code=error_paren, int
position=2) Line 161 C++

 
boost_regex-vc80-mt-gd-1_33_1.dll!boost::re_detail::basic_regex_parser<w
char_t,boost::regex_traits<wchar_t,boost::w32_regex_traits<wchar_t> >
>::parse(const wchar_t * p1=0x01735a34, const wchar_t * p2=0x01735a38,
unsigned int flags=0) Line 137 C++

 
boost_regex-vc80-mt-gd-1_33_1.dll!boost::re_detail::basic_regex_implemen
tation<wchar_t,boost::regex_traits<wchar_t,boost::w32_regex_traits<wchar
_t> > >::assign(const wchar_t * arg_first=0x01735a34, const wchar_t *
arg_last=0x01735a38, unsigned int f=0) Line 96 C++

 
boost_regex-vc80-mt-gd-1_33_1.dll!boost::basic_regex<wchar_t,boost::rege
x_traits<wchar_t,boost::w32_regex_traits<wchar_t> > >::do_assign(const
wchar_t * p1=0x01735a34, const wchar_t * p2=0x01735a38, unsigned int
f=0) Line 524 C++

 
boost_regex-vc80-mt-gd-1_33_1.dll!boost::basic_regex<wchar_t,boost::rege
x_traits<wchar_t,boost::w32_regex_traits<wchar_t> > >::assign(const
wchar_t * p1=0x01735a34, const wchar_t * p2=0x01735a38, unsigned int
f=0) Line 255 C++

 
boost_regex-vc80-mt-gd-1_33_1.dll!boost::basic_regex<wchar_t,boost::rege
x_traits<wchar_t,boost::w32_regex_traits<wchar_t> > >::assign(const
wchar_t * p=0x01735a34, unsigned int f=0) Line 240 C++

 
boost_regex-vc80-mt-gd-1_33_1.dll!boost::basic_regex<wchar_t,boost::rege
x_traits<wchar_t,boost::w32_regex_traits<wchar_t> >
>::basic_regex<wchar_t,boost::regex_traits<wchar_t,boost::w32_regex_trai
ts<wchar_t> > >(const wchar_t * p=0x01735a34, unsigned int f=0) Line
209 C++

            mathdlld.dll!`dynamic initializer for 'non_printables''()
Line 65 + 0x15 bytes C++

            msvcr80d.dll!_initterm(void (void)* * pfbegin=0x01701520,
void (void)* * pfend=0x01702e5c) Line 855 C

            mathdlld.dll!_CRT_INIT(void * hDllHandle=0x01010000,
unsigned long dwReason=1, void * lpreserved=0x00000000) Line 313 + 0xf
bytes C

            mathdlld.dll!__DllMainCRTStartup(void *
hDllHandle=0x01010000, unsigned long dwReason=1, void *
lpreserved=0x00000000) Line 489 + 0x11 bytes C

            mathdlld.dll!_DllMainCRTStartup(void *
hDllHandle=0x01010000, unsigned long dwReason=1, void *
lpreserved=0x00000000) Line 459 + 0x11 bytes C

            ntdll.dll!_LdrpCallInitRoutine_at_16() + 0x14 bytes

            ntdll.dll!_LdrpRunInitializeRoutines_at_4() + 0x1c7 bytes

            ntdll.dll!_LdrpLoadDll_at_24() - 0x1b1 bytes

            ntdll.dll!_LdrLoadDll_at_16() + 0x110 bytes

            kernel32.dll!_LoadLibraryExW_at_12() + 0xc8 bytes

            regsvr32.exe!_wWinMain_at_16() + 0x741 bytes

            regsvr32.exe!_wWinMainCRTStartup() + 0x198 bytes

            kernel32.dll!_BaseProcessStart_at_4() + 0x23 bytes




image001.jpg

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