Subject: Re: [Boost-bugs] [Boost C++ Libraries] #768: Crash on exit VC8.0
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-04-28 09:24:53
#768: Crash on exit VC8.0
---------------------+------------------------------------------------------
Reporter: nobody | Owner: johnmaddock
Type: Bugs | Status: closed
Milestone: | Component: regex
Version: None | Severity: Showstopper
Resolution: None | Keywords:
---------------------+------------------------------------------------------
Changes (by johnmaddock):
* severity: => Showstopper
Old description:
> {{{
> Hi
>
> I get a crash on exit of my application: when examining
> the stack as show below I conclude that the crash
> heppens in the cleanup of some static objects in the
> boost::regex i.e. the destructor of
> w32_regex_traits_implementation. This happens in
> release build on VC8.0 with 1.33.1.
> Was there a patch for this?
>
> Thankx for feedback,
>
> Kenny Knecht
> pietjeleugenaar_at_[hidden]
>
>
> kernel32.dll!7c812a5b()
> [Frames below may be incorrect and/or missing, no
> symbols loaded for kernel32.dll]
> kernel32.dll!7c812a5b()
> msvcp80.dll!std::char_traits<char>::_Copy_s(char *
> _First1=0x09fd8490, unsigned int _Size_in_bytes=31,
> const char * _First2=0x7c423995, unsigned int
> _Count=27) Line 576 C++
>
> msvcp80.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >::assign(const
> std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > & _Right={...}, unsigned int _Roff=1244628, unsigned
> int _Count=3765269347) Line 1021 + 0x2c bytes C++
> 00000001()
>
> GeneMathsXT.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >,std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >
> >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > const
> ,std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > > >,0> >::erase() + 0x73 bytes C++
>
> GeneMathsXT.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >,std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >
> >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > const
> ,std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > > >,0> >::erase() + 0xa4 bytes C++
>
> GeneMathsXT.exe!boost::re_detail::w32_regex_traits_implementation<char>::~w32_regex_traits_implementation<char>()
> + 0x52 bytes C++
>
> GeneMathsXT.exe!boost::detail::sp_counted_impl_p<boost::re_detail::w32_regex_traits_implementation<char>
> >::dispose() + 0xf bytes C++
>
> GeneMathsXT.exe!std::list<std::pair<boost::shared_ptr<boost::re_detail::w32_regex_traits_implementation<char>
> >,unsigned long const
> *>,std::allocator<std::pair<boost::shared_ptr<boost::re_detail::w32_regex_traits_implementation<char>
> >,unsigned long const *> > >::clear() + 0x3e bytes C++
> GeneMathsXT.exe!boost::object_cache<unsigned
> long,boost::re_detail::w32_regex_traits_implementation<char>
> >::data::~data() + 0x6b bytes C++
> > msvcr80.dll!doexit(int code=0, int quick=0, int
> retcaller=0) Line 553 C
> msvcr80.dll!exit(int code=0) Line 398 + 0xd bytes C
> GeneMathsXT.exe!__tmainCRTStartup() Line 549 C
> kernel32.dll!7c816fd7()
>
> }}}
New description:
{{{
Hi
I get a crash on exit of my application: when examining
the stack as show below I conclude that the crash
heppens in the cleanup of some static objects in the
boost::regex i.e. the destructor of
w32_regex_traits_implementation. This happens in
release build on VC8.0 with 1.33.1.
Was there a patch for this?
Thankx for feedback,
Kenny Knecht
pietjeleugenaar_at_[hidden]
kernel32.dll!7c812a5b()
[Frames below may be incorrect and/or missing, no
symbols loaded for kernel32.dll]
kernel32.dll!7c812a5b()
msvcp80.dll!std::char_traits<char>::_Copy_s(char *
_First1=0x09fd8490, unsigned int _Size_in_bytes=31,
const char * _First2=0x7c423995, unsigned int
_Count=27) Line 576 C++
msvcp80.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char>
>::assign(const
std::basic_string<char,std::char_traits<char>,std::allocator<char>
> & _Right={...}, unsigned int _Roff=1244628, unsigned
int _Count=3765269347) Line 1021 + 0x2c bytes C++
00000001()
GeneMathsXT.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> const
,std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > >,0> >::erase() + 0x73 bytes C++
GeneMathsXT.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> const
,std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > >,0> >::erase() + 0xa4 bytes C++
GeneMathsXT.exe!boost::re_detail::w32_regex_traits_implementation<char>::~w32_regex_traits_implementation<char>()
+ 0x52 bytes C++
GeneMathsXT.exe!boost::detail::sp_counted_impl_p<boost::re_detail::w32_regex_traits_implementation<char>
>::dispose() + 0xf bytes C++
GeneMathsXT.exe!std::list<std::pair<boost::shared_ptr<boost::re_detail::w32_regex_traits_implementation<char>
>,unsigned long const
*>,std::allocator<std::pair<boost::shared_ptr<boost::re_detail::w32_regex_traits_implementation<char>
>,unsigned long const *> > >::clear() + 0x3e bytes C++
GeneMathsXT.exe!boost::object_cache<unsigned
long,boost::re_detail::w32_regex_traits_implementation<char>
>::data::~data() + 0x6b bytes C++
> msvcr80.dll!doexit(int code=0, int quick=0, int
retcaller=0) Line 553 C
msvcr80.dll!exit(int code=0) Line 398 + 0xd bytes C
GeneMathsXT.exe!__tmainCRTStartup() Line 549 C
kernel32.dll!7c816fd7()
}}}
Comment:
Ahah! Yes mixing compiler versions would certainly do it, glad you got to
the bottom of this!
John.
--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/768#comment:6>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:57 UTC