wxWidgets 2.8.4-rc1, compiled with --enable-unicode --enable-debug
aMule cvs from 25/04/2007 compiled with --enable-debug --disable-optimize --with-wx-config=/path...
If I click the server list download button once, it downloads the list fine. However, if I click it twice quickly, then amule crashes.
This is the GDB output:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1292903536 (LWP 18530)]
0xb79036fc in wxThreadInternal::GetId (this=0x5) at ./src/unix/threadpsx.cpp:655
655 pthread_t GetId() const { return m_threadId; }
(gdb) bt
#0 0xb79036fc in wxThreadInternal::GetId (this=0x5) at ./src/unix/threadpsx.cpp:655
#1 0xb78ff52c in wxThread::GetId (this=0x8c6f8e0) at ./src/unix/threadpsx.cpp:1285
#2 0xb790058f in DeleteThread (This=0x8c6f8e0) at ./src/unix/threadpsx.cpp:1713
#3 0xb7901b9d in wxThread::Exit (this=0x8c6f8e0, status=0x0) at ./src/unix/threadpsx.cpp:1494
#4 0xb7901f05 in wxThreadInternal::PthreadStart (thread=0x8c6f8e0) at ./src/unix/threadpsx.cpp:809
#5 0xb7901f67 in wxPthreadStart (ptr=0x8c6f8e0) at ./src/unix/threadpsx.cpp:718
#6 0xb7efd31b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7 0xb763ac9e in clone () from /lib/tls/i686/cmov/libc.so.6
(gdb) bt full
#0 0xb79036fc in wxThreadInternal::GetId (this=0x5) at ./src/unix/threadpsx.cpp:655
No locals.
#1 0xb78ff52c in wxThread::GetId (this=0x8c6f8e0) at ./src/unix/threadpsx.cpp:1285
No locals.
#2 0xb790058f in DeleteThread (This=0x8c6f8e0) at ./src/unix/threadpsx.cpp:1713
locker = {m_isOk = true, m_mutex = @0x8808d58}
__FUNCTION__ = "DeleteThread"
#3 0xb7901b9d in wxThread::Exit (this=0x8c6f8e0, status=0x0) at ./src/unix/threadpsx.cpp:1494
__FUNCTION__ = "Exit"
#4 0xb7901f05 in wxThreadInternal::PthreadStart (thread=0x8c6f8e0) at ./src/unix/threadpsx.cpp:809
pthread = (wxThreadInternal *) 0x8c73f58
rc = 0
dontRunAtAll = false
__FUNCTION__ = "PthreadStart"
#5 0xb7901f67 in wxPthreadStart (ptr=0x8c6f8e0) at ./src/unix/threadpsx.cpp:718
No locals.
#6 0xb7efd31b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#7 0xb763ac9e in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
(gdb) thread apply all bt
Thread 7 (Thread -1292903536 (LWP 18530)):
#0 0xb79036fc in wxThreadInternal::GetId (this=0x5) at ./src/unix/threadpsx.cpp:655
#1 0xb78ff52c in wxThread::GetId (this=0x8c6f8e0) at ./src/unix/threadpsx.cpp:1285
#2 0xb790058f in DeleteThread (This=0x8c6f8e0) at ./src/unix/threadpsx.cpp:1713
#3 0xb7901b9d in wxThread::Exit (this=0x8c6f8e0, status=0x0) at ./src/unix/threadpsx.cpp:1494
#4 0xb7901f05 in wxThreadInternal::PthreadStart (thread=0x8c6f8e0) at ./src/unix/threadpsx.cpp:809
#5 0xb7901f67 in wxPthreadStart (ptr=0x8c6f8e0) at ./src/unix/threadpsx.cpp:718
#6 0xb7efd31b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7 0xb763ac9e in clone () from /lib/tls/i686/cmov/libc.so.6
Thread 4 (Thread -1266517104 (LWP 18523)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7f0184c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb78ffafb in wxConditionInternal::WaitTimeout (this=0x8bc6f28, milliseconds=93) at ./src/unix/threadpsx.cpp:405
#3 0xb78ffbe0 in wxCondition::WaitTimeout (this=0x8b44024, milliseconds=93) at ./include/wx/thrimpl.cpp:256
#4 0xb7900a29 in wxSemaphoreInternal::WaitTimeout (this=0x8b44020, milliseconds=93) at ./src/unix/threadpsx.cpp:552
#5 0xb7900b12 in wxSemaphore::WaitTimeout (this=0x8b41a18, milliseconds=93) at ./include/wx/thrimpl.cpp:320
#6 0x08341c96 in CTimerThread::Entry (this=0x8b419f8) at Timer.cpp:63
#7 0xb7901dfc in wxThreadInternal::PthreadStart (thread=0x8b419f8) at ./src/unix/threadpsx.cpp:766
#8 0xb7901f67 in wxPthreadStart (ptr=0x8b419f8) at ./src/unix/threadpsx.cpp:718
#9 0xb7efd31b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#10 0xb763ac9e in clone () from /lib/tls/i686/cmov/libc.so.6
Thread 2 (Thread -1248523376 (LWP 18521)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7f04986 in ?? () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb790baab in wxMicroSleep (microseconds=1000) at ./src/unix/utilsunx.cpp:191
#3 0xb790bad5 in wxMilliSleep (milliseconds=1) at ./src/unix/utilsunx.cpp:212
#4 0xb78ff77b in wxThread::Sleep (milliseconds=1) at ./src/unix/threadpsx.cpp:986
#5 0x081ac2fb in UploadBandwidthThrottler::Entry (this=0x8b8a6c8) at UploadBandwidthThrottler.cpp:321
#6 0xb7901dfc in wxThreadInternal::PthreadStart (thread=0x8b8a6c8) at ./src/unix/threadpsx.cpp:766
#7 0xb7901f67 in wxPthreadStart (ptr=0x8b8a6c8) at ./src/unix/threadpsx.cpp:718
#8 0xb7efd31b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#9 0xb763ac9e in clone () from /lib/tls/i686/cmov/libc.so.6
Thread 1 (Thread -1227929904 (LWP 18507)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7630fb3 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0xb6f15e03 in ?? () from /usr/lib/libglib-2.0.so.0
#3 0x08a0a908 in ?? ()
---Type <return> to continue, or q <return> to quit---
#4 0x00000004 in ?? ()
#5 0xb6f16335 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#6 0xb6a1ae57 in link_main_iteration () from /usr/lib/libORBit-2.so.0
#7 0xb69fe437 in giop_recv_buffer_get () from /usr/lib/libORBit-2.so.0
#8 0xb6a02fab in ORBit_small_invoke_stub () from /usr/lib/libORBit-2.so.0
#9 0xb6a031ce in ORBit_small_invoke_stub_n () from /usr/lib/libORBit-2.so.0
#10 0xb6a0f992 in ORBit_c_stub_invoke () from /usr/lib/libORBit-2.so.0
#11 0xb6abd628 in Accessibility_EventListener_notifyEvent () from /usr/lib/libspi.so.0
#12 0xb6bd7e01 in ?? () from /usr/lib/gtk-2.0/modules/libatk-bridge.so
#13 0x08843f28 in ?? ()
#14 0xbfda1f00 in ?? ()
#15 0xb6bda39c in ?? () from /usr/lib/gtk-2.0/modules/libatk-bridge.so
#16 0xb6a06a8e in CORBA_string_dup () from /usr/lib/libORBit-2.so.0
#17 0xb6bd8644 in ?? () from /usr/lib/gtk-2.0/modules/libatk-bridge.so
#18 0x08bb54c0 in ?? ()
#19 0x00000000 in ?? ()
0xb79036fc 655 pthread_t GetId() const { return m_threadId; }
(gdb)