多线程因__lll_unlock_elision 导致core

同一个互斥对象,unlock 两次操作导致core。。。。和线程库息息相关。

[New LWP 61794]
[New LWP 63337]
[New LWP 67221]
[New LWP 64165]
[New LWP 66343]
[New LWP 66269]
[New LWP 65456]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `sframe-11745-1 -i /app/billing/config/run/ratmdb_d1HA_zjhafsad01_11745/ratmdb_d'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00002b064bed4490 in __lll_unlock_elision () from /lib64/libpthread.so.0
[Current thread is 1 (Thread 0x2b06919d6700 (LWP 52005))]
Missing separate debuginfos, use: zypper install glibc-debuginfo-2.22-49.16.x86_64 libaio1-debuginfo-0.3.109-17.15.x86_64 libgcc_s1-debuginfo-6.2.1+r239768-2.4.x86_64 libstdc++6-debuginfo-6.2.1+r239768-2.4.x86_64 libz1-debuginfo-1.2.8-7.25.x86_64
(gdb) where
#0  0x00002b064bed4490 in __lll_unlock_elision () from /lib64/libpthread.so.0
#1  0x00002b066faf0d0b in CProcessLock::unlock (this=<optimized out>) at /data01/zjgrp/zjv8bm/ob_rel/include/util/mdb/mf_lock.h:453
#2  CProcessLock::unlock_process (this=<optimized out>) at /data01/zjgrp/zjv8bm/ob_rel/include/util/mdb/mf_lock.h:455
#3  mdb_rating::CRatMSBase::judge_time () at ratms_base.cpp:809
#4  0x00002b066faf16e5 in mdb_rating::CRatMSBase::timer (pParam=<optimized out>) at ratms_base.cpp:1285
#5  0x00002b064beca734 in start_thread () from /lib64/libpthread.so.0
#6  0x00002b064d582d3d in clone () from /lib64/libc.so.6
(gdb) 

 

线程库2.22 会core

billing-pc-zjhayj01%ls -ltr /lib64/libpthread.so.0
lrwxrwxrwx 1 root root 18 Jun 22 18:14 /lib64/libpthread.so.0 -> libpthread-2.22.so

 

线程库2.19 没core

[/data01/zjgrp/zjdev]%ls -ltr /lib64/libpthread.so.0
lrwxrwxrwx 1 root root 18 1月  23 2018 /lib64/libpthread.so.0 -> libpthread-2.19.so

 

posted @ 2018-09-03 18:18  _扫地小道童  阅读(947)  评论(0编辑  收藏  举报