abumq / easyloggingpp

C++ logging library. It is powerful, supports asynchronous low latency, extendable, light-weight, fast performing, thread and type safe and consists of many built-in features. It provides ability to write logs in your own customized format. It also provide support for logging your classes, third-party libraries, STL and third-party containers etc.
MIT License
3.79k stars 927 forks source link

Receive segment fault in easylogging++ #716

Open Phymin opened 5 years ago

Phymin commented 5 years ago

When I use easylogging++ in my project, I receive the following segment fault, could anyone tell what the problem is? Thank you.

2019-07-11 10:09:59,991 LocalPlannerBase.cpp 507: [INFO]: Angular speed is :-2

Thread 17 "sample_app" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe27f4700 (LWP 2487)]
0x00000000006656a6 in el::LogMessage::level (this=0x0) at /home/gzbao/new/common/logger/easylogging++.h:2460
2460  /home/gzbao/new/common/logger/easylogging++.h: No such file or directory.
(gdb) bt
#0  0x00000000006656a6 in el::LogMessage::level (this=0x0) at /home/gzbao/new/common/logger/easylogging++.h:2460
#1  0x000000000065ea5b in el::base::DefaultLogDispatchCallback::dispatch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) (this=0xa5fde0, 
    logLine=<unknown type in /home/localhost/vehi2.0/sample_app, CU 0x1f33d9e, DIE 0x1f9077c>) at /home/gzbao/new/common/logger/easylogging++.cc:2240
#2  0x000000000065e827 in el::base::DefaultLogDispatchCallback::handle (this=0xa5fde0, data=0x7fffe27f3800) at /home/gzbao/new/common/logger/easylogging++.cc:2213
#3  0x000000000065fd4f in el::base::LogDispatcher::dispatch (this=0x7fffe27f3890) at /home/gzbao/new/common/logger/easylogging++.cc:2499
#4  0x0000000000660b35 in el::base::Writer::triggerDispatch (this=0x7fffe27f3c00) at /home/gzbao/new/common/logger/easylogging++.cc:2632
#5  0x0000000000660878 in el::base::Writer::processDispatch (this=0x7fffe27f3c00) at /home/gzbao/new/common/logger/easylogging++.cc:2613
#6  0x000000000040f1a0 in el::base::Writer::~Writer (this=0x7fffe27f3c00, __in_chrg=<optimized out>) at /home/gzbao/new/common/logger/easylogging++.h:3203
#7  0x00000000005acfd0 in vcs::vhl::motor_driver::MotecDriver::setSpeed (this=0xa79b90, spd=-2) at /home/gzbao/new/VHL/motor_driver/MotecDriver.cpp:85
#8  0x000000000057f9ab in vcs::vhl::chasis::SDChasis::setControlCommand (this=0xa798e0, vctrl=...) at /home/gzbao/new/VHL/chasis/SDChasis.cpp:85
#9  0x00000000004eedc0 in vcs::vsl::control::ControlNode::controlProcess (this=0xa79370, param=0xa79390) at /home/gzbao/new/VSL/control/ControlNode.cpp:163
#10 0x00000000004f2914 in std::_Mem_fn_base<void (vcs::vsl::control::ControlNode::*)(void*), true>::operator()<void*, void>(vcs::vsl::control::ControlNode*, void*&&) const (
    this=0xa799b0, __object=0xa79370) at /usr/include/c++/5/functional:600
#11 0x00000000004f2142 in std::_Bind<std::_Mem_fn<void (vcs::vsl::control::ControlNode::*)(void*)> (vcs::vsl::control::ControlNode*, std::_Placeholder<1>)>::__call<void, void*&&, 0ul, 1ul>(std::tuple<void*&&>&&, std::_Index_tuple<0ul, 1ul>) (this=0xa799b0, __args=<unknown type in /home/localhost/vehi2.0/sample_app, CU 0xa7c3b5, DIE 0xae86a4>)
    at /usr/include/c++/5/functional:1074
#12 0x00000000004f1632 in std::_Bind<std::_Mem_fn<void (vcs::vsl::control::ControlNode::*)(void*)> (vcs::vsl::control::ControlNode*, std::_Placeholder<1>)>::operator()<void*, void>(void*&&) (this=0xa799b0) at /usr/include/c++/5/functional:1133
#13 0x00000000004f0a55 in std::_Function_handler<void (void*), std::_Bind<std::_Mem_fn<void (vcs::vsl::control::ControlNode::*)(void*)> (vcs::vsl::control::ControlNode*, std::_Placeholder<1>)> >::_M_invoke(std::_Any_data const&, void*&&) (__functor=..., __args#0=<unknown type in /home/localhost/vehi2.0/sample_app, CU 0xa7c3b5, DIE 0xae4317>)
    at /usr/include/c++/5/functional:1871
#14 0x0000000000451fd9 in std::function<void (void*)>::operator()(void*) const (this=0xa79ad0, __args#0=0xa79390) at /usr/include/c++/5/functional:2267
#15 0x0000000000451b21 in std::_Bind_simple<std::function<void (void*)> (vcs::common::thread::Thread*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=0xa79ac8)
    at /usr/include/c++/5/functional:1531
#16 0x0000000000451482 in std::_Bind_simple<std::function<void (void*)> (vcs::common::thread::Thread*)>::operator()() (this=0xa79ac8) at /usr/include/c++/5/functional:1520
#17 0x0000000000451282 in std::thread::_Impl<std::_Bind_simple<std::function<void (void*)> (vcs::common::thread::Thread*)> >::_M_run() (this=0xa79ab0) at /usr/include/c++/5/thread:115
#18 0x00007ffff78f0c80 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#19 0x00007ffff7bc16ba in start_thread (arg=0x7fffe27f4700) at pthread_create.c:333
#20 0x00007ffff705641d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
DmitryDemidov80 commented 5 years ago

I've got same error. ELPP_THREAD_SAFE defined in easylogging++.h