We're back! (IN POG FORM)
[Debug] Generating a stack trace... please waitkademlia/kademlia/../kademlia/Tag.h(85): assert "0" failed in GetInt().Call stack:[00] 0xb7d835f4[01] wxAppConsole::OnAssertFailure(wchar_t const*, int, wchar_t const*, wchar_t const*, wchar_t const*)[02] wxOnAssert(wchar_t const*, int, char const*, wchar_t const*, wchar_t const*)[03] Kademlia::CTag::GetInt() const kademlia/kademlia/../kademlia/Tag.h:85[04] Kademlia::CKademliaUDPListener::processPublishRequest(unsigned char const*, unsigned int, unsigned int, unsigned short)kademlia/net/KademliaUDPListener.cpp:845[05] Kademlia::CKademliaUDPListener::processPacket(unsigned char const*, unsigned int, unsigned int, unsigned short) kademlia/net/KademliaUDPListener.cpp:192[06] Kademlia::CKademlia::processPacket(unsigned char const*, unsigned int, unsigned int, unsigned short) kademlia/kademlia/Kademlia.cpp:337[07] CClientUDPSocket::OnPacketReceived(amuleIPV4Address&, unsigned char*, unsigned int) /root/aMule-2.1.3/src/ClientUDPSocket.cpp:99[08] CMuleUDPSocket::OnReceive(int) /root/aMule-2.1.3/src/MuleUDPSocket.cpp:171[09] CClientUDPSocket::OnReceive(int) /root/aMule-2.1.3/src/ClientUDPSocket.cpp:69[10] CamuleApp::UDPSocketHandler(wxSocketEvent&) /root/aMule-2.1.3/src/amule.cpp:2023[11] wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const[12] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)[13] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)[14] wxEvtHandler::ProcessEvent(wxEvent&)[15] wxEvtHandler::ProcessPendingEvents()[16] wxAppConsole::ProcessPendingEvents()[17] CamuleDaemonApp::OnRun() /root/aMule-2.1.3/src/amuled.cpp:458Trace/breakpoint trap (core dumped)
(gdb) bt full#0 0xb7f9135b in raise () from /lib/tls/libpthread.so.0No symbol table info available.#1 0xb7d543fe in wxTrap () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#2 0xb7d54459 in ?? () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#3 0xb7d548ca in wxAppTraitsBase::ShowAssertDialog () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#4 0xb7d5494c in wxConsoleAppTraitsBase::ShowAssertDialog () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#5 0xb7d545f4 in ?? () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#6 0xb7d5481a in wxAppConsole::OnAssertFailure () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#7 0xb7d54715 in wxOnAssert () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#8 0x08195914 in Kademlia::CTag::GetInt (this=0x8afc648) at kademlia/io/../kademlia/Tag.h:85 __FUNCTION__ = "GetInt"#9 0x081b2640 in Kademlia::CKademliaUDPListener::processPublishRequest (---Type <return> to continue, or q <return> to quit--- this=0x88a1640, packetData=0xbff5bca6 "n%`G!�s\233h\"\025d�Q�\f\001", lenPacket=139, ip=31657053, port=1756) at kademlia/net/KademliaUDPListener.cpp:845 tag = (class Kademlia::CTag *) 0x8afc648 target = {m_data = {1998149294, 2797915602, 2769125097, 488192711}} entry = (Kademlia::CEntry *) 0x8b9a8f0 indexed = (class Kademlia::CIndexed *) 0x88a1200 bio = {<Kademlia::CDataIO> = {_vptr.CDataIO = 0x83352f0}, m_bReadOnly = true, m_buffer = 0xbff5bd0f "\t\001", m_available = 34, m_used = 105} file = {m_data = {1197483374, 2608056865, 1679106664, 212750783}} distance = {m_data = {358681, 355207962, 3091183931, 3909670879}} strInfo = {<wxStringBase> = {static npos = 4294967295, m_pchData = 0x8b9acfc}, <No data fields>} count = 1 flag = false load = 0 '\0' __FUNCTION__ = "processPublishRequest"#10 0x081b76e2 in Kademlia::CKademliaUDPListener::processPacket ( this=0x88a1640, data=0xbff5bca4 "�@n%`G!�s\233h\"\025d�Q�\f\001", lenData=141, ip=31657053, port=1756) at kademlia/net/KademliaUDPListener.cpp:191 curCon = true---Type <return> to continue, or q <return> to quit--- opcode = 64 '@' packetData = (const byte *) 0xbff5bca6 "n%`G!�s\233h\"\025d�Q�\f\001" lenPacket = 139#11 0x08182646 in Kademlia::CKademlia::processPacket ( data=0xbff5bca4 "�@n%`G!�s\233h\"\025d�Q�\f\001", lenData=141, ip=31657053, port=1756) at kademlia/kademlia/Kademlia.cpp:328No locals.#12 0x080b44ec in CClientUDPSocket::OnPacketReceived (this=0x88a1e30, addr=@0xbff5dcac, buffer=0xbff5bca4 "�@n%`G!�s\233h\"\025d�Q�\f\001", length=141) at ClientUDPSocket.cpp:89 protocol = 164 '�' opcode = 64 '@' ip = 1561125633 port = 1756 __FUNCTION__ = "OnPacketReceived"#13 0x0812b3f9 in CMuleUDPSocket::OnReceive (this=0x88a1e30, errorCode=0) at MuleUDPSocket.cpp:171 buffer = "�@n%`G!�s\233h\"\025d�Q�\f\001\000�V\031w��Ħ�~\r��:\031\035\a\002\001\000\0013\000[ITA-FULL] I corti.iso(aldo giovanni e giacomo).iso\n\001\000\002\b\000��\021\001\000\000\000\t\001\000\025\t\b\001\0009PF\t\001\000A\001\002\001\000\003\003\000Pro\002\001\000\004\003\000iso%.9N��)\212\204�\033���A�\033\236\211��<$\213A\f�\227F\206A.\225f�Y\214\f�\230�c%�!O(\203q\v\214�\003\220&9\215Ң"...---Type <return> to continue, or q <return> to quit--- addr = {<> = {<No data fields>}, <No data fields>} length = 141 error = false lastError = 0#14 0x080b49e8 in CClientUDPSocket::OnReceive (this=0x88a1e30, errorCode=0) at ClientUDPSocket.cpp:66No locals.#15 0x0806546b in CamuleApp::UDPSocketHandler (this=0x85c3ea0, event=@0x8bb08a0) at amule.cpp:2022 socket = (class CMuleUDPSocket *) 0x88a1e30 __FUNCTION__ = "UDPSocketHandler"#16 0xb7d542f9 in wxAppConsole::HandleEvent () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#17 0xb7e0d1f8 in wxEvtHandler::ProcessEventIfMatches () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#18 0xb7e0ef22 in wxEventHashTable::HandleEvent () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#19 0xb7e0f085 in wxEvtHandler::ProcessEvent () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.---Type <return> to continue, or q <return> to quit---#20 0xb7e0da4e in wxEvtHandler::ProcessPendingEvents () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#21 0xb7d5536f in wxAppConsole::ProcessPendingEvents () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#22 0x0805b4bb in CamuleDaemonApp::OnRun (this=0x85c3ea0) at amuled.cpp:457No locals.#23 0xb7d9b30c in wxEntry () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#24 0xb7d9b3d4 in wxEntry () from /usr/local/lib/libwx_baseud-2.8.so.0No symbol table info available.#25 0x0805b518 in main (argc=Cannot access memory at address 0x4c91) at amuled.cpp:132No locals.(gdb)
(gdb) thread apply all btThread 4 (Thread -1230763088 (LWP 19610)):#0 0xb7f8dd72 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0#1 0xb7e08f0d in wxConditionInternal::WaitTimeout () from /usr/local/lib/libwx_baseud-2.8.so.0#2 0xb7e08ff2 in wxCondition::WaitTimeout () from /usr/local/lib/libwx_baseud-2.8.so.0#3 0xb7e09e31 in wxSemaphoreInternal::WaitTimeout () from /usr/local/lib/libwx_baseud-2.8.so.0#4 0xb7e09f1a in wxSemaphore::WaitTimeout () from /usr/local/lib/libwx_baseud-2.8.so.0#5 0x0805dc78 in CTimerThread::Entry (this=0x88a7ad8) at Timer.cpp:66#6 0xb7e0b1d4 in wxThreadInternal::PthreadStart () from /usr/local/lib/libwx_baseud-2.8.so.0#7 0xb7e0b31d in wxPthreadStart () from /usr/local/lib/libwx_baseud-2.8.so.0#8 0xb7f8b20e in start_thread () from /lib/tls/libpthread.so.0#9 0xb7b730de in clone () from /lib/tls/libc.so.6Thread 2 (Thread -1213985872 (LWP 19608)):#0 0xb7f9099c in ?? () from /lib/tls/libpthread.so.0#1 0xb7e14bfd in wxMicroSleep () from /usr/local/lib/libwx_baseud-2.8.so.0#2 0xb7e14c27 in wxMilliSleep () from /usr/local/lib/libwx_baseud-2.8.so.0---Type <return> to continue, or q <return> to quit---#3 0xb7e08b8d in wxThread::Sleep () from /usr/local/lib/libwx_baseud-2.8.so.0#4 0x081693bc in UploadBandwidthThrottler::Entry (this=0x88a2318) at UploadBandwidthThrottler.cpp:370#5 0xb7e0b1d4 in wxThreadInternal::PthreadStart () from /usr/local/lib/libwx_baseud-2.8.so.0#6 0xb7e0b31d in wxPthreadStart () from /usr/local/lib/libwx_baseud-2.8.so.0#7 0xb7f8b20e in start_thread () from /lib/tls/libpthread.so.0#8 0xb7b730de in clone () from /lib/tls/libc.so.6Thread 1 (Thread -1213577536 (LWP 19601)):#0 0xb7f9135b in raise () from /lib/tls/libpthread.so.0#1 0xb7d543fe in wxTrap () from /usr/local/lib/libwx_baseud-2.8.so.0#2 0xb7d54459 in ?? () from /usr/local/lib/libwx_baseud-2.8.so.0#3 0xb7d548ca in wxAppTraitsBase::ShowAssertDialog () from /usr/local/lib/libwx_baseud-2.8.so.0#4 0xb7d5494c in wxConsoleAppTraitsBase::ShowAssertDialog () from /usr/local/lib/libwx_baseud-2.8.so.0#5 0xb7d545f4 in ?? () from /usr/local/lib/libwx_baseud-2.8.so.0#6 0xb7d5481a in wxAppConsole::OnAssertFailure () from /usr/local/lib/libwx_baseud-2.8.so.0#7 0xb7d54715 in wxOnAssert () from /usr/local/lib/libwx_baseud-2.8.so.0#8 0x08195914 in Kademlia::CTag::GetInt (this=0x8afc648) at kademlia/io/../kademlia/Tag.h:85---Type <return> to continue, or q <return> to quit---#9 0x081b2640 in Kademlia::CKademliaUDPListener::processPublishRequest ( this=0x88a1640, packetData=0xbff5bca6 "n%`G!�s\233h\"\025d�Q�\f\001", lenPacket=139, ip=31657053, port=1756) at kademlia/net/KademliaUDPListener.cpp:845#10 0x081b76e2 in Kademlia::CKademliaUDPListener::processPacket ( this=0x88a1640, data=0xbff5bca4 "�@n%`G!�s\233h\"\025d�Q�\f\001", lenData=141, ip=31657053, port=1756) at kademlia/net/KademliaUDPListener.cpp:191#11 0x08182646 in Kademlia::CKademlia::processPacket ( data=0xbff5bca4 "�@n%`G!�s\233h\"\025d�Q�\f\001", lenData=141, ip=31657053, port=1756) at kademlia/kademlia/Kademlia.cpp:328#12 0x080b44ec in CClientUDPSocket::OnPacketReceived (this=0x88a1e30, addr=@0xbff5dcac, buffer=0xbff5bca4 "�@n%`G!�s\233h\"\025d�Q�\f\001", length=141) at ClientUDPSocket.cpp:89#13 0x0812b3f9 in CMuleUDPSocket::OnReceive (this=0x88a1e30, errorCode=0) at MuleUDPSocket.cpp:171#14 0x080b49e8 in CClientUDPSocket::OnReceive (this=0x88a1e30, errorCode=0) at ClientUDPSocket.cpp:66#15 0x0806546b in CamuleApp::UDPSocketHandler (this=0x85c3ea0, event=@0x8bb08a0) at amule.cpp:2022#16 0xb7d542f9 in wxAppConsole::HandleEvent () from /usr/local/lib/libwx_baseud-2.8.so.0#17 0xb7e0d1f8 in wxEvtHandler::ProcessEventIfMatches ()---Type <return> to continue, or q <return> to quit--- from /usr/local/lib/libwx_baseud-2.8.so.0#18 0xb7e0ef22 in wxEventHashTable::HandleEvent () from /usr/local/lib/libwx_baseud-2.8.so.0#19 0xb7e0f085 in wxEvtHandler::ProcessEvent () from /usr/local/lib/libwx_baseud-2.8.so.0#20 0xb7e0da4e in wxEvtHandler::ProcessPendingEvents () from /usr/local/lib/libwx_baseud-2.8.so.0#21 0xb7d5536f in wxAppConsole::ProcessPendingEvents () from /usr/local/lib/libwx_baseud-2.8.so.0#22 0x0805b4bb in CamuleDaemonApp::OnRun (this=0x85c3ea0) at amuled.cpp:457#23 0xb7d9b30c in wxEntry () from /usr/local/lib/libwx_baseud-2.8.so.0#24 0xb7d9b3d4 in wxEntry () from /usr/local/lib/libwx_baseud-2.8.so.0#25 0x0805b518 in main (argc=Cannot access memory at address 0x4c91) at amuled.cpp:132(gdb)
My last will, if possible, is reading a doc (UML or whatever) to understand the code/classes structure. Maybe I'll be able to give you some help directly.
Some parts of it are well documented, e.g., the external connections protocol.
3) I put comments everywhere, bitches.