licq-im/licq

licq failed arter long-time work

Closed this issue · 2 comments

Probably because simultaneously jabbers accounts disconnects

Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
Licq 1.9.0-04dbb95/SSL

licq.debug_rw_mutex - is too old
time: 1387440070
Possible deadlock for thread 0x7f4e87209700 trying to get a write lock on 'userlist'
No thread holds the write lock
These threads hold the read lock: 0x7f4e8ffb1700
lek@myallod:~/.licq$ date -d@1387440070
Thu Dec 19 12:01:10 MSK 2013

licq.backtrace:
time: 1388666722
/usr/local/bin/licq() [0x555362]
/lib/x86_64-linux-gnu/libc.so.6(+0x324f0) [0x7f9696bb84f0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f9696bb8475]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x180) [0x7f9696bbb6f0]
/lib/x86_64-linux-gnu/libc.so.6(__assert_fail+0xf1) [0x7f9696bb1621]
/usr/local/bin/licq(_ZN4Licq8MainLoop7Private7addFileEiPNS_16MainLoopCallbackEPNS_10INetSocketEii+0xc3) [0x542975]
/usr/local/bin/licq(_ZN4Licq8MainLoop10addRawFileEiPNS_16MainLoopCallbackEii+0x49) [0x542a23]
/usr/local/lib/licq/protocol_jabber.so(+0xa725) [0x7f96939c0725]
/usr/local/lib/licq/protocol_jabber.so(+0x15964) [0x7f96939cb964]
/usr/local/lib/licq/protocol_jabber.so(+0x152cf) [0x7f96939cb2cf]
/usr/local/lib/licq/protocol_jabber.so(+0x151a6) [0x7f96939cb1a6]
/usr/local/bin/licq(_ZN4Licq8MainLoop3runEv+0x4a2) [0x5426b2]
/usr/local/lib/licq/protocol_jabber.so(+0x1512a) [0x7f96939cb12a]
/usr/local/bin/licq(_ZN10LicqDaemon14PluginInstance16startThreadEntryEPv+0x82) [0x5c6bde]
/usr/local/bin/licq() [0x5c7067]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x6b50) [0x7f969853fb50]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f9696c60a7d]

licq.backtrace.gdb
http://pastebin.com/PbsVAqUg

The mutex message seems to be irrelevant as the back trace shows an assert has triggered.
I don't know enough internal details of the Jabber plugin to say how it can happen, but it should be easy to make a workaround.

Thank you. I builded 1.9.0-6665c87/SSL