[Boost-bugs] [Boost C++ Libraries] #13158: core dump when get parent_path in a new thread

Subject: [Boost-bugs] [Boost C++ Libraries] #13158: core dump when get parent_path in a new thread
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-08-10 15:59:51

#13158: core dump when get parent_path in a new thread
 Reporter: jaycelq@… | Owner: (none)
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: None
  Version: Boost 1.56.0 | Severity: Problem
 Keywords: |
 I will create a boost thread to delete some outdated files, and there is
 high possibility the program crash, when the program exit.

 I got the issue like me, but not determined. I doubt it's reason of the
 static variable of locale.
 in groups.google.com/forum/#!topic/boost-list/HOyZxH8JJc4

                 time_t del_time = cut_time - log_keep_time_ * 60;
                 std::string del_path(file_path_);
                 boost::thread del_thread(MiLogFile::removeExpiredLog,
 del_path, del_time);

         int MiLogFile::removeExpiredLog(std::string file_path, uint32_t
             boost::filesystem::path log_path(file_path);
             boost::filesystem::path dir = log_path.parent_path();

 #3 0x00007fad7a9f4393 in __dynamic_cast () from /usr/lib64/libstdc++.so.6
 #4 0x00007fad7a9d9fbb in std::codecvt<wchar_t, char, __mbstate_t> const&
 std::use_facet<std::codecvt<wchar_t, char, __mbstate_t> >(std::locale
 const&) () from /usr/lib64/libstdc++.so.6
 #5 0x00007fad7ca415ad in boost::filesystem::path::parent_path() const ()
 #6 0x00007fad7cc77ad0 in common::milog::MiLogFile::removeExpiredLog
 (file_path=..., expire_time=1502292035) at src/milog_file.cpp:361
 #7 0x00007fad7cc7b706 in operator()<int, int (*)(std::basic_string<char,
 std::char_traits<char>, std::allocator<char> >, unsigned int),
 boost::_bi::list0> (a=..., f=<optimized out>, this=<optimized out>)
     at ../../../../..//ext//boost_1_56_0/boost/bind/bind.hpp:303
 #8 operator() (this=<optimized out>) at
 #9 boost::detail::thread_data<boost::_bi::bind_t<int, int
 (*)(std::string, unsigned int),
 boost::_bi::list2<boost::_bi::value<char*>, boost::_bi::value<long> > >
>::run (this=<optimized out>)
 #10 0x00007fad7e3d5e83 in thread_proxy () from
 #11 0x00007fad79ef5aa1 in start_thread () from /lib64/libpthread.so.0
 #12 0x00007fad7a1f3aad in clone () from /lib64/libc.so.6

Ticket URL: <https://svn.boost.org/trac10/boost/ticket/13158>
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-08-10 16:04:19 UTC