Re: [Boost-bugs] [Boost C++ Libraries] #7606: u32regex causes bus error

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7606: u32regex causes bus error
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-11-30 16:14:35


#7606: u32regex causes bus error
-----------------------------------------+----------------------------------
  Reporter: a.sanders@… | Owner: johnmaddock
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: regex
   Version: Boost 1.51.0 | Severity: Problem
Resolution: | Keywords:
-----------------------------------------+----------------------------------

Comment (by Ashley Sanders <a.sanders@…>):

 Here you are. Not sure that this looks helpful. At the "if" statement
 following the "a" construction took the true branch.

 I'm not setting any compiler code page anywhere.

 {{{
 Breakpoint 2 at 0x15738: file
 /export/home/ashley/src/boost_1_51_0/boost/regex/v4/basic_regex.hpp, line
 399.
 (gdb) run
 The program being debugged has been started already.
 Start it from the beginning? (y or n) y
 Starting program: /export/home/ashley/tmp/regex
 [Thread debugging using libthread_db enabled]
 [New Thread 1 (LWP 1)]
 [Switching to Thread 1 (LWP 1)]

 Breakpoint 2, boost::basic_regex<int,
 boost::icu_regex_traits>::basic_regex<boost::u8_to_u32_iterator<char
 const*, int> > (
     this=0xffbffab0, arg_first=..., arg_last=..., f=0) at
 /export/home/ashley/src/boost_1_51_0/boost/regex/v4/basic_regex.hpp:400
 400 {
 (gdb) list
 395 assign(p, f);
 396 }
 397
 398 template <class InputIterator>
 399 basic_regex(InputIterator arg_first, InputIterator arg_last,
 flag_type f = regex_constants::normal)
 400 {
 401 typedef typename traits::string_type seq_type;
 402 seq_type a(arg_first, arg_last);
 403 if(a.size())
 404 assign(static_cast<const charT*>(&*a.begin()),
 static_cast<const charT*>(&*a.begin() + a.size()), f);
 (gdb) n
 402 seq_type a(arg_first, arg_last);
 (gdb) n
 403 if(a.size())
 (gdb) print a
 $1 = {<std::_Vector_base<int, std::allocator<int> >> = {
     _M_impl = {<std::allocator<int>> = {<__gnu_cxx::new_allocator<int>> =
 {<No data fields>}, <No data fields>}, _M_start = 0x27cd0,
       _M_finish = 0x27d00, _M_end_of_storage = 0x27d00}}, <No data
 fields>}
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7606#comment:7>
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:50:11 UTC