Hi all,
I compiled v2.2.4 to run under Fedora 10. Unfortunately, I found that it was not stable; it never had an uptime of more than 24h. So, I recompiled it with debugging. Here are the libraries I am using, followed by the gdb output. If you need more info, please let me know. Thanks.
$ rpm -aq | grep wx
wxGTK-devel-2.8.9-1.fc10.i386
wxGTK-gl-2.8.9-1.fc10.i386
wxGTK-2.8.9-1.fc10.i386
wxBase-2.8.9-1.fc10.i386
(gdb) bt
#0 0x005179e6 in pthread_mutex_lock () from /lib/libpthread.so.0
#1 0x00a71dc9 in __gnu_debug::_Safe_iterator_base::_M_attach () from /usr/lib/libstdc++.so.6
bt full
#2 0x080afdef in _Safe_iterator_base (this=0xbfffec4c, __seq=0x9fa12d0, __constant=false)
at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_base.h:95
#3 0x080b0054 in _Safe_iterator (this=0xbfffec4c, __i=@0xbfffec0c, __seq=0x9fa12c8)
at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_iterator.h:114
#4 0x080b0182 in std::__debug::list<CUpDownClient*, std::allocator<CUpDownClient*> >::end (this=0x9fa12c8)
at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/list:178
#5 0x080b01c7 in __gnu_debug::_Safe_iterator<std::__norm::_List_iterator<CUpDownClient*>, std::__debug::list<CUpDownClient*, std::allocator<CUpDownClient*> > >::_M_is_end
(this=0xbfffee18) at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_iterator.h:406
#6 0x080b06b2 in __gnu_debug::_Safe_iterator<std::__norm::_List_iterator<CUpDownClient*>, std::__debug::list<CUpDownClient*, std::allocator<CUpDownClient*> > >::_M_dereferenceable (this=0xbfffee18) at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_iterator.h:347
#7 0x080b06e0 in __gnu_debug::_Safe_iterator<std::__norm::_List_iterator<CUpDownClient*>, std::__debug::list<CUpDownClient*, std::allocator<CUpDownClient*> > >::operator*
(this=0xbfffee18) at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_iterator.h:178
#8 0x08205223 in CUploadQueue::CheckForTimeOver (this=0x9fa12c8, client=0xc4dc948) at UploadQueue.cpp:470
#9 0x08201e85 in CUpDownClient::SendBlockData (this=0xc4dc948) at UploadClient.cpp:631
#10 0x082079bc in CUploadQueue::Process (this=0x9fa12c8) at UploadQueue.cpp:207
#11 0x0808ed4c in CamuleApp::OnCoreTimer (this=0x87f09a8) at amule.cpp:1440
#12 0x003b1d91 in wxAppConsole::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
#13 0x004531ba in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.8.so.0
#14 0x004543d4 in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
#15 0x004544db in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.8.so.0
#16 0x00453639 in wxEvtHandler::ProcessPendingEvents () from /usr/lib/libwx_baseu-2.8.so.0
#17 0x003b20f1 in wxAppConsole::ProcessPendingEvents () from /usr/lib/libwx_baseu-2.8.so.0
#18 0x07c9fba2 in wxAppBase::ProcessIdle () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#19 0x07bef4b3 in ?? () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#20 0x00150301 in ?? () from /lib/libglib-2.0.so.0
#21 0x00152238 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#22 0x001558e3 in ?? () from /lib/libglib-2.0.so.0
#23 0x00155e02 in g_main_loop_run () from /lib/libglib-2.0.so.0
#24 0x03d41959 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#25 0x07c09065 in wxEventLoop::Run () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#26 0x07c9fa0e in wxAppBase::MainLoop () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#27 0x07c9f5e1 in wxAppBase::OnRun () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#28 0x003eccaa in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0
#29 0x003ecea7 in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0
#30 0x0827615b in main (argc=167383760, argv=0x1) at amule-gui.cpp:95
(gdb) bt full
#0 0x005179e6 in pthread_mutex_lock () from /lib/libpthread.so.0
No symbol table info available.
#1 0x00a71dc9 in __gnu_debug::_Safe_iterator_base::_M_attach () from /usr/lib/libstdc++.so.6
No symbol table info available.
#2 0x080afdef in _Safe_iterator_base (this=0xbfffec4c, __seq=0x9fa12d0, __constant=false)
at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_base.h:95
No locals.
#3 0x080b0054 in _Safe_iterator (this=0xbfffec4c, __i=@0xbfffec0c, __seq=0x9fa12c8)
at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_iterator.h:114
No locals.
#4 0x080b0182 in std::__debug::list<CUpDownClient*, std::allocator<CUpDownClient*> >::end (this=0x9fa12c8)
at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/list:178
No locals.
#5 0x080b01c7 in __gnu_debug::_Safe_iterator<std::__norm::_List_iterator<CUpDownClient*>, std::__debug::list<CUpDownClient*, std::allocator<CUpDownClient*> > >::_M_is_end
(this=0xbfffee18) at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_iterator.h:406
No locals.
#6 0x080b06b2 in __gnu_debug::_Safe_iterator<std::__norm::_List_iterator<CUpDownClient*>, std::__debug::list<CUpDownClient*, std::allocator<CUpDownClient*> > >::_M_dereferenceable (this=0xbfffee18) at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_iterator.h:347
No locals.
#7 0x080b06e0 in __gnu_debug::_Safe_iterator<std::__norm::_List_iterator<CUpDownClient*>, std::__debug::list<CUpDownClient*, std::allocator<CUpDownClient*> > >::operator*
(this=0xbfffee18) at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_iterator.h:178
No locals.
#8 0x08205223 in CUploadQueue::CheckForTimeOver (this=0x9fa12c8, client=0xc4dc948) at UploadQueue.cpp:470
it = {<__gnu_debug::_Safe_iterator_base> = {_M_sequence = 0x9fa12d0, _M_version = 1, _M_prior = 0x0, _M_next = 0x0}, _M_current = {_M_node = 0xc06c090}}
#9 0x08201e85 in CUpDownClient::SendBlockData (this=0xc4dc948) at UploadClient.cpp:631
s = (class CEMSocket *) 0xced0fe8
curTick = 2329782586
sentBytesCompleteFile = 0
sentBytesPartFile = 0
sentBytesPayload = 0
#10 0x082079bc in CUploadQueue::Process (this=0x9fa12c8) at UploadQueue.cpp:207
cur_client = (CUpDownClient *) 0xc4dc948
it = {<__gnu_debug::_Safe_iterator_base> = {_M_sequence = 0x9fa12e4, _M_version = 1, _M_prior = 0x0, _M_next = 0x0}, _M_current = {_M_node = 0xae969b0}}
sentBytes = 612218694460603360
#11 0x0808ed4c in CamuleApp::OnCoreTimer (this=0x87f09a8) at amule.cpp:1440
msCur = 90280234
msPrev1 = 90279728
msPrev5 = 90277355
msPrevSave = 90234834
msPrevHist = 90280000
msPrevOS = 90277355
msPrevKnownMet = 89482904
#12 0x003b1d91 in wxAppConsole::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#13 0x004531ba in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#14 0x004543d4 in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#15 0x004544db in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#16 0x00453639 in wxEvtHandler::ProcessPendingEvents () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#17 0x003b20f1 in wxAppConsole::ProcessPendingEvents () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#18 0x07c9fba2 in wxAppBase::ProcessIdle () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#19 0x07bef4b3 in ?? () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#20 0x00150301 in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
#21 0x00152238 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
No symbol table info available.
#22 0x001558e3 in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
#23 0x00155e02 in g_main_loop_run () from /lib/libglib-2.0.so.0
No symbol table info available.
#24 0x03d41959 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#25 0x07c09065 in wxEventLoop::Run () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#26 0x07c9fa0e in wxAppBase::MainLoop () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#27 0x07c9f5e1 in wxAppBase::OnRun () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#28 0x003eccaa in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#29 0x003ecea7 in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#30 0x0827615b in main (argc=167383760, argv=0x1) at amule-gui.cpp:95
No locals.
(gdb) thread apply all bt
Thread 4 (Thread 0xb5810b90 (LWP 13795)):
#0 0x00110416 in __kernel_vsyscall ()
#1 0x0051a432 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2 0x00450627 in wxConditionInternal::WaitTimeout () from /usr/lib/libwx_baseu-2.8.so.0
#3 0x0045067f in wxCondition::WaitTimeout () from /usr/lib/libwx_baseu-2.8.so.0
#4 0x00451d24 in wxSemaphoreInternal::WaitTimeout () from /usr/lib/libwx_baseu-2.8.so.0
#5 0x00451daf in wxSemaphore::WaitTimeout () from /usr/lib/libwx_baseu-2.8.so.0
#6 0x083a353c in CTimerThread::Entry (this=0xb13d910) at Timer.cpp:64
#7 0x00451f43 in wxThreadInternal::PthreadStart () from /usr/lib/libwx_baseu-2.8.so.0
#8 0x00451fbd in wxPthreadStart () from /usr/lib/libwx_baseu-2.8.so.0
#9 0x0051651f in start_thread () from /lib/libpthread.so.0
#10 0x0062404e in clone () from /lib/libc.so.6
Thread 2 (Thread 0xb6c12b90 (LWP 13722)):
#0 0x00110416 in __kernel_vsyscall ()
#1 0x0051d996 in nanosleep () from /lib/libpthread.so.0
#2 0x00458518 in wxMicroSleep () from /usr/lib/libwx_baseu-2.8.so.0
#3 0x00458541 in wxMilliSleep () from /usr/lib/libwx_baseu-2.8.so.0
#4 0x0045047d in wxThread::Sleep () from /usr/lib/libwx_baseu-2.8.so.0
#5 0x081efd89 in UploadBandwidthThrottler::Entry (this=0xbb8a300) at UploadBandwidthThrottler.cpp:324
#6 0x00451f43 in wxThreadInternal::PthreadStart () from /usr/lib/libwx_baseu-2.8.so.0
#7 0x00451fbd in wxPthreadStart () from /usr/lib/libwx_baseu-2.8.so.0
#8 0x0051651f in start_thread () from /lib/libpthread.so.0
#9 0x0062404e in clone () from /lib/libc.so.6
Thread 1 (Thread 0xb7fd1760 (LWP 13700)):
#0 0x005179e6 in pthread_mutex_lock () from /lib/libpthread.so.0
#1 0x00a71dc9 in __gnu_debug::_Safe_iterator_base::_M_attach () from /usr/lib/libstdc++.so.6
#2 0x080afdef in _Safe_iterator_base (this=0xbfffec4c, __seq=0x9fa12d0, __constant=false)
at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_base.h:95
#3 0x080b0054 in _Safe_iterator (this=0xbfffec4c, __i=@0xbfffec0c, __seq=0x9fa12c8)
at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_iterator.h:114
#4 0x080b0182 in std::__debug::list<CUpDownClient*, std::allocator<CUpDownClient*> >::end (this=0x9fa12c8)
at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/list:178
#5 0x080b01c7 in __gnu_debug::_Safe_iterator<std::__norm::_List_iterator<CUpDownClient*>, std::__debug::list<CUpDownClient*, std::allocator<CUpDownClient*> > >::_M_is_end
(this=0xbfffee18) at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_iterator.h:406
#6 0x080b06b2 in __gnu_debug::_Safe_iterator<std::__norm::_List_iterator<CUpDownClient*>, std::__debug::list<CUpDownClient*, std::allocator<CUpDownClient*> > >::_M_dereferenceable (this=0xbfffee18) at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_iterator.h:347
#7 0x080b06e0 in __gnu_debug::_Safe_iterator<std::__norm::_List_iterator<CUpDownClient*>, std::__debug::list<CUpDownClient*, std::allocator<CUpDownClient*> > >::operator*
(this=0xbfffee18) at /usr/lib/gcc/i386-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/safe_iterator.h:178
#8 0x08205223 in CUploadQueue::CheckForTimeOver (this=0x9fa12c8, client=0xc4dc948) at UploadQueue.cpp:470
#9 0x08201e85 in CUpDownClient::SendBlockData (this=0xc4dc948) at UploadClient.cpp:631
#10 0x082079bc in CUploadQueue::Process (this=0x9fa12c8) at UploadQueue.cpp:207
#11 0x0808ed4c in CamuleApp::OnCoreTimer (this=0x87f09a8) at amule.cpp:1440
#12 0x003b1d91 in wxAppConsole::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
#13 0x004531ba in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.8.so.0
#14 0x004543d4 in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
#15 0x004544db in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.8.so.0
#16 0x00453639 in wxEvtHandler::ProcessPendingEvents () from /usr/lib/libwx_baseu-2.8.so.0
---Type <return> to continue, or q <return> to quit---
#17 0x003b20f1 in wxAppConsole::ProcessPendingEvents () from /usr/lib/libwx_baseu-2.8.so.0
#18 0x07c9fba2 in wxAppBase::ProcessIdle () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#19 0x07bef4b3 in ?? () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#20 0x00150301 in ?? () from /lib/libglib-2.0.so.0
#21 0x00152238 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#22 0x001558e3 in ?? () from /lib/libglib-2.0.so.0
#23 0x00155e02 in g_main_loop_run () from /lib/libglib-2.0.so.0
#24 0x03d41959 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#25 0x07c09065 in wxEventLoop::Run () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#26 0x07c9fa0e in wxAppBase::MainLoop () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#27 0x07c9f5e1 in wxAppBase::OnRun () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#28 0x003eccaa in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0
#29 0x003ecea7 in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0
#30 0x0827615b in main (argc=167383760, argv=0x1) at amule-gui.cpp:95