Someone's confusing poor lil wxApp. X(
As it was not crashing amule, but just displaying annoying messages ("Unknown event notified to wxApp" got repeated about 200 times or more in my term), I recompiled wx 2.5.1 with debug options, recompiled amule with it and ran. The first time that message appeared I stoped amule and got a bt. It seems Kry alreay understood what's the problem, but I'll post it anyway. :]
Shutting it down:
Unknown event notified to wxApp
[Debug] 17:49:52: amule.cpp(2087): assert "0" failed.
Program received signal SIGTRAP, Trace/breakpoint trap.
0x40b58871 in kill () from /lib/libc.so.6
bt'ing:
(gdb) bt
#0 0x40b58871 in kill () from /lib/libc.so.6
#1 0x40ae6c0d in pthread_kill () from /lib/libpthread.so.0
#2 0x40ae6f6b in raise () from /lib/libpthread.so.0
#3 0x404f5994 in wxTrap() () at src/common/appbase.cpp:539
#4 0x402f9b2a in wxGUIAppTraitsBase::ShowAssertDialog(wxString const&) (this=0x860d440, msg=@0xbfffe670) at src/common/appcmn.cpp:533
#5 0x404f5d91 in ShowAssertDialog (szFile=0x8373279 "amule.cpp", nLine=2087, szCond=0x8372b6b "0", szMsg=0x0, traits=0x860d440) at src/common/appbase.cpp:705
#6 0x404f574d in wxAppConsole::OnAssert(char const*, int, char const*, char const*) (this=0x85e9c00, file=0x8373279 "amule.cpp", line=2087, cond=0x8372b6b "0", msg=0x0)
at src/common/appbase.cpp:408
#7 0x4025072e in wxApp::OnAssert(char const*, int, char const*, char const*) (this=0x85e9c00, file=0x8373279 "amule.cpp", line=2087, cond=0x8372b6b "0", msg=0x0)
at src/gtk/app.cpp:649
#8 0x404f5a6d in wxOnAssert(char const*, int, char const*, char const*) (szFile=0x8373279 "amule.cpp", nLine=2087, szCond=0x8372b6b "0", szMsg=0x0)
at src/common/appbase.cpp:585
#9 0x404f59d2 in wxAssert(int, char const*, int, char const*, char const*) (cond=0, szFile=0x8373279 "amule.cpp", nLine=2087, szCond=0x8372b6b "0", szMsg=0x0)
at src/common/appbase.cpp:552
#10 0x082a9119 in CamuleApp::NotifyEvent(GUIEvent) (this=0x85e9c00, event=
{ID = CHAT_REFRESH_FRIEND, byte_value = 0 '\0', long_value = 0, longlong_value = 0, string_value = { = {static npos = 4294967195, m_pchData = 0x4059fd24 ""}, }, ptr_value = 0x89579a8, ptr_aux_value = 0x0}) at amule.cpp:2087
#11 0x0814b7f2 in CUpDownClient::ProcessHelloTypePacket(CSafeMemFile const&) (this=0x8ce2e18, data=@0xbfffe9b0) at BaseClient.cpp:606
#12 0x0814a744 in CUpDownClient::ProcessHelloAnswer(char const*, unsigned) (this=0x8ce2e18, pachPacket=0x8df5898 "\016ä%>.\016ë\216èdh ¯jo¤QãEâ6\022\002", nSize=58)
at BaseClient.cpp:344
#13 0x08136f09 in CClientReqSocket::ProcessPacket(char const*, unsigned, unsigned char) (this=0x8df23c8, packet=0x8df5898 "\016ä%>.\016ë\216èdh ¯jo¤QãEâ6\022\002", size=58,
opcode=76 'L') at ListenSocket.cpp:202
#14 0x081404c2 in CClientReqSocket::PacketReceived(Packet*) (this=0x8df23c8, packet=0x8cd8800) at ListenSocket.cpp:1794
#15 0x08144bc8 in CEMSocket::OnReceive(int) (this=0x8df23c8, nErrorCode=0) at EMSocket.cpp:261
#16 0x0814063b in CClientReqSocket::OnReceive(int) (this=0x8df23c8, nErrorCode=0) at ListenSocket.cpp:1822
#17 0x08140726 in CClientReqSocketHandler::ClientReqSocketHandler(wxSocketEvent&) (this=0x8df24a8, event=@0x8df1b10) at ListenSocket.cpp:1852
#18 0x404f548a in wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const (this=0x85e9c00, handler=0x8df24a8, func=
{__pfn = 0x8140670 , __delta = 0}, event=@0x8df1b10) at src/common/appbase.cpp:288
#19 0x4059149f in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (entry=@0x83eefa0, handler=0x8df24a8, event=@0x8df1b10)
at src/common/event.cpp:1169
#20 0x405904e0 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (this=0x83eef78, event=@0x8df1b10, self=0x8df24a8) at src/common/event.cpp:837
#21 0x405916b8 in wxEvtHandler::ProcessEvent(wxEvent&) (this=0x8df24a8, event=@0x8df1b10) at src/common/event.cpp:1231
#22 0x40591381 in wxEvtHandler::ProcessPendingEvents() (this=0x8df24a8) at src/common/event.cpp:1122
#23 0x404f53f9 in wxAppConsole::ProcessPendingEvents() (this=0x85e9c00) at src/common/appbase.cpp:265
#24 0x4024fc1b in wxapp_pending_callback () at src/gtk/app.cpp:197
#25 0x4078669e in g_timeout_add () from /usr/lib/libglib-1.2.so.0
full bt'ing:
(gdb) bt full
#0 0x40b58871 in kill () from /lib/libc.so.6
No symbol table info available.
#1 0x40ae6c0d in pthread_kill () from /lib/libpthread.so.0
No symbol table info available.
#2 0x40ae6f6b in raise () from /lib/libpthread.so.0
No symbol table info available.
#3 0x404f5994 in wxTrap() () at src/common/appbase.cpp:539
No locals.
#4 0x402f9b2a in wxGUIAppTraitsBase::ShowAssertDialog(wxString const&) (this=0x860d440, msg=@0xbfffe670) at src/common/appcmn.cpp:533
msgDlg = { = {static npos = 4294967195,
m_pchData = 0x8d70e54 "amule.cpp(2087): assert \"0\" failed.\nDo you want to stop the program?\nYou can also choose [Cancel] to suppress further warnings."}, }
#5 0x404f5d91 in ShowAssertDialog (szFile=0x8373279 "amule.cpp", nLine=2087, szCond=0x8372b6b "0", szMsg=0x0, traits=0x860d440) at src/common/appbase.cpp:705
s_bNoAsserts = false
msg = { = {static npos = 4294967195, m_pchData = 0x8d73dfc "amule.cpp(2087): assert \"0\" failed."}, }
#6 0x404f574d in wxAppConsole::OnAssert(char const*, int, char const*, char const*) (this=0x85e9c00, file=0x8373279 "amule.cpp", line=2087, cond=0x8372b6b "0", msg=0x0)
at src/common/appbase.cpp:408
No locals.
#7 0x4025072e in wxApp::OnAssert(char const*, int, char const*, char const*) (this=0x85e9c00, file=0x8373279 "amule.cpp", line=2087, cond=0x8372b6b "0", msg=0x0)
at src/gtk/app.cpp:649
No locals.
#8 0x404f5a6d in wxOnAssert(char const*, int, char const*, char const*) (szFile=0x8373279 "amule.cpp", nLine=2087, szCond=0x8372b6b "0", szMsg=0x0)
at src/common/appbase.cpp:585
s_bInAssert = true
#9 0x404f59d2 in wxAssert(int, char const*, int, char const*, char const*) (cond=0, szFile=0x8373279 "amule.cpp", nLine=2087, szCond=0x8372b6b "0", szMsg=0x0)
at src/common/appbase.cpp:552
No locals.
#10 0x082a9119 in CamuleApp::NotifyEvent(GUIEvent) (this=0x85e9c00, event=
{ID = CHAT_REFRESH_FRIEND, byte_value = 0 '\0', long_value = 0, longlong_value = 0, string_value = { = {static npos = 4294967195, m_pchData = 0x4059fd24 ""}, }, ptr_value = 0x89579a8, ptr_aux_value = 0x0}) at amule.cpp:2087
No locals.
#11 0x0814b7f2 in CUpDownClient::ProcessHelloTypePacket(CSafeMemFile const&) (this=0x8ce2e18, data=@0xbfffe9b0) at BaseClient.cpp:606
dwEmuleTags = 0
pFoundCredits = (CClientCredits *) 0x8698180
bIsMule = false
#12 0x0814a744 in CUpDownClient::ProcessHelloAnswer(char const*, unsigned) (this=0x8ce2e18, pachPacket=0x8df5898 "\016ä%>.\016ë\216èdh ¯jo¤QãEâ6\022\002", nSize=58)
at BaseClient.cpp:344
data = { = { = {_vptr.CFile = 0x833fb28, m_fd = -1, m_error = 72, fFilePath = { = {static npos = 4294967195,
m_pchData = 0x4059fd24 ""}, }}, fGrowBytes = 0, fPosition = 58, fBufferSize = 58, fFileSize = 58, deleteBuffer = 0,
fBuffer = 0x8df5898 "\016ä%>.\016ë\216èdh ¯jo¤QãEâ6\022\002"}, }
bIsMule = 64
#13 0x08136f09 in CClientReqSocket::ProcessPacket(char const*, unsigned, unsigned char) (this=0x8df23c8, packet=0x8df5898 "\016ä%>.\016ë\216èdh ¯jo¤QãEâ6\022\002", size=58,
opcode=76 'L') at ListenSocket.cpp:202
No locals.
#14 0x081404c2 in CClientReqSocket::PacketReceived(Packet*) (this=0x8df23c8, packet=0x8cd8800) at ListenSocket.cpp:1794
bResult = 8
uRawSize = 58
#15 0x08144bc8 in CEMSocket::OnReceive(int) (this=0x8df23c8, nErrorCode=0) at EMSocket.cpp:261
bPacketResult = false
toCopy = 58
GlobalReadBuffer = "ã;\000\000\000L\016ä%>.\016ë\216èdh ¯jo¤QãEâ6\022\002\000\000\000\002\001\000\001\f\000poldarn[ARC]\003\001\000\021<\000\000\000BÂ(b¼\002f6\030\030\b¶Ò;uNò9ì²WU\002\001\021Å2\000\000\000\2060+Cé]Ó:Rt\001\027ûÂÓvGtÄAp\211'ÿÍ9L»û¢\207m¸\236¡ßù¨É\0171f\a5=ÝûÌC\207 Sub Jap Eng Eng).ogmP\000\000DB].ogmã\027\000\000\000P\221ú\020¢Ï3ÙõZ*\204Ì\ta¯\031\000\000\b\000\000©ßr"...
readMax = 2000000
ret = 64
rptr = 0x83ef080 "f6\030\030\b¶Ò;uNò9ì²WU\002\001\021Å2"
rend = 0x83ef080 "f6\030\030\b¶Ò;uNò9ì²WU\002\001\021Å2"
#16 0x0814063b in CClientReqSocket::OnReceive(int) (this=0x8df23c8, nErrorCode=0) at ListenSocket.cpp:1822
No locals.
#17 0x08140726 in CClientReqSocketHandler::ClientReqSocketHandler(wxSocketEvent&) (this=0x8df24a8, event=@0x8df1b10) at ListenSocket.cpp:1852
No locals.
#18 0x404f548a in wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const (this=0x85e9c00, handler=0x8df24a8, func=
{__pfn = 0x8140670 , __delta = 0}, event=@0x8df1b10) at src/common/appbase.cpp:288
No locals.
#19 0x4059149f in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (entry=@0x83eefa0, handler=0x8df24a8, event=@0x8df1b10)
at src/common/event.cpp:1169
tableId1 = 6123
tableId2 = -1
#20 0x405904e0 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (this=0x83eef78, event=@0x8df1b10, self=0x8df24a8) at src/common/event.cpp:837
n = 0
eventEntryTable = (const wxEventTableEntryPointerArray &) @0x8bb11e4: { = {m_nSize = 1, m_nCount = 1, m_pItems = 0x8ccb718}, }
count = 1
eventType = 10002
eTTnode = (EventTypeTable * const) 0x8bb11e0
#21 0x405916b8 in wxEvtHandler::ProcessEvent(wxEvent&) (this=0x8df24a8, event=@0x8df1b10) at src/common/event.cpp:1231
No locals.
#22 0x40591381 in wxEvtHandler::ProcessPendingEvents() (this=0x8df24a8) at src/common/event.cpp:1122
event = (wxEvent *) 0x8df1b10
node = (class wxObjectListNode *) 0x8cd8800
#23 0x404f53f9 in wxAppConsole::ProcessPendingEvents() (this=0x85e9c00) at src/common/appbase.cpp:265
handler = (wxEvtHandler *) 0x8df24a8
node = (class wxObjectListNode *) 0x8cc33c0
#24 0x4024fc1b in wxapp_pending_callback () at src/gtk/app.cpp:197
No locals.
#25 0x4078669e in g_timeout_add () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
With the little knowledge I have about it, I'd guess the interesting line is the 10th one (and by that I mean the one with #10 in front of it

) and that this problem is caused due to the lack of a "
case CHAT_REFRESH_FRIEND:" in "
CamuleApp::NotifyEvent(GUIEvent event)".
Am I right? :]