On 2020-02-29 14:24, JH via Boost wrote:
> Hi,
>
> I built boost::log in my application library, it created
> boost::log::sinks::synchronous_sink<boost::log::sinks::text_file_backend>
> and close it by calling the
> boost::log::core::get()->remove_all_sinks() in destructor of the Log
> library, then one of my application link to my log library got
> Segmentation fault when it exited:
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff5fdd961 in boost::log::v2_mt_posix::core::remove_all_sinks() ()
> from /usr/lib/x86_64-linux-gnu/libboost_log.so.1.65.1
>
> If I add boost::log::core::get()->remove_all_sinks() in my application
> main before it return 0, the segmentation was gong, but it stuck.
>
> What is the proper right way to close and clean the boost::log? There
> is a blog suggested to run boost::log::core::get()->remove_all_sinks()
> when the main end, but that does not seem work.
>
>
https://www.boost.org/doc/libs/1_62_0/libs/log/doc/html/log/rationale/why_crash_on_term.html
use logging after that. E.g. you shouldn't use logging library in global