Hello again.
Here is another crash. But my amule was running for over 1.5 day, and it's not
related to first bugreport. Here comes backtrace after segafult:
(gdb) bt
#0 0xb7173ee9 in wcslen () from /lib/tls/libc.so.6
#1 0xb7145d1f in vfwprintf () from /lib/tls/libc.so.6
#2 0xb715ab8e in vswprintf () from /lib/tls/libc.so.6
#3 0xb7a271b0 in wxVsnprintf () from /usr/lib/libwx_baseu-2.5.so.3
#4 0xb7a0c194 in wxString::PrintfV () from /usr/lib/libwx_baseu-2.5.so.3
#5 0xb7a0c02d in wxString::Format () from /usr/lib/libwx_baseu-2.5.so.3
#6 0x0813f0c6 in CClientReqSocket::OnError (this=0x9d8d648, nErrorCode=7) at
ListenSocket.cpp:1991
#7 0x0813f972 in CClientReqSocketHandler::ClientReqSocketHandler
(this=0x9dc60f8, [EMAIL PROTECTED])
at ListenSocket.cpp:2205
#8 0xb79a0d78 in wxAppConsole::HandleEvent () from
/usr/lib/libwx_baseu-2.5.so.3
#9 0xb7a4e850 in wxEvtHandler::ProcessEventIfMatches () from
/usr/lib/libwx_baseu-2.5.so.3
#10 0xb7a4dccf in wxEventHashTable::HandleEvent () from
/usr/lib/libwx_baseu-2.5.so.3
#11 0xb7a4e9f0 in wxEvtHandler::ProcessEvent () from
/usr/lib/libwx_baseu-2.5.so.3
#12 0xb7a4e786 in wxEvtHandler::ProcessPendingEvents () from
/usr/lib/libwx_baseu-2.5.so.3
#13 0xb79a0ce6 in wxAppConsole::ProcessPendingEvents () from
/usr/lib/libwx_baseu-2.5.so.3
#14 0xb7c03735 in wxApp::WakeUpIdle () from /usr/lib/libwx_gtk2u_core-2.5.so.3
#15 0xb73376b3 in g_child_watch_add () from /usr/lib/libglib-2.0.so.0
#16 0xb73346b2 in g_main_depth () from /usr/lib/libglib-2.0.so.0
#17 0xb7335738 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#18 0xb7335a70 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#19 0xb7336013 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#20 0xb75d7a23 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#21 0xb7c1e208 in wxEventLoop::Run () from /usr/lib/libwx_gtk2u_core-2.5.so.3
#22 0xb7caf233 in wxAppBase::MainLoop () from /usr/lib/libwx_gtk2u_core-2.5.so.3
#23 0xb7caf39a in wxAppBase::OnRun () from /usr/lib/libwx_gtk2u_core-2.5.so.3
#24 0xb79e4a63 in wxEntry () from /usr/lib/libwx_baseu-2.5.so.3
#25 0xb79e4b3d in wxEntry () from /usr/lib/libwx_baseu-2.5.so.3
#26 0x0826cf1b in main (argc=1, argv=0x811c) at amule-gui.cpp:161
(gdb) up 6
#6 0x0813f0c6 in CClientReqSocket::OnError (this=0x9d8d648, nErrorCode=7) at
ListenSocket.cpp:1991
1991 strError += wxString::Format(wxT(" (IP:%s)
caused a socket blocking error."),unicode2char(m_client->GetFullIP()));
(gdb)
So my suggestion is to backport part of the cvs code (like in included .diff).
diff -ur amule-1.2.6+rc8.orig/src/ListenSocket.cpp
amule-1.2.6+rc8/src/ListenSocket.cpp
--- amule-1.2.6+rc8/src/ListenSocket.cpp 2004-12-22 01:20:09.000000000
+0100
+++ amule-1.2.6+rc8/src/ListenSocket.cpp 2005-02-15 11:50:39.000000000
+0100
@@ -1988,7 +1988,7 @@
} else {
strError = wxT("An unnamed client");
}
- strError += wxString::Format(wxT(" (IP:%s) caused a
socket blocking error."),unicode2char(m_client->GetFullIP()));
+ strError += wxT(" (IP:") + m_client->GetFullIP() + _(")
caused a socket blocking error or closed connection.");
} else {
strError = wxT("A client caused a socket blocking
error.");
}