aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: Curious backtrace  (Read 3828 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
Curious backtrace
« on: November 14, 2010, 12:06:05 PM »

I am a little lost on this one. wxBug? Is the event pointer sane? 0x7f09ac7b9d9c looks more like a code pointer.

Code: [Select]
--------------------------------------------------------------------------------
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/index.php?board=67.0
If possible, please try to generate a real backtrace of this crash:
    http://wiki.amule.org/index.php/Backtraces

----------------------------=| BACKTRACE FOLLOWS: |=----------------------------
Current version is: aMule SVN compiled with wxGTK2 v2.8.11 (Debugging) (Snapshot: rev. 10372)
Running on: Linux 2.6.27.54-0.1-default x86_64

[2] CamuleApp::OnFatalException() in amule.cpp:1017
[3] wxFatalSignalHandler in /home/amule/usr/wxWidgets/lib/libwx_baseud-2.8.so.0[0x7f09ba02ec6d]
[4] ?? in /lib64/libpthread.so.0 [0x7f09bb7e9a90]
[5] wxStringData::Unlock() in string.h:243
[6] wxStringBase::~wxStringBase() in string.h:397
[7] wxString::~wxString() in string.h:660
[8] wxString::Clear() in string.h:764
[9] CUpDownClient::ResetFileStatusInfo() in BaseClient.cpp:1989
[10] CDownloadQueue::RemoveSource(CUpDownClient*, bool, bool) in DownloadQueue.cpp:794
[11] CClientList::ProcessDeleteQueue() in ClientList.cpp:556
[12] CClientList::Process() in ClientList.cpp:567
[13] CamuleApp::OnCoreTimer(CTimerEvent&) in amule.cpp:1195
[14] wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const in /home/amule/usr/wxWidgets/lib/libwx_baseud-2.8.so.0[0x7f09b9f64bd3]
[15] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) in /home/amule/usr/wxWidgets/lib/libwx_baseud-2.8.so.0[0x7f09ba028cd0]
[16] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) in /home/amule/usr/wxWidgets/lib/libwx_baseud-2.8.so.0[0x7f09ba02abc2]
[17] wxEvtHandler::ProcessEvent(wxEvent&) in /home/amule/usr/wxWidgets/lib/libwx_baseud-2.8.so.0[0x7f09ba02acfd]
[18] wxEvtHandler::ProcessPendingEvents() in /home/amule/usr/wxWidgets/lib/libwx_baseud-2.8.so.0[0x7f09ba0295c8]
[19] wxAppConsole::ProcessPendingEvents() in /home/amule/usr/wxWidgets/lib/libwx_baseud-2.8.so.0[0x7f09b9f65e99]
[20] wxAppBase::ProcessIdle() in /home/amule/usr/wxWidgets/lib/libwx_gtk2ud_core-2.8.so.0[0x7f09ba7ffd46]
[21] ?? in /home/amule/usr/wxWidgets/lib/libwx_gtk2ud_core-2.8.so.0 [0x7f09ba740a00]
[22] g_main_context_dispatch in /usr/lib64/libglib-2.0.so.0[0x7f09b6e820fb]
[23] ?? in /usr/lib64/libglib-2.0.so.0 [0x7f09b6e858cd]
[24] g_main_loop_run in /usr/lib64/libglib-2.0.so.0[0x7f09b6e85dfd]
[25] gtk_main in /usr/lib64/libgtk-x11-2.0.so.0[0x7f09b8d11a17]
[26] wxEventLoop::Run() in /home/amule/usr/wxWidgets/lib/libwx_gtk2ud_core-2.8.so.0[0x7f09ba75fa49]
[27] wxAppBase::MainLoop() in /home/amule/usr/wxWidgets/lib/libwx_gtk2ud_core-2.8.so.0[0x7f09ba7ff7ea]
[28] wxAppBase::OnRun() in /home/amule/usr/wxWidgets/lib/libwx_gtk2ud_core-2.8.so.0[0x7f09ba7ff555]
[29] wxEntry(int&, wchar_t**) in /home/amule/usr/wxWidgets/lib/libwx_baseud-2.8.so.0[0x7f09b9fae2f4]
[30] wxEntry(int&, char**) in /home/amule/usr/wxWidgets/lib/libwx_baseud-2.8.so.0[0x7f09b9fae52a]
[31] main in amule-gui.cpp:94
[32] __libc_start_main in /lib64/libc.so.6[0x7f09b91e6586]
[33] _start in start.S:116


--------------------------------------------------------------------------------
Aborted (core dumped)

Code: [Select]
Core was generated by `amule'.
Program terminated with signal 6, Aborted.
#0  0x00007f09b91fa645 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00007f09b91fa645 in raise () from /lib64/libc.so.6
#1  0x00007f09b91fbc33 in abort () from /lib64/libc.so.6
#2  0x00007f09ba02ec72 in wxFatalSignalHandler () at ./src/unix/utilsunx.cpp:1112
#3  <signal handler called>
#4  0x00000000004445ca in wxStringData::Unlock (this=0x7f09ba06b1e8) at /home/amule/usr/wxWidgets-2.8.11/include/wx-2.8/wx/string.h:243
#5  0x0000000000444611 in ~wxStringBase (this=0x7fff0c9c7b00) at /home/amule/usr/wxWidgets-2.8.11/include/wx-2.8/wx/string.h:396
#6  0x0000000000444629 in ~wxString (this=0x7fff0c9c7b00) at /home/amule/usr/wxWidgets-2.8.11/include/wx-2.8/wx/string.h:660
#7  0x0000000000445649 in wxString::Clear (this=0x350f8f4) at /home/amule/usr/wxWidgets-2.8.11/include/wx-2.8/wx/string.h:763
#8  0x000000000045f1ce in CUpDownClient::ResetFileStatusInfo (this=0x350f6dc) at BaseClient.cpp:1987
#9  0x00000000004e5f8f in CDownloadQueue::RemoveSource (this=0x2ed779c, toremove=0x350f6dc, bDoStatsUpdate=true) at DownloadQueue.cpp:792
#10 0x00000000004800cd in CClientList::ProcessDeleteQueue (this=0x1326d6c) at ClientList.cpp:552
#11 0x0000000000480135 in CClientList::Process (this=0x1326d6c) at ClientList.cpp:565
#12 0x000000000044ddec in CamuleApp::OnCoreTimer (this=0x11ac54c) at amule.cpp:1192
#13 0x00007f09b9f64bd3 in wxAppConsole::HandleEvent (this=0x11ac54c, handler=0x11ac54c, func=0x44dc64 <CamuleApp::OnCoreTimer(CTimerEvent&)>,
    event=@0x7f09ac7b9d9c) at ./src/common/appbase.cpp:322
#14 0x00007f09ba028cd0 in wxEvtHandler::ProcessEventIfMatches (entry=@0x113f7c0, handler=0x11ac54c, event=@0x7f09ac7b9d9c)
    at ./src/common/event.cpp:1239
#15 0x00007f09ba02abc2 in wxEventHashTable::HandleEvent (this=0x113f6e0, event=@0x7f09ac7b9d9c, self=0x11ac54c) at ./src/common/event.cpp:906
#16 0x00007f09ba02acfd in wxEvtHandler::ProcessEvent (this=0x11ac54c, event=@0x7f09ac7b9d9c) at ./src/common/event.cpp:1301
#17 0x00007f09ba0295c8 in wxEvtHandler::ProcessPendingEvents (this=0x11ac54c) at ./src/common/event.cpp:1196
#18 0x00007f09b9f65e99 in wxAppConsole::ProcessPendingEvents (this=0x11ac54c) at ./src/common/appbase.cpp:294
#19 0x00007f09ba7ffd46 in wxAppBase::ProcessIdle (this=0x11ac54c) at ./src/common/appcmn.cpp:435
#20 0x00007f09ba740a00 in wxapp_idle_callback () at ./src/gtk/app.cpp:213
#21 0x00007f09b6e820fb in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#22 0x00007f09b6e858cd in ?? () from /usr/lib64/libglib-2.0.so.0
#23 0x00007f09b6e85dfd in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
#24 0x00007f09b8d11a17 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
#25 0x00007f09ba75fa49 in wxEventLoop::Run (this=0x7f09ae1cf08c) at ./src/gtk/evtloop.cpp:76
#26 0x00007f09ba7ff7ea in wxAppBase::MainLoop (this=0x11ac54c) at ./src/common/appcmn.cpp:312
#27 0x00007f09ba7ff555 in wxAppBase::OnRun (this=0x11ac54c) at ./src/common/appcmn.cpp:367
#28 0x00007f09b9fae2f4 in wxEntry (argc=@0x7f09ba2db6f0, argv=0x119b92c) at ./src/common/init.cpp:448
#29 0x00007f09b9fae52a in wxEntry (argc=@0x7fff0c9c86bc, argv=0x7fff0c9c8798) at ./src/common/init.cpp:460
#30 0x0000000000673d95 in main (argc=1, argv=0x7fff0c9c8798) at amule-gui.cpp:94
(gdb) f 8
#8  0x000000000045f1ce in CUpDownClient::ResetFileStatusInfo (this=0x350f6dc) at BaseClient.cpp:1987
1987            m_clientFilename.Clear();
(gdb) p m_clientFilename
$1 = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0x7f09ba06b2d8}, <No data fields>}
(gdb) p &m_clientFilename
$2 = (wxString *) 0x350f8f4
(gdb) p this
$3 = (CUpDownClient * const) 0x350f6dc
(gdb) pws m_clientFilename
$4 = 0
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Curious backtrace
« Reply #1 on: November 14, 2010, 09:55:18 PM »

Another case of trying to delete a client twice I should say.  :(

Hmm.
I suggest:
- CClientList::AddToDeleteQueue : always push to delete queue. But check first if it's already there!
- CClientList::ProcessDeleteQueue() : keep clients in queue for a minimum time (like 10 min). Only then delete them.

Anybody have a better idea?
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

GonoszTopi

  • The current man in charge of most things.
  • Administrator
  • Hero Member
  • *****
  • Karma: 169
  • Offline Offline
  • Posts: 2685
Re: Curious backtrace
« Reply #2 on: November 14, 2010, 11:38:56 PM »

Anybody have a better idea?
Finding out why doubly deleting a client?
Logged
concordia cum veritate

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Curious backtrace
« Reply #3 on: November 15, 2010, 11:19:18 PM »

Go ahead.
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

GonoszTopi

  • The current man in charge of most things.
  • Administrator
  • Hero Member
  • *****
  • Karma: 169
  • Offline Offline
  • Posts: 2685
Re: Curious backtrace
« Reply #4 on: November 16, 2010, 06:30:54 PM »

 :P
Logged
concordia cum veritate