aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Pages: 1 [2] 3

Author Topic: another crash  (Read 22494 times)

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: another crash
« Reply #15 on: December 06, 2008, 10:58:50 PM »

Hmm - I don't think one crashing app could cause other apps to crash on Linux. Maybe it is a problem with your system.
Please try the SVN version with debug and patch, and send a backtrace if possible.
And your English is just fine.  :)
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon

wires

  • Jr. Member
  • **
  • Karma: 6
  • Offline Offline
  • Posts: 83
Re: another crash
« Reply #16 on: December 09, 2008, 04:51:54 PM »

Please try this patch. It tries to work around the problem by not using the trayicon pointer as status variable anymore.
At least with trayicon off it should run now. If it does, try reenabling the tray icon and see if it crashes then.

I've modified CamuleDlg::ShowTransferRate to check the preferences for the tray icon
Code: [Select]
if (m_wndTaskbarNotifier && thePrefs::UseTrayIcon()) {
// set trayicon-icon
···
This code should be valid when the tray icon is disabled but it should fail with an enabled tray icon.

I have checked the logfile after these crashes and it is always showing a last message about a new chat message. As something is invalidating the pointer, may be it is the new message handling? I've just received one message (spam of course  ;)) from the very same client (AngelMule 1.0) as I have received many other times BUT THIS TIME (it is the first one) aMule is still alive and the chat window is showing the chat session.

Next step: debugging the invalid pointer. I am not an amule dev so... I'll need some help

P.S: aMule-SVN-r9248-RELEASE-2_2_X
« Last Edit: December 09, 2008, 04:58:38 PM by wires »
Logged

raveboy

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
Re: another crash
« Reply #17 on: December 10, 2008, 12:17:41 PM »

Hey guys,

seems I can also repeat your problem. I did some programming in the past, but it was 8088 Assembler and TurboPascal 3.0. So it's quite a while since then. I've postet my backtrace in http://forum.amule.org/index.php?topic=16255.0

So what is the current summary, what patches do we need to apply? Is there already a final solution for the compile problem in Format.cpp, where I had to disable the 32Bit ..SetCurrentField(wxString::Format(wxT..

Thanks,
Martin
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: another crash
« Reply #18 on: December 10, 2008, 11:48:19 PM »

I have checked the logfile after these crashes and it is always showing a last message about a new chat message.
Did you also check the timestamp ? How long before the crash was it ?
The chat message entry may be the only log entry for a long time and thus look as if it has something to do with it (which I doubt).
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon

wires

  • Jr. Member
  • **
  • Karma: 6
  • Offline Offline
  • Posts: 83
Re: another crash
« Reply #19 on: December 11, 2008, 12:26:03 AM »

Stu I put a debug line and this was the result:

Code: [Select]
2008-12-09 18:17:31: ClientTCPSocket.cpp(803): Nuevo mensaje de 'forget_the_nick «AngelMule 1.0»' (IP:XXX.XXX.XXX.XXX)
2008-12-09 18:17:32: 2008-12-09 18:17:32:  Invalid Tray Window 0x0000000000000000

Sorry for the spanish.

It stands for: ClientTCPSocket.cpp(803): New message from... And the next line is my own debug, forget the shown address as I used de %p in CFormat (RTMF  ;D I know).

The code is (amuleDlg.cpp CamuleDlg::ShowTransferRate):
Code: [Select]
if (m_wndTaskbarNotifier) {
   if (thePrefs::UseTrayIcon()) {
// set trayicon-icon
       ···
   } else {
        //LOG invalid state
   }
}

Does this help?

Just another one (I hope next one will show the 0x1xxxx..x address :)):

Code: [Select]
2008-12-11 00:48:20: ClientTCPSocket.cpp(803): Nuevo mensaje de 'forget_the_nick «AngelMule 1.0»' (IP:xxx.xxx.xxx.xxx)
2008-12-11 00:48:24: amuleDlg.cpp(846): Invalid Tray Window
2008-12-11 00:48:29: amuleDlg.cpp(846): Invalid Tray Window
2008-12-11 00:48:34: amuleDlg.cpp(846): Invalid Tray Window
« Last Edit: December 11, 2008, 01:39:42 AM by wires »
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: another crash
« Reply #20 on: December 11, 2008, 09:56:48 PM »

That's interesting - but I'm afraid I can't see a connection between the message handling and the tray icon.  ???
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon

raveboy

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
Re: another crash
« Reply #21 on: December 11, 2008, 10:31:17 PM »

Hi There,

I have now done the following. Turn on full debugging messages, so I can see if a chat window opens here. Updated wxWidgets from 2.8.8 (shipped with Ubuntu) to 2.8.9. I run on a 64Bit (2.6.24-22-generic #1 SMP Mon Nov 24 19:35:06 UTC 2008 x86_64 GNU/Linux) AthlonXP, with two cores. So simultaniously thread handling is possible. In comparison: I was not able to reproduce this bug, when running on a single core machine. For me it looks like some thread sorting problem. I also did a tcpdump, so I have the whole IP traffic recorded. From my perspective, I never saw a chat window that caused a crashing. So, befor I post the back trace, I also needed to apply the Forma.cpp patch, as it would elsewise not compile on 64Bit machine. The tray icon is not enabled, as I run aMule in a Xvnc environment.

So, if there is anybody out there that can instruct me, I'm willing to do the debug process. I'm also reachable by Jabba, MSN, ICQ/AIM and Yahoo. So this could shorten the debug process.

Code: [Select]
--- aMule-SVN-r9246/src/libs/common/Format.cpp  2008-12-10 17:00:06.365202902 +0100
+++ aMule-SVN/src/libs/common/Format.cpp        2008-12-10 13:59:50.101202000 +0100
@@ -429,9 +429,11 @@
                // - Linux:   leading zeros missing
                // -> format it as hex
                if (sizeof (void *) == 8) { // 64 bit
-                       SetCurrentField(wxString::Format(wxT("0x%016x"), (uint64) value));
+               //      SetCurrentField(wxString::Format(wxT("0x%016x"), (uint64) value));
+                       SetCurrentField(wxString::Format(wxT("0x%016x"), (uintptr_t) value));
                } else { // 32 bit
-                       SetCurrentField(wxString::Format(wxT("0x%08x"), (uint32) value));
+               //      SetCurrentField(wxString::Format(wxT("0x%08x"), (uint32) value));
+                       SetCurrentField(wxString::Format(wxT("0x%08x"), (uintptr_t) value));
                }
        }

So the logfile looks like this:
Code: [Select]
2008-12-11 18:14:16: ClientTCPSocket.cpp(2001): Remote Client Protocol: Packet with protocol c5, opcode 40, size 10855 received from 202.95.87.226
2008-12-11 18:14:16: ClientTCPSocket.cpp(1399): Remote Client Protocol: Remote Client: OP_COMPRESSEDPART from 202.95.87.226
2008-12-11 18:14:16: DownloadClient.cpp(809): Local Client Protocol: Local Client: OP_REQUESTPARTS to 202.95.87.226
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x00000000075f67c0 kbps 10,1 kbpsCur 11,7 dt 0,901 rcv 10793
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x000000001ab2ede0 kbps 5,3 kbpsCur 2,6 dt 4,102 rcv 10831
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x000000000bc602d0 kbps 4,1 kbpsCur 3,3 dt 3,203 rcv 10813
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x0000000015205d00 kbps 8,0 kbpsCur 8,2 dt 1,296 rcv 10837
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x00000000097c0530 kbps 19,6 kbpsCur 21,0 dt 0,502 rcv 10812
2008-12-11 18:14:16: ClientTCPSocket.cpp(2001): Remote Client Protocol: Packet with protocol c5, opcode 40, size 10693 received from 123.108.221.67
2008-12-11 18:14:16: ClientTCPSocket.cpp(1399): Remote Client Protocol: Remote Client: OP_COMPRESSEDPART from 123.108.221.67
2008-12-11 18:14:16: ClientTCPSocket.cpp(2001): Remote Client Protocol: Packet with protocol c5, opcode 40, size 10832 received from 77.20.131.38
2008-12-11 18:14:16: ClientTCPSocket.cpp(1399): Remote Client Protocol: Remote Client: OP_COMPRESSEDPART from 77.20.131.38
2008-12-11 18:14:16: ClientTCPSocket.cpp(2001): Remote Client Protocol: Packet with protocol e3, opcode 46, size 10264 received from 123.111.41.149
2008-12-11 18:14:16: ClientTCPSocket.cpp(706): Remote Client Protocol: Remote Client: OP_SENDINGPART from 123.111.41.149
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x00000000090b6aa0 kbps 11,6 kbpsCur 25,9 dt 0,403 rcv 10669
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x0000000012930100 kbps 16,4 kbpsCur 16,6 dt 0,604 rcv 10240
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x0000000007c2c410 kbps 16,3 kbpsCur 17,5 dt 0,604 rcv 10808
2008-12-11 18:14:16: ClientTCPSocket.cpp(2001): Remote Client Protocol: Packet with protocol c5, opcode 40, size 10819 received from 220.134.235.208
2008-12-11 18:14:16: ClientTCPSocket.cpp(1399): Remote Client Protocol: Remote Client: OP_COMPRESSEDPART from 220.134.235.208
2008-12-11 18:14:16: ClientTCPSocket.cpp(2001): Remote Client Protocol: Packet with protocol c5, opcode 40, size 10609 received from 202.132.169.199
2008-12-11 18:14:16: ClientTCPSocket.cpp(1399): Remote Client Protocol: Remote Client: OP_COMPRESSEDPART from 202.132.169.199
2008-12-11 18:14:16: ClientTCPSocket.cpp(2001): Remote Client Protocol: Packet with protocol c5, opcode 40, size 10862 received from 219.37.60.11
2008-12-11 18:14:16: ClientTCPSocket.cpp(1399): Remote Client Protocol: Remote Client: OP_COMPRESSEDPART from 219.37.60.11
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x0000000007bcc5f0 kbps 8,4 kbpsCur 9,6 dt 1,100 rcv 10838
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x000000000792cbc0 kbps 4,6 kbpsCur 6,6 dt 1,595 rcv 10795
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x00000000081940e0 kbps 7,0 kbpsCur 6,9 dt 1,495 rcv 10585
2008-12-11 18:14:16: ClientTCPSocket.cpp(2001): Remote Client Protocol: Packet with protocol c5, opcode 40, size 10838 received from 93.1.83.80
2008-12-11 18:14:16: ClientTCPSocket.cpp(1399): Remote Client Protocol: Remote Client: OP_COMPRESSEDPART from 93.1.83.80
2008-12-11 18:14:16: ClientTCPSocket.cpp(2001): Remote Client Protocol: Packet with protocol e3, opcode 46, size 10264 received from 88.254.49.172
2008-12-11 18:14:16: ClientTCPSocket.cpp(706): Remote Client Protocol: Remote Client: OP_SENDINGPART from 88.254.49.172
2008-12-11 18:14:16: ClientTCPSocket.cpp(179): ED2k Client: Accepted connection from 62.42.139.104
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x000000000cd06ce0 kbps 23,7 kbpsCur 20,1 dt 0,498 rcv 10240
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x000000001a1b92e0 kbps 6,3 kbpsCur 6,6 dt 1,593 rcv 10814
2008-12-11 18:14:16: ClientTCPSocket.cpp(2001): Remote Client Protocol: Packet with protocol c5, opcode 40, size 10832 received from 77.20.131.38
2008-12-11 18:14:16: ClientTCPSocket.cpp(1399): Remote Client Protocol: Remote Client: OP_COMPRESSEDPART from 77.20.131.38
2008-12-11 18:14:16: DownloadClient.cpp(1190): Local Client Protocol: CalculateKBpsDown 0x0000000007c2c410 kbps 16,9 kbpsCur 35,5 dt 0,297 rcv 10808
2008-12-11 18:14:16: BaseClient.cpp(1324): ED2k Client: --- Disconnected client "Client [CHN][VeryCD]喜欢就干他 auf IP:Port 123.7.6.38:7119 benutzt eMule v0.48a - VeryCD 080313 VeryCD 080313"; Reason was Timeout
2008-12-11 18:14:16: BaseClient.cpp(1324): ED2k Client: --- Disconnected client "Client http://emule-project.net auf IP:Port 91.132.253.204:36464 benutzt eMule v0.49b "; Reason was Timeout
2008-12-11 18:14:16: BaseClient.cpp(1324): ED2k Client: --- Disconnected client "Client http://emule-project.net auf IP:Port 200.203.26.245:52237 benutzt eMule v0.49b "; Reason was Timeout
2008-12-11 18:14:16: ClientTCPSocket.cpp(2001): Remote Client Protocol: Packet with protocol c5, opcode 40, size 10877 received from 84.180.207.231
2008-12-11 18:14:16: ClientTCPSocket.cpp(1399): Remote Client Protocol: Remote Client: OP_COMPRESSEDPART from 84.180.207.231
2008-12-11 18:14:16: DownloadClient.cpp(809): Local Client Protocol: Local Client: OP_REQUESTPARTS to 84.180.207.231

Backtrace looks like this:
Code: [Select]
[New Thread 0x41657950 (LWP 10552)]
[Thread 0x41657950 (LWP 10552) exited]
[New Thread 0x41657950 (LWP 23441)]
[Thread 0x41657950 (LWP 23441) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fb30652e6f0 (LWP 31335)]
0x0000000000692644 in CMuleTrayIcon::SetTrayIcon (this=0x10000000000, Icon=2, percent=76)
    at MuleTrayIcon.cpp:211
211                             Bar_ySize = HighId_Icon_size;
(gdb) bt
#0  0x0000000000692644 in CMuleTrayIcon::SetTrayIcon (this=0x10000000000, Icon=2, percent=76)
    at MuleTrayIcon.cpp:211
#1  0x00000000006274f7 in CamuleDlg::UpdateTrayIcon (this=0x11ebf40, percent=76)
    at amuleDlg.cpp:365
#2  0x0000000000627938 in CamuleDlg::ShowTransferRate (this=0x11ebf40) at amuleDlg.cpp:832
#3  0x0000000000627e0f in CamuleDlg::OnGUITimer (this=0x11ebf40) at amuleDlg.cpp:1069
#4  0x00007fb30478885d in wxEvtHandler::ProcessEventIfMatches ()
   from /usr/lib/libwx_baseu-2.8.so.0
#5  0x00007fb304788a1c in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
#6  0x00007fb304788b5d in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.8.so.0
#7  0x00007fb304f11bc6 in wxTimerBase::Notify () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#8  0x00007fb304e1def4 in timeout_callback () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#9  0x00007fb301d98abb in ?? () from /usr/lib/libglib-2.0.so.0
#10 0x00007fb301d98364 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#11 0x00007fb301d9b675 in ?? () from /usr/lib/libglib-2.0.so.0
#12 0x00007fb301d9b995 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#13 0x00007fb3032d3f03 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x00007fb304e151cd in wxEventLoop::Run () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#15 0x00007fb304e989bb in wxAppBase::MainLoop () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#16 0x00007fb3047253ec in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0
#17 0x000000000061e7ea in main (argc=1, argv=0x7fff0e55bb58) at amule-gui.cpp:95
(gdb) bt full
#0  0x0000000000692644 in CMuleTrayIcon::SetTrayIcon (this=0x10000000000, Icon=2, percent=76)
    at MuleTrayIcon.cpp:211
        Bar_ySize = 0
        NewSize = 4580189
#1  0x00000000006274f7 in CamuleDlg::UpdateTrayIcon (this=0x11ebf40, percent=76)
    at amuleDlg.cpp:365
No locals.
#2  0x0000000000627938 in CamuleDlg::ShowTransferRate (this=0x11ebf40) at amuleDlg.cpp:832
        percentDown = 76
        buffer2 = {<wxStringBase> = {static npos = 18446744073709551615,
    m_pchData = 0xf40000}, <No data fields>}
        kBpsUp = 24.9819584
        kBpsDown = 300.278931
        buffer = {<wxStringBase> = {static npos = 18446744073709551615,
    m_pchData = 0x7d91698}, <No data fields>}
        label = (struct wxStaticText *) 0x402c240
        bmp = (struct wxStaticBitmap *) 0x7fff0e55b590
#3  0x0000000000627e0f in CamuleDlg::OnGUITimer (this=0x11ebf40) at amuleDlg.cpp:1069
        msCur = 14580548
        msGraphUpdate = 3000
        sStatsUpdate = 30
        msPrev1 = 14579444
        msPrev5 = 14580548
        msPrevStats = 14579646
        msPrevGraph = 14580043
#4  0x00007fb30478885d in wxEvtHandler::ProcessEventIfMatches ()
   from /usr/lib/libwx_baseu-2.8.so.0
No locals.
#5  0x00007fb304788a1c in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
No locals.
#6  0x00007fb304788b5d in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.8.so.0
No locals.
#7  0x00007fb304f11bc6 in wxTimerBase::Notify () from /usr/lib/libwx_gtk2u_core-2.8.so.0
---Type <return> to continue, or q <return> to quit---
No locals.
#8  0x00007fb304e1def4 in timeout_callback () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No locals.
#9  0x00007fb301d98abb in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#10 0x00007fb301d98364 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#11 0x00007fb301d9b675 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#12 0x00007fb301d9b995 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#13 0x00007fb3032d3f03 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#14 0x00007fb304e151cd in wxEventLoop::Run () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No locals.
#15 0x00007fb304e989bb in wxAppBase::MainLoop () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No locals.
#16 0x00007fb3047253ec in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0
No locals.
#17 0x000000000061e7ea in main (argc=1, argv=0x7fff0e55bb58) at amule-gui.cpp:95
No locals.
(gdb) thread apply all bt
Thread 4 (Thread 0x41e58950 (LWP 31350)):
#0  0x00007fb30612ee1d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fb304786279 in wxConditionInternal::WaitTimeout () from /usr/lib/libwx_baseu-2.8.so.0
#2  0x00007fb304786b4e in wxSemaphoreInternal::WaitTimeout () from /usr/lib/libwx_baseu-2.8.so.0
#3  0x000000000073e23e in CTimerThread::Entry (this=0xf5ac40) at Timer.cpp:64
#4  0x00007fb3047873da in wxThreadInternal::PthreadStart () from /usr/lib/libwx_baseu-2.8.so.0
#5  0x00007fb30612a3f7 in start_thread () from /lib/libpthread.so.0
#6  0x00007fb303a38b3d in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x40e56950 (LWP 31344)):
#0  0x00007fb306131e81 in nanosleep () from /lib/libpthread.so.0
#1  0x00007fb30478cafc in wxMicroSleep () from /usr/lib/libwx_baseu-2.8.so.0
#2  0x00000000005a38e8 in UploadBandwidthThrottler::Entry (this=0x2b43500)
    at UploadBandwidthThrottler.cpp:324
#3  0x00007fb3047873da in wxThreadInternal::PthreadStart () from /usr/lib/libwx_baseu-2.8.so.0
#4  0x00007fb30612a3f7 in start_thread () from /lib/libpthread.so.0
#5  0x00007fb303a38b3d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fb30652e6f0 (LWP 31335)):
#0  0x0000000000692644 in CMuleTrayIcon::SetTrayIcon (this=0x10000000000, Icon=2, percent=76)
    at MuleTrayIcon.cpp:211
#1  0x00000000006274f7 in CamuleDlg::UpdateTrayIcon (this=0x11ebf40, percent=76)
    at amuleDlg.cpp:365
#2  0x0000000000627938 in CamuleDlg::ShowTransferRate (this=0x11ebf40) at amuleDlg.cpp:832
#3  0x0000000000627e0f in CamuleDlg::OnGUITimer (this=0x11ebf40) at amuleDlg.cpp:1069
#4  0x00007fb30478885d in wxEvtHandler::ProcessEventIfMatches ()
   from /usr/lib/libwx_baseu-2.8.so.0
#5  0x00007fb304788a1c in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
#6  0x00007fb304788b5d in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.8.so.0
#7  0x00007fb304f11bc6 in wxTimerBase::Notify () from /usr/lib/libwx_gtk2u_core-2.8.so.0
---Type <return> to continue, or q <return> to quit---
#8  0x00007fb304e1def4 in timeout_callback () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#9  0x00007fb301d98abb in ?? () from /usr/lib/libglib-2.0.so.0
#10 0x00007fb301d98364 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#11 0x00007fb301d9b675 in ?? () from /usr/lib/libglib-2.0.so.0
#12 0x00007fb301d9b995 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#13 0x00007fb3032d3f03 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x00007fb304e151cd in wxEventLoop::Run () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#15 0x00007fb304e989bb in wxAppBase::MainLoop () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#16 0x00007fb3047253ec in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0
#17 0x000000000061e7ea in main (argc=1, argv=0x7fff0e55bb58) at amule-gui.cpp:95
(gdb)

Thanks,
Martin
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: another crash
« Reply #22 on: December 14, 2008, 06:13:16 PM »

So we have a certain this-pointer getting corrupted in always the same way, with bit 40 being set (no matter if it's valid or zero before). And it happens only on 64 bit builds (obviously), and only on multi-core. Um - what machine was it you couldn't reproduce it on ? 32 or 64 bit ?

There is no threaded write access to the pointer, so I have no idea how threading could do it. What do you mean by "thread sorting problem" ?
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon

wires

  • Jr. Member
  • **
  • Karma: 6
  • Offline Offline
  • Posts: 83
Re: another crash
« Reply #23 on: December 15, 2008, 12:27:45 AM »

Another crash. This time running aMule SVN using wxGTK2 v2.8.9 (Debugging) (Snapshot: rev. 9252). After 1d19h without problems I've got this assert. I compiled wxGTK with debug to get __WXDEBUG__ in use.

Code: [Select]
ASSERT INFO:
amuleDlg.cpp(828): assert "(m_wndTaskbarNotifier != __null) == thePrefs::UseTrayIcon()" failed in ShowTransferRate().

BACKTRACE:
[1] wxOnAssert(wchar_t const*, int, char const*, wchar_t const*, wchar_t const*)
[2] CamuleDlg::ShowTransferRate() /home/oscar/devel/aMule-SVN-r9252-RELEASE-2_2_X/src/amuleDlg.cpp:829
[3] CamuleDlg::OnGUITimer(wxTimerEvent&) /home/oscar/devel/aMule-SVN-r9252-RELEASE-2_2_X/src/amuleDlg.cpp:1070
[4] wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) cons)
[5] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[6] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[7] wxEvtHandler::ProcessEvent(wxEvent&)
[8] wxTimerBase::Notify()
[9] g_main_context_dispatch()
[10] g_main_loop_run()
[11] gtk_main()
[12] wxEventLoop::Run()
[13] wxAppBase::MainLoop()

And again the last log was about an incoming message:
Code: [Select]
2008-12-14 16:01:33: ClientTCPSocket.cpp(803): Nuevo mensaje de 'xxxxxx' (IP:xxx.xxx.xxx.xxx)
2008-12-14 16:01:38: Logger.cpp(275): Debug: amuleDlg.cpp(828): assert "(m_wndTaskbarNotifier != __null) == thePrefs::UseTrayIcon()" failed in ShowTransferRate().

Backtraces in attachments.

My system is single core AMD64.

Thanks!
Logged

luquino

  • Full Member
  • ***
  • Karma: 2
  • Offline Offline
  • Posts: 124
Re: another crash
« Reply #24 on: December 15, 2008, 04:35:27 AM »

Hi Stu!
Sorry for delay but I advised it... ok listen. Saturday I tested amule Svn revision 9237 that is the latest that I can compile  on my system. The newest versions give me this error

Code: [Select]
if g++ -DHAVE_CONFIG_H -I. -I. -I../../..  -D__DEBUG__ -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC -DUSE_WX_EXTENSIONS  -I/usr/local/lib/wx/include/gtk2-unicode-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__  -g -W -Wall -Wshadow -Wundef -ggdb -fno-inline -fmessage-length=0 -pthread   -MT Format.o -MD -MP -MF ".deps/Format.Tpo" -c -o Format.o Format.cpp; \
then mv -f ".deps/Format.Tpo" ".deps/Format.Po"; else rm -f ".deps/Format.Tpo"; exit 1; fi
Format.cpp: In member function ‘CFormat& CFormat::operator%(void*)’:
Format.cpp:434: error: converting from ‘void*’ to ‘uint32_t’ loose precision

anyway, I compiled the svn version using your patch, debug mode.
Amule has worked about all saturday without crashes, but in 3 occasions (when I was throttling the UL/DL speed) amule simply stopped and in gdb I found:

Code: [Select]
Program terminated with signal SIGKILL, Killed.
The program no longer exists.

no stack at all, so no error to report.
The same I received when I recompiled without debug, obviously I was not in gdb in this case.
Amule was running without Tray Icon, as soon as possible I will try with the Tray Icon and will post the result.

I think that you got an efficient workaround.
Let me know if I can do something more.
Logged

luquino

  • Full Member
  • ***
  • Karma: 2
  • Offline Offline
  • Posts: 124
Re: another crash
« Reply #25 on: December 15, 2008, 10:03:03 PM »

ok, today I could test aMule with Tray Icon enabled.
Nothing to report apart from the usual SIGKILL setting the UL/DL speed. Amule has worked about all day long.
Probably you have found the right solution even if is not the better one.
Thanks a lot Stu and if you have some ideas about the SIGKILL problem I will appreciate a lot.

« Last Edit: December 15, 2008, 10:04:46 PM by luquino »
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: another crash
« Reply #26 on: December 18, 2008, 12:53:03 AM »

Svn revision 9237 that is the latest that I can compile  on my system.
Fixed since 9254.

Nothing to report apart from the usual SIGKILL setting the UL/DL speed.
What exactly are you doing ? Does it terminate on any rate change, or only on specific ones ?

Probably you have found the right solution even if is not the better one.
It's just a workaround. The real problem remains in the dark.  :(
Commited in 9268.
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon

luquino

  • Full Member
  • ***
  • Karma: 2
  • Offline Offline
  • Posts: 124
Re: another crash
« Reply #27 on: December 18, 2008, 02:09:17 AM »

Nothing to report apart from the usual SIGKILL setting the UL/DL speed.
What exactly are you doing ? Does it terminate on any rate change, or only on specific ones ?

Yes, what happens is that every time I try to change the rate (UL or DL) amule looks like to accept the changes, but in a short while the cpu jump to 100 %, and the lan stucks, firefox can' t retrive any site and after a while amule stops with sigkill.
But, I forgot a detail, in these days my pc is working without swap because my HDD had a problem and the seller took 7 days to decide to give me a new one. Tomorrow I will install the new one. My system has 1 GB of ram amd when amule is running is used up to 85 %, maybe when I change the rate the system should need the swap ....
Logged

wires

  • Jr. Member
  • **
  • Karma: 6
  • Offline Offline
  • Posts: 83
Re: another crash
« Reply #28 on: December 18, 2008, 09:30:00 AM »

Hi, this may help you to detect the cause: I'm able to crash amule just starting a new client (running with another user), adding first amule as a friend and sending a message from the second one. Amule crashes inmediately (2_2_X rev 9262 no patch).

Code: [Select]
2008-12-18 08:59:33: New message from 'http://www.aMule.org' (IP:XXXXXXXXXXXX)
2008-12-18 08:59:35: Invalid tray pointer 10000000000

If it is not related to message handling should it be to GUI update?

Regards!
Logged

luquino

  • Full Member
  • ***
  • Karma: 2
  • Offline Offline
  • Posts: 124
Re: another crash
« Reply #29 on: December 19, 2008, 10:31:10 PM »

Ok Stu, about the SIGKILL I think that swap area was implicated for sure, because now I restore my swap and I'm able to change the UL/DL speed both from the option window and from the tray icon. But I receive a SIGKILL today after almost 20 hours of continuous work and many speed changhes, the SIGKILL arrived  more or less 10 minutes after a speed change. :(
I will not speak any more about this problem in this thread  because his object is different.
I will make some more tries and if I found something enough to open a thread I will do.
Just one more question:
Your workaround for the tray icon pointer will be inserted in SVN version? If  yes, when?
Thank you so much for your help.
Logged
Pages: 1 [2] 3