I bet this line on the bt is wrong. Compare with this (ListenSocket.cpp:747-755):
if ( m_client->GetRequestFile() &&
!m_client->GetRequestFile()->IsStopped() &&
(m_client->GetRequestFile()->GetStatus() == PS_READY || m_client->GetRequestFile()->GetStatus()==PS_EMPTY)) {
m_client->ProcessBlockPacket(packet,size);
if ( m_client &&
( m_client->GetRequestFile()->IsStopped() ||
m_client->GetRequestFile()->GetStatus() == PS_PAUSED ||
m_client->GetRequestFile()->GetStatus() == PS_ERROR) ) {
(gdb) bt
#0 0x0077d7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x032cce59 in raise () from /lib/tls/libc.so.6
#2 0x032ce882 in abort () from /lib/tls/libc.so.6
#3 0x006bd4b2 in wxFatalSignalHandler () at src/unix/utilsunx.cpp:991
#4
#5 0x081437a0 in CUpDownClient::GetRequestFile (this=0x0) at updownclient.h:335
#6 0x0813e873 in CClientReqSocket::ProcessExtPacket (this=0xc1f9a78, packet=0xc4a81e8 "\237", size=13903, opcode=64 '@')
at ListenSocket.cpp:1618
#7 0x08140e59 in CClientReqSocket::PacketReceived (this=0xc1f9a78, packet=0xbd122f8) at ListenSocket.cpp:2064
#8 0x08146896 in CEMSocket::OnReceive (this=0xc1f9a78, nErrorCode=0) at EMSocket.cpp:261
#9 0x08140f38 in CClientReqSocket::OnReceive (this=0xc1f9a78, nErrorCode=0) at ListenSocket.cpp:2082
#10 0x081469b7 in CEMSocket::SetDownloadLimit (this=0xc1f9a78, limit=106) at EMSocket.cpp:286
#11 0x08158eb2 in CUpDownClient::SetDownloadLimit (this=0x96c6580, limit=106) at BaseClient.cpp:2039
#12 0x082456b0 in CPartFile::Process (this=0x92ab510, reducedownload=156, m_icounter=6 '\006') at PartFile.cpp:1611
#13 0x0819c65b in CDownloadQueue::Process (this=0x8e26ff8) at DownloadQueue.cpp:380
#14 0x082c817f in CamuleApp::OnCoreTimer (this=0x8719908) at amule.cpp:1378
#15 0x00607690 in wxAppConsole::HandleEvent (this=0x8719908, handler=0x8719908, func=
{__pfn = 0x82c811e , __delta = 0}, event=@0xfef983f0)
at src/common/appbase.cpp:307
#16 0x006b7445 in wxEvtHandler::ProcessEventIfMatches (entry=@0x85c3358, handler=0x8719908, event=@0xfef983f0)
at src/common/event.cpp:1169
#17 0x006b63d2 in wxEventHashTable::HandleEvent (this=0x85c32c0, event=@0xfef983f0, self=0x8719908)
at src/common/event.cpp:837
#18 0x006b7658 in wxEvtHandler::ProcessEvent (this=0x8719908, event=@0xfef983f0) at src/common/event.cpp:1231
#19 0x003609e9 in wxTimerBase::Notify (this=0x87694b8) at src/common/timercmn.cpp:61
#20 0x0026217b in timeout_callback (data=0x87694b8) at src/gtk/timer.cpp:47
#21 0x00a04c5c in g_main_context_wakeup () from /usr/lib/libglib-2.0.so.0
#22 0x00a021e2 in g_main_depth () from /usr/lib/libglib-2.0.so.0
#23 0x00a032d8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0x00a03610 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#25 0x00a03c53 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#26 0x00f95ff3 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#27 0x00257a96 in wxEventLoop::Run (this=0x9226d20) at src/gtk/evtloop.cpp:80
#28 0x002d83c5 in wxAppBase::MainLoop (this=0x8719908) at src/common/appcmn.cpp:272
#29 0x002d8531 in wxAppBase::OnRun (this=0x8719908) at src/common/appcmn.cpp:340
#30 0x0064af7b in wxEntry (argc=@0xfef986d0, argv=0xfef98754) at src/common/init.cpp:410
#31 0x082caf61 in main (argc=1, argv=0xfef98754) at amule-gui.cpp:161
(gdb) bt full
#0 0x0077d7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
No symbol table info available.
#1 0x032cce59 in raise () from /lib/tls/libc.so.6
No symbol table info available.
#2 0x032ce882 in abort () from /lib/tls/libc.so.6
No symbol table info available.
#3 0x006bd4b2 in wxFatalSignalHandler () at src/unix/utilsunx.cpp:991
No locals.
#4
No symbol table info available.
#5 0x081437a0 in CUpDownClient::GetRequestFile (this=0x0) at updownclient.h:335
No locals.
#6 0x0813e873 in CClientReqSocket::ProcessExtPacket (this=0xc1f9a78, packet=0xc4a81e8 "\237", size=13903, opcode=64 '@')
at ListenSocket.cpp:1618
No locals.
#7 0x08140e59 in CClientReqSocket::PacketReceived (this=0xc1f9a78, packet=0xbd122f8) at ListenSocket.cpp:2064
bResult = 8
uRawSize = 13903
#8 0x08146896 in CEMSocket::OnReceive (this=0xc1f9a78, nErrorCode=0) at EMSocket.cpp:261
bPacketResult = 189
toCopy = 67
GlobalReadBuffer = "Å\r\000\000\000`\177\t\000\000\000\000\000\000\000\000\000\000\230D\022öYL\000Netvideogirls -violet amateur brunette california teen audition blowjob.mpgP\000\000\235ú=%n\177l?×\200àÄa4ò¤R\035\"\035?\022öX\006\000!g\000O\201\236{\v\230v{æÿ¹ªZ\231o&\004Ñ÷ïÇbÖ\020>\237\026µÕýërkó·\006ªm³6\023ººK?ÄTÈOÅ\214©\213ozÜ~}\236ð\023Âù5\0012o"...
readMax = 106
ret = 106
rptr = 0x83d7c43 "lifornia teen audition blowjob.mpgP"
rend = 0x83d7c6a "=%n\177l?×\200àÄa4ò¤R\035\"\035?\022öX\006"
#9 0x08140f38 in CClientReqSocket::OnReceive (this=0xc1f9a78, nErrorCode=0) at ListenSocket.cpp:2082
No locals.
#10 0x081469b7 in CEMSocket::SetDownloadLimit (this=0xc1f9a78, limit=106) at EMSocket.cpp:286
No locals.
#11 0x08158eb2 in CUpDownClient::SetDownloadLimit (this=0x96c6580, limit=106) at BaseClient.cpp:2039
No locals.
#12 0x082456b0 in CPartFile::Process (this=0x92ab510, reducedownload=156, m_icounter=6 '\006') at PartFile.cpp:1611
limit = 106
kBpsClient = 0.681686878
cur_src = (CUpDownClient *) 0x96c6580
it = { = {_M_node = 0x9296510}, }
old_trans = 1
dwCurTick = 2268069243
#13 0x0819c65b in CDownloadQueue::Process (this=0x8e26ff8) at DownloadQueue.cpp:380
cur_file = (class CPartFile *) 0x92ab510
i = 118
size = 340
downspeed = 156
#14 0x082c817f in CamuleApp::OnCoreTimer (this=0x8719908) at amule.cpp:1378
msPrev1 = 60010109
msPrev5 = 60010421
msPrevSave = 60004497
msCur = 60011132
#15 0x00607690 in wxAppConsole::HandleEvent (this=0x8719908, handler=0x8719908, func=
{__pfn = 0x82c811e , __delta = 0}, event=@0xfef983f0)
at src/common/appbase.cpp:307
No locals.
#16 0x006b7445 in wxEvtHandler::ProcessEventIfMatches (entry=@0x85c3358, handler=0x8719908, event=@0xfef983f0)
at src/common/event.cpp:1169
tableId1 = 6128
tableId2 = -1
#17 0x006b63d2 in wxEventHashTable::HandleEvent (this=0x85c32c0, event=@0xfef983f0, self=0x8719908)
at src/common/event.cpp:837
n = 2
eventEntryTable = (const wxEventTableEntryPointerArray &) @0x8e4af4c: { = {m_nSize = 3,
m_nCount = 3, m_pItems = 0x8e61dc0}, }
count = 3
eventType = 10084
eTTnode = (wxEventHashTable::EventTypeTable * const) 0x8e4af48
#18 0x006b7658 in wxEvtHandler::ProcessEvent (this=0x8719908, event=@0xfef983f0) at src/common/event.cpp:1231
No locals.
#19 0x003609e9 in wxTimerBase::Notify (this=0x87694b8) at src/common/timercmn.cpp:61
event = { = { = {_vptr.wxObject = 0x83d66a0, static ms_classInfo = {
m_className = 0x6c3c6d "wxObject", m_objectSize = 8, m_objectConstructor = 0, m_baseInfo1 = 0x0,
m_baseInfo2 = 0x0, static sm_first = 0x83d7bb0, m_next = 0x7056d0, static sm_classTable = 0x8709008},
m_refData = 0x0}, m_eventObject = 0x87694b8, m_eventType = 10084, m_timeStamp = 0, m_id = 6128,
m_callbackUserData = 0x0, m_propagationLevel = 0, m_skipped = false, m_isCommandEvent = false,
static ms_classInfo = {m_className = 0x6c86a7 "wxEvent", m_objectSize = 36, m_objectConstructor = 0,
m_baseInfo1 = 0x705694, m_baseInfo2 = 0x0, static sm_first = 0x83d7bb0, m_next = 0x70595c,
static sm_classTable = 0x8709008}}, m_interval = 100, static ms_classInfo = {
m_className = 0x3c413e "wxTimerEvent", m_objectSize = 40,
m_objectConstructor = 0x3607f0 , m_baseInfo1 = 0x705974, m_baseInfo2 = 0x0,
static sm_first = 0x83d7bb0, m_next = 0x4558a8, static sm_classTable = 0x8709008}}
#20 0x0026217b in timeout_callback (data=0x87694b8) at src/gtk/timer.cpp:47
timer = (wxTimer *) 0x87694b8
#21 0x00a04c5c in g_main_context_wakeup () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#22 0x00a021e2 in g_main_depth () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#23 0x00a032d8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#24 0x00a03610 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#25 0x00a03c53 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#26 0x00f95ff3 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#27 0x00257a96 in wxEventLoop::Run (this=0x9226d20) at src/gtk/evtloop.cpp:80
oldLoop = (wxEventLoop *) 0x0
exitcode = 2985198
#28 0x002d83c5 in wxAppBase::MainLoop (this=0x8719908) at src/common/appcmn.cpp:272
mainLoop = { = {m_ptr = 0x9226d20}, m_pp = 0x8719948, m_pOld = 0x0}
#29 0x002d8531 in wxAppBase::OnRun (this=0x8719908) at src/common/appcmn.cpp:340
No locals.
#30 0x0064af7b in wxEntry (argc=@0xfef986d0, argv=0xfef98754) at src/common/init.cpp:410
callOnExit = {}
cleanupOnExit = {}
#31 0x082caf61 in main (argc=1, argv=0xfef98754) at amule-gui.cpp:161
No locals.
(gdb) up 6
#6 0x0813e873 in CClientReqSocket::ProcessExtPacket (this=0xc1f9a78, packet=0xc4a81e8 "\237", size=13903, opcode=64 '@')
at ListenSocket.cpp:1618
1618 if (m_client && m_client->GetRequestFile()->IsStopped() || m_client->GetRequestFile()->GetStatus()==PS_PAUSED || m_client->GetRequestFile()->GetStatus()==PS_ERROR) {
(gdb) l
1613 throw wxString(wxT("Client send OP_COMPRESSEDPART before finishing handshake"));
1614 }
1615
1616 if (m_client->GetRequestFile() && !m_client->GetRequestFile()->IsStopped() && (m_client->GetRequestFile()->GetStatus()==PS_READY || m_client->GetRequestFile()->GetStatus()==PS_EMPTY)) {
1617 m_client->ProcessBlockPacket(packet,size,true);
1618 if (m_client && m_client->GetRequestFile()->IsStopped() || m_client->GetRequestFile()->GetStatus()==PS_PAUSED || m_client->GetRequestFile()->GetStatus()==PS_ERROR) {
1619 if (!m_client->GetSentCancelTransfer()) {
1620 #ifdef __USE_DEBUG__
1621 if (thePrefs.GetDebugClientTCPLevel() > 0) {
1622 DebugSend("OP__CancelTransfer", m_client);
(gdb)