Ticket #704 (closed defect: Accepted)
MSN: crash when receiving multipart chat
| Reported by: | wwp | Owned by: | emostar |
|---|---|---|---|
| Priority: | highest | Milestone: | |
| Component: | msn | Version: | devel |
| Keywords: | Cc: |
Description
Hi,
using CVS 2005-03-10 (ICQ, MSN, qt-gui), licq crashed apparently after I received some messages from 3 people coming up in a chat session. Since I was away, I cannot exactly tell when licq did crash, but when I re-started it, I had pending messages from 3 MSN contacts who did initiate a chat (2 w/ MSN, 1 w/ aMSN).
Here is the bt and bt full:
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 7176 (LWP 2906)] CMSN::RemovePacket? (this=0xa2e2901, _strUser=
{_M_dataplus = {<std::allocator<char>> = {<No
data fields>}, _M_p = 0x822290c "msnuser1@…"}}, _nSock=170797313)
at /usr/include/g++/bits/basic_string.h:237
237 { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); } #0 CMSN::RemovePacket? (this=0xa2e2901, _strUser=
{_M_dataplus = {<std::allocator<char>> = {<No
data fields>}, _M_p = 0x822290c "msnuser1@…"}}, _nSock=170797313)
at /usr/include/g++/bits/basic_string.h:237
#1 0x415ab294 in CMSN::Run (this=0x8205c00) at msn.cpp:367 #2 0x415aa024 in LProto_Main (_pDaemon=0x8191990) at plugin.cpp:53 #3 0x415a9f5c in LProto_Main_tep (p=0x8191990)
at /opt/licq/include/licq/licq_protoplugin.h:40
#4 0x401641b0 in pthread_start_thread () from /lib/libpthread.so.0 #5 0x4016422f in pthread_start_thread_event () from /lib/libpthread.so.0 #6 0x4034ea1a in thread_start () from /lib/libc.so.6
Thread 10 (Thread 8201 (LWP 2907)): #0 0x4034881e in select () from /lib/libc.so.6 No symbol table info available. #1 0x415b164a in MSNPing_tep (p=0x415b877c) at msn-srv.cpp:614
tv = {tv_sec = 23, tv_usec = 510000}
#2 0x401641b0 in pthread_start_thread () from /lib/libpthread.so.0 No symbol table info available. #3 0x4016422f in pthread_start_thread_event () from /lib/libpthread.so.0 No symbol table info available. #4 0x4034ea1a in thread_start () from /lib/libc.so.6 No symbol table info available.
Thread 9 (Thread 7176 (LWP 2906)): #0 CMSN::RemovePacket? (this=0xa2e2901, _strUser=
{_M_dataplus = {<std::allocator<char>> = {<No
data fields>}, _M_p = 0x822290c "msnuser1@…"}}, _nSock=170797313)
at /usr/include/g++/bits/basic_string.h:237
it = {<std::_List_iterator_base> = {
_M_node = 0x8206a48}, <No data fields>}
#1 0x415ab294 in CMSN::Run (this=0x8205c00) at msn.cpp:367
packet = {<CBuffer> = {
m_pDataStart = 0x41600440 "MSG msnuser1@…
Rajendra 149 MIME-Version: 1.0 Content-Type: application/x-msnmsgrp2p P2P-Dest: msnuser2@…
", m_pDataPosWrite = 0x416004fe "",
m_pDataPosRead = 0x41600440 "MSG
msnuser1@… Rajendra 149 MIME-Version: 1.0 Content-Type: application/x-msnmsgrp2p P2P-Dest: msnuser2@…
", m_nDataSize = 190, m_pTLV = 0x0},
_vptr.CMSNBuffer = 0x415b8038, m_lHeader = {<std::_List_base<SHeader*,
std::allocator<SHeader*> >> = {<std::_List_alloc_base<SHeader*, std::allocator<SHeader*>, true>> = {
_M_node = 0x845ba38}, <No data fields>}, <No
data fields>}}
szUser = 0x41600508 "msnuser1@…" bProcess = true strUser = {_M_dataplus = {<std::allocator<char>> =
{<No data fields>},
_M_p = 0x822290c "msnuser1@…"}}
pBuf = (SBuffer *) 0x41600528 sock = (class TCPSocket *) 0x85fcd00 nNumDesc = 27 nCurrent = 26 f = {fds_bits = {67108864, 0 <repeats 31 times>}} nResult = 1
#2 0x415aa024 in LProto_Main (_pDaemon=0x8191990) at plugin.cpp:53
nPipe = 22
#3 0x415a9f5c in LProto_Main_tep (p=0x8191990)
at /opt/licq/include/licq/licq_protoplugin.h:40
No locals. #4 0x401641b0 in pthread_start_thread () from /lib/libpthread.so.0 No symbol table info available. #5 0x4016422f in pthread_start_thread_event () from /lib/libpthread.so.0 No symbol table info available. #6 0x4034ea1a in thread_start () from /lib/libc.so.6 No symbol table info available.
Thread 6 (Thread 4101 (LWP 2902)): #0 0x4034881e in select () from /lib/libc.so.6 No symbol table info available. #1 0x406f616c in QEventLoop::processEvents ()
from /opt/qt-x11-commercial-3.3.3/lib/libqt-mt.so.3
No symbol table info available. #2 0x4075551b in QEventLoop::enterLoop ()
from /opt/qt-x11-commercial-3.3.3/lib/libqt-mt.so.3
No symbol table info available. #3 0x407553c4 in QEventLoop::exec ()
from /opt/qt-x11-commercial-3.3.3/lib/libqt-mt.so.3
No symbol table info available. #4 0x40744060 in QApplication::exec ()
from /opt/qt-x11-commercial-3.3.3/lib/libqt-mt.so.3
No symbol table info available. #5 0x40456a2b in CLicqGui::Run (this=0x81930c0, _licqDaemon=0x8191990)
at licqgui.cpp:396
nPipe = 135950176 r = 136134016
#6 0x40455329 in LP_Main (_licqDaemon=0x8191990) at licqgui.cpp:174
nResult = 135868608
#7 0x4045506c in LP_Main_tep (p=0x8191990)
at /opt/licq/include/licq/licq_plugin.h:119
No locals. #8 0x401641b0 in pthread_start_thread () from /lib/libpthread.so.0 No symbol table info available. #9 0x4016422f in pthread_start_thread_event () from /lib/libpthread.so.0 No symbol table info available. #10 0x4034ea1a in thread_start () from /lib/libc.so.6 No symbol table info available.
Thread 5 (Thread 3076 (LWP 2901)): #0 0x4034881e in select () from /lib/libc.so.6 No symbol table info available. #1 0x080bc697 in UpdateUsers?_tep (p=0x8191990) at icqd-threads.cpp:1009
_i_ = {<std::_List_iterator_base> = {
_M_node = 0x8159058}, <No data fields>}
pUser = (class ICQUser *) 0x815636c _ul_ = (std::list<ICQUser*, std::allocator<ICQUser*> >
*) 0x8156fe0
tv = {tv_sec = 16, tv_usec = 900000}
#2 0x401641b0 in pthread_start_thread () from /lib/libpthread.so.0 No symbol table info available. #3 0x4016422f in pthread_start_thread_event () from /lib/libpthread.so.0 No symbol table info available. #4 0x4034ea1a in thread_start () from /lib/libc.so.6 No symbol table info available.
Thread 4 (Thread 2051 (LWP 2900)): #0 0x4034881e in select () from /lib/libc.so.6 No symbol table info available. #1 0x080bbc78 in Ping_tep (p=0x815636c) at icqd-threads.cpp:646
tv = {tv_sec = 18, tv_usec = 620000}
#2 0x401641b0 in pthread_start_thread () from /lib/libpthread.so.0 No symbol table info available. #3 0x4016422f in pthread_start_thread_event () from /lib/libpthread.so.0 No symbol table info available. #4 0x4034ea1a in thread_start () from /lib/libc.so.6 No symbol table info available.
Thread 3 (Thread 1026 (LWP 2899)): #0 0x4034881e in select () from /lib/libc.so.6 No symbol table info available. #1 0x080bbdd0 in MonitorSockets?_tep (p=0x8191990) at icqd-threads.cpp:690
f = {fds_bits = {16803840, 0 <repeats 31 times>}} nSocketsAvailable = 0 nCurrentSocket = 25 l = 25 buf = "S", ' ' <repeats 387 times>, "®h 26@", ' '
<repeats 20 times>, "üú177¿äú177¿ØÂ*@ ", ' ' <repeats 11 times>, "+ 00 00 00+ 00 00 00üú177¿p 00 27@äú177¿Üú?177¿üú177¿Ã¿9@ 00 00 00üÿÿÿ 01 00 00 00 00 00 00 00 31¯*@# 00 00 00 22 02 00Üú177¿+ 00 00 00`ø177¿ïþûÿ 00 00 00 00177 03ÿÿ 00@ÿÿÿÿÿÿ 06, 16@# 00É 01220ë 23@+", ' ' <repeats 70 times>, "200 04@ 00 00 00 00 00 00 00200 04@ 00@ 00 00177 03 00@ 00 00É 01 06, 16@# 00 00 00220ë 23@"... #2 0x401641b0 in pthread_start_thread () from /lib/libpthread.so.0 No symbol table info available. #3 0x4016422f in pthread_start_thread_event () from /lib/libpthread.so.0 No symbol table info available. #4 0x4034ea1a in thread_start () from /lib/libc.so.6 No symbol table info available.
Thread 2 (Thread 2049 (LWP 2898)): #0 0x40346d5b in poll () from /lib/libc.so.6 No symbol table info available. #1 0x40163ec8 in pthread_manager () from /lib/libpthread.so.0 No symbol table info available. #2 0x401640bd in pthread_manager_event () from /lib/libpthread.so.0 No symbol table info available. #3 0x4034ea1a in thread_start () from /lib/libc.so.6 No symbol table info available.
Thread 1 (Thread 1024 (LWP 2894)): #0 0x402aaf19 in sigsuspend () from /lib/libc.so.6 No symbol table info available. #1 0x40166d38 in pthread_wait_for_restart_signal ()
from /lib/libpthread.so.0
No symbol table info available. #2 0x4016314b in pthread_cond_wait () from /lib/libpthread.so.0 No symbol table info available. #3 0x08074654 in CLicq::Main (this=0xbffff1f0) at licq.cpp:1003
bUIPlugin = true iter = {<std::_List_iterator_base> = {
_M_node = 0x815a510}, <No data fields>}
p_iter = {<std::_List_iterator_base> = {
_M_node = 0x815a520}, <No data fields>}
nExitId = 2053 nPluginResult = (int *) 0xbffff0c0 bDaemonShutdown = false t = (pthread_t *) 0xfffffffc sz = "° 00@ 20 03 00@ 4 01@
ñÿ¿ 00 00 00 00 23213 05Àðÿ¿Î214 00@Cÿ( 00P 01 00 00 00 00 00 00Î214 26@", ' ' <repeats 12 times>, "N220 26@/opt/licq/share/licq/utilities 00@ 20 00 00 00dC%@ 30ñÿ¿À* 27@204Ê#@dC%@ 30ñÿ¿T 26@224Ê#@@¥ 25 16 00 00 00xå$@xå$@@¥ 25Xñÿ¿ã210 @204Ê#@à 2029@Xñÿ¿ ï.@ð2069@ðñÿ¿xñÿ¿lc 25(³ 25à 2029@x³"... #4 0x080759c9 in main (argc=6, argv=0xbffff2b4) at main.cpp:58
licq = {licqDaemon = 0x8191990, m_nNextId = 3,
list_plugins = {<std::_List_base<CPlugin*,
std::allocator<CPlugin*> >> = {<std::_List_alloc_base<CPlugin*, std::allocator<CPlugin*>, true>> = {
_M_node = 0x815a510}, <No data fields>}, <No
data fields>},
mutex_plugins = {m_reserved = 134697565, m_count
0, m_owner
0x0,
m_kind = 0, m_lock = {status = 0, spinlock
= 0}},
list_protoplugins = {<std::_List_base<CProtoPlugin*,
std::allocator<CProtoPlugin*> >> = {<std::_List_alloc_base<CProtoPlugin*, std::allocator<CProtoPlugin*>, true>> = {_M_node = 0x815a520}, <No data fields>}, <No data fields>},
mutex_protoplugins = {m_reserved = -1073745352,
m_count = 0,
m_owner = 0x0, m_kind = 0, m_lock = {status
0, spinlock
0}},
m_bDeletePID = true}
237 { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); }
