Hehe, in a few hours after that post I caught the same segfault again.
backtrace:
(gdb) bt
#0 RawPeekUInt64 (p=0x1ca) at ArchSpecific.h:139
#1 0x00000000004803ce in CMD4Hash::operator== (this=0x1ca, other_hash=...) at MD4Hash.h:103
#2 0x00000000004a8209 in CMD4Hash::operator!= (this=0x1ca, other_hash=...) at MD4Hash.h:112
#3 0x000000000049f3e6 in CClientTCPSocket::ProcessExtPacket (this=0x2158030, buffer=<value optimized out>, size=<value optimized out>, opcode=44 ',') at ClientTCPSocket.cpp:1103
#4 0x00000000004a7180 in CClientTCPSocket::PacketReceived (this=0x2158030, packet=0xde0e70) at ClientTCPSocket.cpp:2000
#5 0x00000000004ec89c in CEMSocket::OnReceive (this=0x2158030, nErrorCode=<value optimized out>) at EMSocket.cpp:284
#6 0x00000000004a1d7a in CClientTCPSocket::OnReceive (this=0x2158030, nErrorCode=0) at ClientTCPSocket.cpp:1908
#7 0x00000000004a817f in CClientTCPSocketHandler::ClientTCPSocketHandler (this=<value optimized out>, event=...) at ClientTCPSocket.cpp:101
#8 0x00007ffff5e05c40 in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
#9 0x00007ffff5e06c14 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/libwx_baseu-2.8.so.0
#10 0x00007ffff5e06cf7 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
#11 0x00007ffff5e06098 in wxEvtHandler::ProcessPendingEvents() () from /usr/lib/libwx_baseu-2.8.so.0
#12 0x00007ffff5d783c9 in wxAppConsole::ProcessPendingEvents() () from /usr/lib/libwx_baseu-2.8.so.0
#13 0x00007ffff65222fb in wxAppBase::ProcessIdle() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#14 0x00007ffff6486463 in ?? () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#15 0x00007ffff27dd6f2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#16 0x00007ffff27e1568 in ?? () from /lib/libglib-2.0.so.0
#17 0x00007ffff27e1a75 in g_main_loop_run () from /lib/libglib-2.0.so.0
#18 0x00007ffff46db6b7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#19 0x00007ffff649d408 in wxEventLoop::Run() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#20 0x00007ffff652218b in wxAppBase::MainLoop() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#21 0x00007ffff5dac63c in wxEntry(int&, wchar_t**) () from /usr/lib/libwx_baseu-2.8.so.0
#22 0x00000000005d6c02 in main (argc=1, argv=0x7fffffffcf90) at amule-gui.cpp:93
(gdb) bt full
#0 RawPeekUInt64 (p=0x1ca) at ArchSpecific.h:139
No locals.
#1 0x00000000004803ce in CMD4Hash::operator== (this=0x1ca, other_hash=...) at MD4Hash.h:103
No locals.
#2 0x00000000004a8209 in CMD4Hash::operator!= (this=0x1ca, other_hash=...) at MD4Hash.h:112
No locals.
#3 0x000000000049f3e6 in CClientTCPSocket::ProcessExtPacket (this=0x2158030, buffer=<value optimized out>, size=<value optimized out>, opcode=44 ',') at ClientTCPSocket.cpp:1103
nSize = 68298412
data_in = {<CFileDataIO> = {_vptr.CFileDataIO = 0x7e7d70}, m_growthRate = 0, m_position = 24, m_BufferSize = 32, m_fileSize = 32, m_delete = false, m_readonly = true,
m_buffer = 0x22b14d0 ",`Uc", <incomplete sequence \325>}
reqfilehash = {m_hash = ",`Uc\325\000$\377wĺ\025\065\214i", <incomplete sequence \320>}
reqfile = <value optimized out>
data_out = {<CFileDataIO> = {_vptr.CFileDataIO = 0x7eae90}, m_growthRate = 0, m_position = 108, m_BufferSize = 108, m_fileSize = 108, m_delete = false, m_readonly = true,
m_buffer = 0x1e7bcc0 "\b\237\062\365\377\177"}
#4 0x00000000004a7180 in CClientTCPSocket::PacketReceived (this=0x2158030, packet=0xde0e70) at ClientTCPSocket.cpp:2000
bResult = false
uRawSize = 32
exception = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0x7ffff5e28558 L""}, <No data fields>}
#5 0x00000000004ec89c in CEMSocket::OnReceive (this=0x2158030, nErrorCode=<value optimized out>) at EMSocket.cpp:284
packet = {m_ptr = 0xde0e70}
readMax = <value optimized out>
buf = 0x22b14d0 ",`Uc", <incomplete sequence \325>
ret = 32
#6 0x00000000004a1d7a in CClientTCPSocket::OnReceive (this=0x2158030, nErrorCode=0) at ClientTCPSocket.cpp:1908
No locals.
#7 0x00000000004a817f in CClientTCPSocketHandler::ClientTCPSocketHandler (this=<value optimized out>, event=...) at ClientTCPSocket.cpp:101
baseSocket = <value optimized out>
socket = 0x2158030
#8 0x00007ffff5e05c40 in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#9 0x00007ffff5e06c14 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#10 0x00007ffff5e06cf7 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#11 0x00007ffff5e06098 in wxEvtHandler::ProcessPendingEvents() () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#12 0x00007ffff5d783c9 in wxAppConsole::ProcessPendingEvents() () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#13 0x00007ffff65222fb in wxAppBase::ProcessIdle() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#14 0x00007ffff6486463 in ?? () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#15 0x00007ffff27dd6f2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#16 0x00007ffff27e1568 in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
#17 0x00007ffff27e1a75 in g_main_loop_run () from /lib/libglib-2.0.so.0
No symbol table info available.
#18 0x00007ffff46db6b7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#19 0x00007ffff649d408 in wxEventLoop::Run() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#20 0x00007ffff652218b in wxAppBase::MainLoop() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#21 0x00007ffff5dac63c in wxEntry(int&, wchar_t**) () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#22 0x00000000005d6c02 in main (argc=1, argv=0x7fffffffcf90) at amule-gui.cpp:93
(gdb) thread apply all bt
Thread 19 (Thread 0x7fffeb5e4700 (LWP 9753)):
#0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1 0x00007ffff4bc4381 in ?? () from /usr/lib/libthreadutil.so.2
#2 0x00007ffff7bc98ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3 0x00007ffff509c02d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4 0x0000000000000000 in ?? ()
Thread 18 (Thread 0x7fffe8ddf700 (LWP 6594)):
#0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1 0x00007ffff4bc4381 in ?? () from /usr/lib/libthreadutil.so.2
#2 0x00007ffff7bc98ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3 0x00007ffff509c02d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4 0x0000000000000000 in ?? ()
Thread 15 (Thread 0x7fffe5f53700 (LWP 3166)):
#0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1 0x00007ffff5e03696 in wxConditionInternal::WaitTimeout(unsigned long) () from /usr/lib/libwx_baseu-2.8.so.0
#2 0x00007ffff5e04667 in wxSemaphoreInternal::WaitTimeout(unsigned long) () from /usr/lib/libwx_baseu-2.8.so.0
#3 0x00000000006b906d in CTimerThread::Entry (this=0x1682270) at Timer.cpp:66
#4 0x00007ffff5e04d91 in wxThreadInternal::PthreadStart(wxThread*) () from /usr/lib/libwx_baseu-2.8.so.0
#5 0x00007ffff7bc98ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6 0x00007ffff509c02d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7 0x0000000000000000 in ?? ()
Thread 11 (Thread 0x7fffe7b5e700 (LWP 3157)):
#0 0x00007ffff7bd17dd in nanosleep () at ../sysdeps/unix/syscall-template.S:82
#1 0x00007ffff5e0a81c in wxMicroSleep(unsigned long) () from /usr/lib/libwx_baseu-2.8.so.0
#2 0x000000000057c53b in UploadBandwidthThrottler::Entry (this=<value optimized out>) at UploadBandwidthThrottler.cpp:323
#3 0x00007ffff5e04d91 in wxThreadInternal::PthreadStart(wxThread*) () from /usr/lib/libwx_baseu-2.8.so.0
#4 0x00007ffff7bc98ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#5 0x00007ffff509c02d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6 0x0000000000000000 in ?? ()
Thread 7 (Thread 0x7fffea5e2700 (LWP 3143)):
#0 0x00007ffff50958d3 in select () at ../sysdeps/unix/syscall-template.S:82
#1 0x00007ffff6dd8cdb in ?? () from /usr/lib/libupnp.so.3
#2 0x00007ffff4bc46ac in ?? () from /usr/lib/libthreadutil.so.2
#3 0x00007ffff7bc98ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4 0x00007ffff509c02d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5 0x0000000000000000 in ?? ()
Thread 6 (Thread 0x7fffeade3700 (LWP 3142)):
---Type <return> to continue, or q <return> to quit---
#0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1 0x00007ffff4bc4381 in ?? () from /usr/lib/libthreadutil.so.2
#2 0x00007ffff7bc98ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3 0x00007ffff509c02d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4 0x0000000000000000 in ?? ()
Thread 3 (Thread 0x7fffec5e6700 (LWP 3139)):
#0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1 0x00007ffff4bc65b1 in ?? () from /usr/lib/libthreadutil.so.2
#2 0x00007ffff4bc46ac in ?? () from /usr/lib/libthreadutil.so.2
#3 0x00007ffff7bc98ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4 0x00007ffff509c02d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5 0x0000000000000000 in ?? ()
Thread 2 (Thread 0x7fffecde7700 (LWP 3138)):
#0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1 0x00007ffff4bc4381 in ?? () from /usr/lib/libthreadutil.so.2
#2 0x00007ffff7bc98ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3 0x00007ffff509c02d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4 0x0000000000000000 in ?? ()
Thread 1 (Thread 0x7ffff7fbd800 (LWP 3127)):
#0 RawPeekUInt64 (p=0x1ca) at ArchSpecific.h:139
#1 0x00000000004803ce in CMD4Hash::operator== (this=0x1ca, other_hash=...) at MD4Hash.h:103
#2 0x00000000004a8209 in CMD4Hash::operator!= (this=0x1ca, other_hash=...) at MD4Hash.h:112
#3 0x000000000049f3e6 in CClientTCPSocket::ProcessExtPacket (this=0x2158030, buffer=<value optimized out>, size=<value optimized out>, opcode=44 ',') at ClientTCPSocket.cpp:1103
#4 0x00000000004a7180 in CClientTCPSocket::PacketReceived (this=0x2158030, packet=0xde0e70) at ClientTCPSocket.cpp:2000
#5 0x00000000004ec89c in CEMSocket::OnReceive (this=0x2158030, nErrorCode=<value optimized out>) at EMSocket.cpp:284
#6 0x00000000004a1d7a in CClientTCPSocket::OnReceive (this=0x2158030, nErrorCode=0) at ClientTCPSocket.cpp:1908
#7 0x00000000004a817f in CClientTCPSocketHandler::ClientTCPSocketHandler (this=<value optimized out>, event=...) at ClientTCPSocket.cpp:101
#8 0x00007ffff5e05c40 in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
#9 0x00007ffff5e06c14 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/libwx_baseu-2.8.so.0
#10 0x00007ffff5e06cf7 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
#11 0x00007ffff5e06098 in wxEvtHandler::ProcessPendingEvents() () from /usr/lib/libwx_baseu-2.8.so.0
#12 0x00007ffff5d783c9 in wxAppConsole::ProcessPendingEvents() () from /usr/lib/libwx_baseu-2.8.so.0
#13 0x00007ffff65222fb in wxAppBase::ProcessIdle() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#14 0x00007ffff6486463 in ?? () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#15 0x00007ffff27dd6f2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#16 0x00007ffff27e1568 in ?? () from /lib/libglib-2.0.so.0
#17 0x00007ffff27e1a75 in g_main_loop_run () from /lib/libglib-2.0.so.0
#18 0x00007ffff46db6b7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#19 0x00007ffff649d408 in wxEventLoop::Run() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#20 0x00007ffff652218b in wxAppBase::MainLoop() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
---Type <return> to continue, or q <return> to quit---
#21 0x00007ffff5dac63c in wxEntry(int&, wchar_t**) () from /usr/lib/libwx_baseu-2.8.so.0
#22 0x00000000005d6c02 in main (argc=1, argv=0x7fffffffcf90) at amule-gui.cpp:93