Re: [Boost-bugs] [Boost C++ Libraries] #13611: SEGFAULT when logging std::to_string(NAN)

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #13611: SEGFAULT when logging std::to_string(NAN)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2018-06-20 08:03:53


#13611: SEGFAULT when logging std::to_string(NAN)
-------------------------------+-----------------------------
  Reporter: Filip Matzner | Owner: Andrey Semashev
      Type: Bugs | Status: closed
 Milestone: To Be Determined | Component: log
   Version: Boost 1.67.0 | Severity: Problem
Resolution: invalid | Keywords:
-------------------------------+-----------------------------
Changes (by Andrey Semashev):

 * status: new => closed
 * resolution: => invalid

Comment:

 In order to compile the test I had to modify the compiler command line:

 {{{
 g++ -g -std=c++17 -I. -L ./stage/lib -DBOOST_ALL_DYN_LINK -pthread -O3
 log_nan_crash.cpp -lboost_log -lboost_thread -lboost_filesystem
 -lboost_system
 }}}

 gdb shows that the crash is happening during `std::string` construction:

 {{{
 #0 0x0000555555556221 in std::char_traits<char>::copy (__n=3,
 __s2=0x7fffffffd4e0 "nan", __s1=<optimized out>) at
 /usr/include/c++/7/bits/char_traits.h:350
 #1 std::__cxx11::basic_string<char, std::char_traits<char>,
 std::allocator<char> >::_S_copy (__n=3, __s=0x7fffffffd4e0 "nan",
 __d=<optimized out>) at /usr/include/c++/7/bits/basic_string.h:340
 #2 std::__cxx11::basic_string<char, std::char_traits<char>,
 std::allocator<char> >::_S_copy_chars (__k2=0x7fffffffd4e3 "",
 __k1=0x7fffffffd4e0 "nan", __p=<optimized out>) at
 /usr/include/c++/7/bits/basic_string.h:382
 #3 std::__cxx11::basic_string<char, std::char_traits<char>,
 std::allocator<char> >::_M_construct<char*> (__end=0x7fffffffd4e3 "",
 __beg=0x7fffffffd4e0 "nan", this=0x7fffffffd7d0) at
 /usr/include/c++/7/bits/basic_string.tcc:225
 #4 std::__cxx11::basic_string<char, std::char_traits<char>,
 std::allocator<char> >::_M_construct_aux<char*> (__end=0x7fffffffd4e3 "",
 __beg=0x7fffffffd4e0 "nan", this=0x7fffffffd7d0) at
 /usr/include/c++/7/bits/basic_string.h:236
 #5 std::__cxx11::basic_string<char, std::char_traits<char>,
 std::allocator<char> >::_M_construct<char*> (__end=0x7fffffffd4e3 "",
 __beg=0x7fffffffd4e0 "nan", this=0x7fffffffd7d0) at
 /usr/include/c++/7/bits/basic_string.h:255
 #6 std::__cxx11::basic_string<char, std::char_traits<char>,
 std::allocator<char> >::basic_string<char*, void> (__a=...,
 __end=0x7fffffffd4e3 "", __beg=0x7fffffffd4e0 "nan", this=0x7fffffffd7d0)
 at /usr/include/c++/7/bits/basic_string.h:607
 #7 __gnu_cxx::__to_xstring<std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char> >, char> (__convf=<optimized
 out>, __n=328, __fmt=0x5555555567d8 "%f", __fmt=0x5555555567d8 "%f",
 __n=328, __convf=<optimized out>)
     at /usr/include/c++/7/ext/string_conversions.h:115
 #8 0x00005555555556f8 in std:: (__val=nan(0x8000000000000)) at
 /usr/include/c++/7/bits/basic_string.h:6450
 #9 main () at log_nan_crash.cpp:6
 }}}

 This is definitely a compiler problem. Please, report to gcc devs:
 https://gcc.gnu.org/bugzilla/

-- 
Ticket URL: <https://svn.boost.org/trac10/ticket/13611#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 : 2018-06-20 08:08:16 UTC