aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: Current CVS crashed twice like this  (Read 3532 times)

phoenix

  • Evil respawning bird from aMule Dev Team
  • Developer
  • Hero Member
  • *****
  • Karma: 44
  • Offline Offline
  • Posts: 2503
  • The last shadow you'll ever see
Current CVS crashed twice like this
« on: February 02, 2006, 03:09:50 AM »

No real backtrace, unfortunately, only trash in gdb.

Compatible client found with ET_COMPATIBLECLIENT of 0x1e
Compatible client found with ET_COMPATIBLECLIENT of 0x1e
Compatible client found with ET_COMPATIBLECLIENT of 0x1e
Compatible client found with ET_COMPATIBLECLIENT of 0x1e
Compatible client found with ET_COMPATIBLECLIENT of 0x1e
Invalid Kad tag; type=0xc7 name=0x00
Error on count 28 tag 0
Compatible client found with ET_COMPATIBLECLIENT of 0x1e
Compatible client found with ET_COMPATIBLECLIENT of 0x1e
Invalid Kad tag; type=0x1a name=0x00
Error on count 21 tag 0

--------------------------------------------------------------------------------
A fatal error has occurred and aMule has crashed.
Please assist us in fixing this problem by posting the backtrace below in our
'aMule Crashes' forum and include as much information as possible regarding the
circumstances of this crash. The forum is located here:
    http://forum.amule.org/board.php?boardid=67
If possible, please try to generate a real backtrace of this crash:
    http://www.amule.org/wiki/index.php/Backtraces

----------------------------=| BACKTRACE FOLLOWS: |=----------------------------
Current version is: aMule CVS using wxGTK2 v2.7.0 (Debugging) (Snapshot: rev. 6442)
Running on: Linux 2.6.14-1.1653_FC4 i686

[2] CamuleApp::OnFatalException() in amule.cpp:1132
[3] wxFatalSignalHandler in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0xaf7c5b]
[4] ?? in [0xcd9420]
[5] __gnu_norm::_Bit_reference::operator bool() const in stl_bvector.h:80
[6] __gnu_norm::_Bit_const_iterator::operator*() const in stl_bvector.h:287
[7] __gnu_norm::vector >::operator[](unsigned int) const in stl_bvector.h:613
[8] __gnu_debug_def::vector >::operator[](unsigned int) const in vector:200
[9] CKnownFile::CreateSrcInfoPacket(CUpDownClient const*) in KnownFile.cpp:899
[10] CClientTCPSocket::ProcessExtPacket(unsigned char const*, unsigned int, unsigned char) in ClientTCPSocket.cpp:1477
[11] CClientTCPSocket::PacketReceived(CPacket*) in ClientTCPSocket.cpp:1861
[12] CEMSocket::OnReceive(int) in EMSocket.cpp:313
[13] CClientTCPSocket::OnReceive(int) in ClientTCPSocket.cpp:1774
[14] CClientTCPSocketHandler::ClientTCPSocketHandler(wxSocketEvent&) in ClientTCPSocket.cpp:100
[15] wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0xa4f296]
[16] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0xaf17aa]
[17] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0xaf1b98]
[18] wxEvtHandler::ProcessEvent(wxEvent&) in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0xaf2c1f]
[19] wxEvtHandler::ProcessPendingEvents() in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0xaf28a9]
[20] wxAppConsole::ProcessPendingEvents() in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0xa4f202]
[21] wxAppBase::OnIdle(wxIdleEvent&) in /usr/local/wxWidgets-cvsu/lib/libwx_gtk2ud_core-2.7.so.0[0x6b13f0]
[22] wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0xa4f296]
[23] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0xaf17aa]
[24] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0xaf1b98]
[25] wxEvtHandler::ProcessEvent(wxEvent&) in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0xaf2c1f]
[26] wxAppBase::ProcessIdle() in /usr/local/wxWidgets-cvsu/lib/libwx_gtk2ud_core-2.7.so.0[0x6b1260]
[27] ?? in /usr/local/wxWidgets-cvsu/lib/libwx_gtk2ud_core-2.7.so.0 [0x602172]
[28] ?? in /usr/lib/libglib-2.0.so.0 [0xba5730]
[29] g_main_context_dispatch in /usr/lib/libglib-2.0.so.0[0xba34ce]
[30] ?? in /usr/lib/libglib-2.0.so.0 [0xba64d6]
[31] g_main_loop_run in /usr/lib/libglib-2.0.so.0[0xba67c3]
[32] gtk_main in /usr/lib/libgtk-x11-2.0.so.0[0x4d01a46]
[33] wxEventLoop::Run() in /usr/local/wxWidgets-cvsu/lib/libwx_gtk2ud_core-2.7.so.0[0x622a05]
[34] wxAppBase::MainLoop() in /usr/local/wxWidgets-cvsu/lib/libwx_gtk2ud_core-2.7.so.0[0x6b0ee7]
[35] wxAppBase::OnRun() in /usr/local/wxWidgets-cvsu/lib/libwx_gtk2ud_core-2.7.so.0[0x6b1071]
[36] wxEntry(int&, wchar_t**) in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0xa8d4e9]
[37] wxEntry(int&, char**) in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0xa8d5c2]
[38] main in amule-gui.cpp:107
[39] __libc_start_main in /lib/libc.so.6[0x37ed5f]
[40] wxTextCtrlBase::LoadFile(wxString const&) in :0


--------------------------------------------------------------------------------
Logged

phoenix

  • Evil respawning bird from aMule Dev Team
  • Developer
  • Hero Member
  • *****
  • Karma: 44
  • Offline Offline
  • Posts: 2503
  • The last shadow you'll ever see
Re: Current CVS crashed twice like this
« Reply #1 on: February 04, 2006, 02:03:19 AM »

Now with a backtrace. It takes long to crash, but repeatability is high.
Code: [Select]
Compatible client found with ET_COMPATIBLECLIENT of 0x1e
Invalid Kad tag; type=0x24 name=0x00
Error on count 0 tag 0
Compatible client found with ET_COMPATIBLECLIENT of 0x1e
Invalid Kad tag; type=0x0e name=0x00
Error on count 26 tag 0
Unknown port receiving an UDP packet! Ignoring
Error on count 1 tag 0
Error on count 1 tag 0
Unknown port receiving an UDP packet! Ignoring

--------------------------------------------------------------------------------
A fatal error has occurred and aMule has crashed.
Please assist us in fixing this problem by posting the backtrace below in our
'aMule Crashes' forum and include as much information as possible regarding the
circumstances of this crash. The forum is located here:
    [URL]http://forum.amule.org/board.php?boardid=67[/URL]
If possible, please try to generate a real backtrace of this crash:
    [URL]http://www.amule.org/wiki/index.php/Backtraces[/URL]

----------------------------=| BACKTRACE FOLLOWS: |=----------------------------
Current version is: aMule CVS using wxGTK2 v2.7.0 (Debugging) (Snapshot: rev. 6459)
Running on: Linux 2.6.14-1.1653_FC4 i686

[2] CamuleApp::OnFatalException() in amule.cpp:1132
[3] wxFatalSignalHandler in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0x213c5b]
[4] ?? in [0x5bb420]
[5] __gnu_norm::_Bit_reference::operator bool() const in stl_bvector.h:80
[6] __gnu_norm::_Bit_const_iterator::operator*() const in stl_bvector.h:287
[7] __gnu_norm::vector >::operator[](unsigned int) const in stl_bvector.h:613
[8] __gnu_debug_def::vector >::operator[](unsigned int) const in vector:200
[9] CKnownFile::CreateSrcInfoPacket(CUpDownClient const*) in KnownFile.cpp:899
[10] CClientTCPSocket::ProcessExtPacket(unsigned char const*, unsigned int, unsigned char) in ClientTCPSocket.cpp:1468
[11] CClientTCPSocket::PacketReceived(CPacket*) in ClientTCPSocket.cpp:1852
[12] CEMSocket::OnReceive(int) in EMSocket.cpp:313
[13] CClientTCPSocket::OnReceive(int) in ClientTCPSocket.cpp:1765
[14] CClientTCPSocketHandler::ClientTCPSocketHandler(wxSocketEvent&) in ClientTCPSocket.cpp:100
[15] wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0x16b296]
[16] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0x20d7aa]
[17] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0x20db98]
[18] wxEvtHandler::ProcessEvent(wxEvent&) in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0x20ec1f]
[19] wxEvtHandler::ProcessPendingEvents() in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0x20e8a9]
[20] wxAppConsole::ProcessPendingEvents() in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0x16b202]
[21] ?? in /usr/local/wxWidgets-cvsu/lib/libwx_gtk2ud_core-2.7.so.0 [0x6d5015]
[22] ?? in /usr/lib/libglib-2.0.so.0 [0x50e730]
[23] g_main_context_dispatch in /usr/lib/libglib-2.0.so.0[0x50c4ce]
[24] ?? in /usr/lib/libglib-2.0.so.0 [0x50f4d6]
[25] g_main_loop_run in /usr/lib/libglib-2.0.so.0[0x50f7c3]
[26] gtk_main in /usr/lib/libgtk-x11-2.0.so.0[0x4d01a46]
[27] wxEventLoop::Run() in /usr/local/wxWidgets-cvsu/lib/libwx_gtk2ud_core-2.7.so.0[0x6f5a05]
[28] wxAppBase::MainLoop() in /usr/local/wxWidgets-cvsu/lib/libwx_gtk2ud_core-2.7.so.0[0x783ee7]
[29] wxAppBase::OnRun() in /usr/local/wxWidgets-cvsu/lib/libwx_gtk2ud_core-2.7.so.0[0x784071]
[30] wxEntry(int&, wchar_t**) in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0x1a94e9]
[31] wxEntry(int&, char**) in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.7.so.0[0x1a95c2]
[32] main in amule-gui.cpp:107
[33] __libc_start_main in /lib/libc.so.6[0xa20d5f]
[34] wxTextCtrlBase::LoadFile(wxString const&) in :0


--------------------------------------------------------------------------------
(gdb) bt
#0  0x005bb402 in __kernel_vsyscall ()
#1  0x00a34118 in raise () from /lib/libc.so.6
#2  0x00a35888 in abort () from /lib/libc.so.6
#3  0x00213c63 in wxFatalSignalHandler () at ./src/unix/utilsunx.cpp:1026
#4  
#5  0x0809420a in __gnu_norm::_Bit_reference::operator bool (this=0xbf9db190)
    at /usr/lib/gcc/i386-redhat-linux/4.0.2/../../../../include/c++/4.0.2/bits/stl_bvector.h:80
#6  0x080db632 in __gnu_norm::_Bit_const_iterator::operator* (this=0xbf9db1c0)
    at /usr/lib/gcc/i386-redhat-linux/4.0.2/../../../../include/c++/4.0.2/bits/stl_bvector.h:287
#7  0x080db9a3 in __gnu_norm::vector >::operator[] (this=0xc3dbb7c, __n=0)
    at /usr/lib/gcc/i386-redhat-linux/4.0.2/../../../../include/c++/4.0.2/bits/stl_bvector.h:613
#8  0x080dbd87 in __gnu_debug_def::vector >::operator[] (this=0xc3dbb7c, __n=0)
    at /usr/lib/gcc/i386-redhat-linux/4.0.2/../../../../include/c++/4.0.2/debug/vector:200
#9  0x0826c6ad in CKnownFile::CreateSrcInfoPacket (this=0xa7a77b8, forClient=0xe2e4070) at KnownFile.cpp:899
#10 0x080c502e in CClientTCPSocket::ProcessExtPacket (this=0xe1d4648, buffer=0xd1aaab0 "\\<]\035Ç\204\037ÆÆ\\\224\rØ<\203Î\030", size=16,
    opcode=129 '\201') at ClientTCPSocket.cpp:1468
#11 0x080cd598 in CClientTCPSocket::PacketReceived (this=0xe1d4648, packet=0xdd00078) at ClientTCPSocket.cpp:1852
#12 0x0810df4a in CEMSocket::OnReceive (this=0xe1d4648, nErrorCode=0) at EMSocket.cpp:313
#13 0x080c19ab in CClientTCPSocket::OnReceive (this=0xe1d4648, nErrorCode=0) at ClientTCPSocket.cpp:1764
#14 0x080c18d9 in CClientTCPSocketHandler::ClientTCPSocketHandler (this=0x85cbf40, event=@0xe209f48) at ClientTCPSocket.cpp:99
#15 0x0016b296 in wxAppConsole::HandleEvent (this=0xa651248, handler=0x85cbf40, func=
      {__pfn = 0x80c17ac , __delta = 0}, event=@0xe209f48)
    at ./src/common/appbase.cpp:320
#16 0x0020d7aa in wxEvtHandler::ProcessEventIfMatches (entry=@0x85cbee0, handler=0x85cbf40, event=@0xe209f48) at ./src/common/event.cpp:1178
#17 0x0020db98 in wxEventHashTable::HandleEvent (this=0x85cbf10, event=@0xe209f48, self=0x85cbf40) at ./src/common/event.cpp:855
#18 0x0020ec1f in wxEvtHandler::ProcessEvent (this=0x85cbf40, event=@0xe209f48) at ./src/common/event.cpp:1240
#19 0x0020e8a9 in wxEvtHandler::ProcessPendingEvents (this=0x85cbf40) at ./src/common/event.cpp:1137
#20 0x0016b202 in wxAppConsole::ProcessPendingEvents (this=0xa651248) at ./src/common/appbase.cpp:292
#21 0x006d5015 in wxapp_pending_callback () at ./src/gtk/app.cpp:211
#22 0x0050e730 in g_child_watch_add () from /usr/lib/libglib-2.0.so.0
#23 0x0050c4ce in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0x0050f4d6 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#25 0x0050f7c3 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#26 0x04d01a46 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#27 0x006f5a05 in wxEventLoop::Run (this=0xbaa23e0) at ./src/gtk/evtloop.cpp:73
#28 0x00783ee7 in wxAppBase::MainLoop (this=0xa651248) at ./src/common/appcmn.cpp:265
#29 0x00784071 in wxAppBase::OnRun (this=0xa651248) at ./src/common/appcmn.cpp:320
#30 0x001a94e9 in wxEntry (argc=@0xbf9dbee0, argv=0xa6402c0) at ./src/common/init.cpp:442
#31 0x001a95c2 in wxEntry (argc=@0xbf9dbee0, argv=0xbf9dbf64) at ./src/common/init.cpp:454
#32 0x081f279c in main (argc=2, argv=0xbf9dbf64) at amule-gui.cpp:107
(gdb) frame 9
#9  0x0826c6ad in CKnownFile::CreateSrcInfoPacket (this=0xa7a77b8, forClient=0xe2e4070) at KnownFile.cpp:899
899                                                     if ( srcstatus[x] && !rcvstatus[x] ) {
(gdb) l
894                                     if (srcstatus.size() != GetPartCount()) {
895                                             continue;
896                                     }
897                                     if ( cur_src->GetUpPartCount() == forClient->GetUpPartCount() ) {
898                                             for (int x = 0; x < GetPartCount(); x++ ) {
899                                                     if ( srcstatus[x] && !rcvstatus[x] ) {
900                                                             // We know the receiving client needs
901                                                             // a chunk from this client.
902                                                             bNeeded = true;
903                                                             break;
Logged

Xaignar

  • Admin and Code Junky
  • Hero Member
  • *****
  • Karma: 19
  • Offline Offline
  • Posts: 1103
Re: Current CVS crashed twice like this
« Reply #2 on: February 04, 2006, 12:11:11 PM »

Try applying this patch. I think this is what happens, but I'm not yet sure how:
Code: [Select]
Index: src/ListenSocket.h
===================================================================
--- src/ListenSocket.h (revision 6469)
+++ src/ListenSocket.h (working copy)
@@ -41,6 +41,7 @@
 class CListenSocket : public CSocketServerProxy
 {
 public:
+ typedef std::set SocketSet;
  CListenSocket(wxIPaddress &addr, const CProxyData *ProxyData = NULL);
  ~CListenSocket();
  bool StartListening();
@@ -64,9 +65,9 @@
 
  bool OnShutdown() { return shutdown;}
 
+ const SocketSet& GetSockets() const { return socket_list; };
 private:
 
- typedef std::set SocketSet;
  SocketSet socket_list;
 
  bool bListening;
Index: src/ClientList.cpp
===================================================================
--- src/ClientList.cpp (revision 6469)
+++ src/ClientList.cpp (working copy)
@@ -37,6 +37,7 @@
 #include "Preferences.h" // Needed for thePrefs
 #include "Statistics.h" // Needed for theStats
 #include "Logger.h"
+#include "ListenSocket.h"
 #include
 
 #include
@@ -527,6 +588,19 @@
  Notify_ClientCtrlRemoveClient( toremove );
 
  delete toremove;
+
+#ifdef __WXDEBUG__
+ // Sanitycheck. No socket must be pointing to the client.
+ const std::set& sockets = theApp.listensocket->GetSockets();
+ std::set::const_iterator it = sockets.begin();
+ for (; it != sockets.end(); ++it) {
+ if ((*it)->GetClient() == toremove) {
+ printf("Found socket with dangling client pointer!\n");
+
+ const_cast(*it)->SetClient(NULL);
+ }
+ }
+#endif
  }
 }
Logged

phoenix

  • Evil respawning bird from aMule Dev Team
  • Developer
  • Hero Member
  • *****
  • Karma: 44
  • Offline Offline
  • Posts: 2503
  • The last shadow you'll ever see
Re: Current CVS crashed twice like this
« Reply #3 on: February 04, 2006, 02:09:11 PM »

$ patch -p0 < ../xaignar.patch
patching file src/ListenSocket.h
Hunk #1 FAILED at 41.
Hunk #2 FAILED at 65.
2 out of 2 hunks FAILED -- saving rejects to file src/ListenSocket.h.rej
patching file src/ClientList.cpp
Hunk #1 succeeded at 37 with fuzz 2.
Hunk #2 FAILED at 588.
1 out of 2 hunks FAILED -- saving rejects to file src/ClientList.cpp.rej

??

Maybe, try to attach the patch, i think the html breaks spaces.
Logged

OldFrog

  • Sr. Member
  • ****
  • Karma: 31
  • Offline Offline
  • Posts: 385
Re: Current CVS crashed twice like this
« Reply #4 on: February 04, 2006, 05:15:14 PM »

Quote Xaignar's post ;) it worked for me. now to be tested (As I already had this one).
Logged
Computer Science is no more about computers than astronomy is about telescopes (Edsger W. Dijkstra)

Xaignar

  • Admin and Code Junky
  • Hero Member
  • *****
  • Karma: 19
  • Offline Offline
  • Posts: 1103
Re: Current CVS crashed twice like this
« Reply #5 on: February 04, 2006, 09:43:49 PM »

Or just apply manually you lazy bums. ;)
Logged

phoenix

  • Evil respawning bird from aMule Dev Team
  • Developer
  • Hero Member
  • *****
  • Karma: 44
  • Offline Offline
  • Posts: 2503
  • The last shadow you'll ever see
Re: Current CVS crashed twice like this
« Reply #6 on: February 05, 2006, 11:07:05 AM »

Ok, i managed it. Apllied, now testing.
Logged