Re: [Boost-bugs] [Boost C++ Libraries] #12271: segfaults in options_description with -fipa-pta

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #12271: segfaults in options_description with -fipa-pta
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-06-28 00:55:07


#12271: segfaults in options_description with -fipa-pta
--------------------------------+------------------------------------------
  Reporter: Seth <sshannin@…> | Owner: vladimir_prus
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: program_options
   Version: Boost 1.60.0 | Severity: Problem
Resolution: | Keywords: segfault options_description
--------------------------------+------------------------------------------

Comment (by anonymous):

 Hi,

 I see the same behaviour (std::string::assign segmentation fault after
 calling programs_options::notify() ) when I have the gcc option:

 {{{
 -fno-rtti
 }}}


 {{{
 dwyer_at_bane build]$ g++ --version
 g++ (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)

 }}}

 Boost: 1.61.0 release version.

 When I remove that command line option, everything works fine.

 {{{
 ==16447==
 ==16447== Process terminating with default action of signal 11 (SIGSEGV)
 ==16447== Access not within mapped region at address 0x8
 ==16447== at 0x51586FE: std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char>
>::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>,
 std::allocator<char> > const&) (in /usr/lib64/libstdc++.so.6.0.21)
 ==16447== by 0x4B7650: assign (basic_string.h:1095)
 ==16447== by 0x4B7650: operator= (basic_string.h:551)
 ==16447== by 0x4B7650:
 boost::program_options::typed_value<std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char> >, char>::notify(boost::any
 const&) const (value_semantic.hpp:39)
 ==16447== by 0x534791: boost::program_options::variables_map::notify()
 (in /home/dwyer/Projects/massoder/build/bin/ingestor)
 ==16447== by 0x4AD4DB: Commandline::extractOptions(int, char**)
 (Commandline.cpp:158)
 ==16447== by 0x4B1271:
 Commandline::process(std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const&, int, char**)
 (Commandline.cpp:56)
 ==16447== by 0x4A488F: main (Main.cpp:36)

 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/12271#comment:1>
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:20 UTC