Ubuntu 10.04下项目中使用log4cxx,程序崩溃
内核:linux-2.6.32 OS: ubuntu 10.04
公司项目中需要用到 opencv-2.2 和 log4cxx , 在多线程环境下, 程序执行完, 出现段错, gdb调试结果如下:
Program received signal SIGSEGV, Segmentation fault. 0x01f29d3f in mutex_hash () from /usr/local/apr/lib/libapr-1.so.0 (gdb) bt #0 0x01f29d3f in mutex_hash () from /usr/local/apr/lib/libapr-1.so.0 #1 0x01f29e93 in apr_atomic_dec32 () from /usr/local/apr/lib/libapr-1.so.0 #2 0x003d0315 in log4cxx::helpers::ObjectImpl::releaseRef (this=0x806dce8) at objectimpl.cpp:44 #3 0x003bc952 in log4cxx::Logger::releaseRef (this=0x806dcb0) at logger.cpp:62 #4 0x080540fb in ~ObjectPtrT (this=0x805821c, __in_chrg=<value optimized out>) at /usr/local/include/log4cxx/helpers/objectptr.h:100 #5 0x005f81bf in __run_exit_handlers (status=0, listp=0x71f324, run_list_atexit=true) at exit.c:78 #6 0x005f822f in *__GI_exit (status=0) at exit.c:100 #7 0x005dfbde in __libc_start_main (main=0x804c9f6 <main>, argc=1, ubp_av=0xbffff784, init=0x80542c0 <__libc_csu_init>, fini=0x80542b0 <__libc_csu_fini>, rtld_fini=0x11e030 <_dl_fini>, stack_end=0xbffff77c) at libc-start.c:258 #8 0x0804bec1 in _start () (gdb)请教大位大神, 小弟该如何解决这个问题, 项目急 , 拜托啦 , 各位.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
就是 按照这个搜索找到的方案, 重新运行才 出现
Program received
signal
SIGSEGV, Segmentation fault.
02
0x01f29d3f in mutex_hash () from /usr/local/apr/lib/libapr-1.so.0
search for 'log4cxx::helpers::MutexException' what(): Mutex exception: stat = 22
估计研究这玩意的人不多
是啊, 这个问题困扰了我几天了, 网上也有类似的错误, 但都没有解决方案. 这真的很纠结
以上是我修改部分源码后,安装, 项目重新使用log4cxx出现的问题; 没做修改前,出现如下错误:
terminate called after throwing an instance of 'log4cxx::helpers::MutexException'
what(): Mutex exception: stat = 22
已放弃
请问, 到底该如何在多线程环境下使用log4cxx? 需要做哪些修改??
难到没有人碰到过这种问题嘛?