aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: crash revision 10463  (Read 4039 times)

Dominique

  • Approved Newbie
  • *
  • Karma: 4
  • Offline Offline
  • Posts: 23
  • Ask me!
crash revision 10463
« on: March 06, 2011, 02:13:15 AM »

I get the following :

(amule:27475): GLib-CRITICAL **: g_source_add_poll: assertion `!SOURCE_DESTROYED (source)' failed

--------------------------------------------------------------------------------
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 (Snapshot: rev. 10463)
Running on: Linux 2.6.37-gentoo-3Dnew x86_64

Erreur de segmentation (core dumped)

Code: [Select]
(gdb) bt
#0  0x00007f0a823302ed in ?? () from /lib/libc.so.6
#1  0x00007f0a82332004 in ?? () from /lib/libc.so.6
#2  0x00007f0a82334950 in malloc () from /lib/libc.so.6
#3  0x00007f0a823a6bd8 in backtrace_symbols () from /lib/libc.so.6
#4  0x00000000006c9c44 in get_backtrace (n=1) at MuleDebug.cpp:323
#5  0x00000000006ca8da in print_backtrace (n=<value optimized out>) at MuleDebug.cpp:476
#6  0x00000000004552bf in CamuleApp::OnFatalException (this=0x24e5690) at amule.cpp:1018
#7  0x00007f0a831199bc in wxFatalSignalHandler () from /usr/lib/libwx_baseu-2.8.so.0
#8  <signal handler called>
#9  0x00007f0a80eb3e29 in g_source_set_callback_indirect () from /usr/lib/libglib-2.0.so.0
#10 0x00007f0a80ea897b in g_io_add_watch_full () from /usr/lib/libglib-2.0.so.0
#11 0x00007f0a816181c2 in gdk_input_add_full () from /usr/lib/libgdk-x11-2.0.so.0
#12 0x00007f0a837aa72e in GSocketGUIFunctionsTableConcrete::Install_Callback(GSocket*, GSocketEvent) () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#13 0x00007f0a833ae96e in GSocket::Write(char const*, int) ()
   from /usr/lib/libwx_baseu_net-2.8.so.0
#14 0x00007f0a833aa828 in wxSocketBase::_Write(void const*, unsigned int) ()
   from /usr/lib/libwx_baseu_net-2.8.so.0
#15 0x00007f0a833aa954 in wxSocketBase::Write(void const*, unsigned int) ()
   from /usr/lib/libwx_baseu_net-2.8.so.0
#16 0x0000000000690795 in CSocketClientProxy::Write (this=0x7f0a719aa800,
    buffer=0x7f0a603af250, nbytes=<value optimized out>) at Proxy.cpp:1309
#17 0x00000000004ef0d5 in CEncryptedStreamSocket::Write (this=0x7f0a719aa800,
    lpBuf=0x7f0a603af250, nBufLen=6) at EncryptedStreamSocket.cpp:210
#18 0x00000000004ed30d in CEMSocket::Send (this=0x7f0a719aa800, maxNumberOfBytesToSend=536,
    minFragSize=536, onlyAllowedToSendControlPacket=true) at EMSocket.cpp:572
#19 0x00000000004a7252 in CEMSocket::SendControlData (this=<value optimized out>,
    maxNumberOfBytesToSend=<value optimized out>, minFragSize=<value optimized out>)
    at EMSocket.h:69
#20 0x000000000049bb10 in CClientTCPSocket::SendControlData (this=0x7f0a719aa800,
    maxNumberOfBytesToSend=<value optimized out>,
    overchargeMaxBytesToSend=<value optimized out>) at ClientTCPSocket.cpp:2124
#21 0x000000000057eac7 in UploadBandwidthThrottler::Entry (this=0x6af3610)
    at UploadBandwidthThrottler.cpp:381
#22 0x00007f0a83114601 in wxThreadInternal::PthreadStart(wxThread*) ()
   from /usr/lib/libwx_baseu-2.8.so.0
#23 0x00007f0a7c9d6ae3 in ?? () from //usr/lib64/opengl/nvidia/lib/libGL.so.1
#24 0x00007f0a84f28d6c in start_thread () from /lib/libpthread.so.0
#25 0x00007f0a8239440d in clone () from /lib/libc.so.6

Code: [Select]
(gdb) bt full
#0  0x00007f0a823302ed in ?? () from /lib/libc.so.6
No symbol table info available.
#1  0x00007f0a82332004 in ?? () from /lib/libc.so.6
No symbol table info available.
#2  0x00007f0a82334950 in malloc () from /lib/libc.so.6
No symbol table info available.
#3  0x00007f0a823a6bd8 in backtrace_symbols () from /lib/libc.so.6
No symbol table info available.
#4  0x00000000006c9c44 in get_backtrace (n=1) at MuleDebug.cpp:323
        libname = {<std::__norm::vector<wxString, std::allocator<wxString> >> = {<std::__norm::_Vector_base<wxString, std::allocator<wxString> >> = {
              _M_impl = {<std::allocator<wxString>> = {<__gnu_cxx::new_allocator<wxString>> = {<No data fields>}, <No data fields>}, _M_start = 0x7f0a822c67d8, _M_finish = 0x7f0a7c9d4847,
                _M_end_of_storage = 0x20}}, <No data fields>}, <__gnu_debug::_Safe_sequence<std::__debug::vector<wxString, std::allocator<wxString> > >> = {<__gnu_debug::_Safe_sequence_base> = {_M_iterators = 0x40, _M_const_iterators = 0x7f0a853601a8, _M_version = 0}, <No data fields>},
          _M_guaranteed_capacity = 139683160890368}
        funcname = {<std::__norm::vector<wxString, std::allocator<wxString> >> = {<std::__norm::_Vector_base<wxString, std::allocator<wxString> >> = {
              _M_impl = {<std::allocator<wxString>> = {<__gnu_cxx::new_allocator<wxString>> = {<No data fields>}, <No data fields>}, _M_start = 0xe311ee51, _M_finish = 0x7f0a85148261,
                _M_end_of_storage = 0x5a}}, <No data fields>}, <__gnu_debug::_Safe_sequence<std::__debug::vector<wxString, std::allocator<wxString> > >> = {<__gnu_debug::_Safe_sequence_base> = {_M_iterators = 0x7f0a00000011, _M_const_iterators = 0x38c47b9,
              _M_version = 2183920060}, <No data fields>},
          _M_guaranteed_capacity = 139682713272160}
        out = {m_nSize = 4433474, m_nCount = 139683110377488, m_pItems = 0x4083b8,
          m_autoSort = false}
        bt_array = {0x6c9c2c, 0x6ca8da, 0x4552bf, 0x7f0a831199bc, 0x7f0a822ef9b0,
          0x7f0a80eb3e29, 0x7f0a80ea897b, 0x7f0a816181c2, 0x7f0a837aa72e, 0x7f0a833ae96e,
          0x7f0a833aa828, 0x7f0a833aa954, 0x690795, 0x4ef0d5, 0x4ed30d, 0x4a7252, 0x49bb10,
          0x57eac7, 0x7f0a83114601, 0x7f0a7c9d6ae3, 0x7f0a6a817db0, 0x5845c7, 0x0, 0x0, 0x0,
          0x0, 0x6ce3f50, 0x6ce3ee0, 0x6ce40e0, 0x6ae7b88, 0x0, 0x7f0a00000000, 0x0, 0x0,
          0x6ce3f30, 0x6ce3ee0, 0x3537343732ce40e0, 0x6ae7b88, 0x7f0a7186ca20, 0x7f0a7186c920,
          0x7f0a7186cb20, 0x7ef6b48, 0x3000000010, 0x7f0a6a817ec0, 0x7f0a6a817e00,
          0x7f0a6a817bb0, 0x7f0a6a817db0, 0x57e0e7, 0x0, 0x7f0a00000000, 0x0, 0x0, 0x6ce3f50,
          0x6ce3ee0, 0x20, 0x7f0a70000078, 0x7f0a70000088, 0x7f0a85147b5a, 0x10,
          0x7f0a00000007, 0x90, 0x76a817c50, 0xf, 0xf, 0x7f0a70000020, 0x10, 0x7f0a43182b20,
          0x7f0a70000020, 0x7f0a6a817db8, 0x10, 0x7f0a43182b20, 0x7f0a6a817c60, 0x7f0a6a817de0,
          0x7f0a82334e5c, 0xf, 0x7f0a823aa26e, 0x7f0a853124e0, 0x7f0a80f204a0, 0x7f0afbad8000,
          0x7f0a43182b20, 0x7f0a43182b20, 0x7f0a43182b20, 0x7f0a43182b20, 0x7f0a43531310,
          0x7f0a70000418, 0x7f0a43531330, 0x7f0a70000020, 0x30, 0x3d0, 0x7f0a823337d1, 0x0,
          0x7f0a7c9d48a9, 0x7f0a43531320, 0x20, 0x7f0a43531310, 0x7f0a43531320, 0x7f0a6a819688,
          0x7f0a7c9d78b9, 0x90, 0x7f0a43531320}
        num_entries = 20
        hasLineNumberInfo = <value optimized out>
        trace = {<wxStringBase> = {static npos = 18446744073709551615,
            m_pchData = 0x7f0a00000001 <Address 0x7f0a00000001 out of bounds>}, <No data fields>}
        bt_strings = <value optimized out>
        address = {<std::__norm::vector<wxString, std::allocator<wxString> >> = {<std::__norm::_Vector_base<wxString, std::allocator<wxString> >> = {
              _M_impl = {<std::allocator<wxString>> = {<__gnu_cxx::new_allocator<wxString>> = {<No data fields>}, <No data fields>}, _M_start = 0x50, _M_finish = 0x7f0a85147b5a,
                _M_end_of_storage = 0x7f0a70000020}}, <No data fields>}, <__gnu_debug::_Safe_sequence<std::__debug::vector<wxString, std::allocator<wxString> > >> = {<__gnu_debug::_Safe_sequence_base> = {_M_iterators = 0x7f0a6a817df0, _M_const_iterators = 0x7f0a43531440,
              _M_version = 1786871280}, <No data fields>}, _M_guaranteed_capacity = 15}
        AllAddresses = {<wxStringBase> = {static npos = 18446744073709551615,
            m_pchData = 0xc26458 L"\x823a7e40缊\x83798440缊\x831165a0缊\x4470b6"}, <No data fields>}
#5  0x00000000006ca8da in print_backtrace (n=<value optimized out>) at MuleDebug.cpp:476
        trace = {<wxStringBase> = {static npos = 18446744073709551615,
            m_pchData = 0x7f0a82643880 L"\xfbad2887"}, <No data fields>}
#6  0x00000000004552bf in CamuleApp::OnFatalException (this=0x24e5690) at amule.cpp:1018
No locals.
#7  0x00007f0a831199bc in wxFatalSignalHandler () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#8  <signal handler called>
No symbol table info available.
#9  0x00007f0a80eb3e29 in g_source_set_callback_indirect () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#10 0x00007f0a80ea897b in g_io_add_watch_full () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#11 0x00007f0a816181c2 in gdk_input_add_full () from /usr/lib/libgdk-x11-2.0.so.0
No symbol table info available.
#12 0x00007f0a837aa72e in GSocketGUIFunctionsTableConcrete::Install_Callback(GSocket*, GSocketEvent) () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#13 0x00007f0a833ae96e in GSocket::Write(char const*, int) ()
   from /usr/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#14 0x00007f0a833aa828 in wxSocketBase::_Write(void const*, unsigned int) ()
   from /usr/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#15 0x00007f0a833aa954 in wxSocketBase::Write(void const*, unsigned int) ()
   from /usr/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#16 0x0000000000690795 in CSocketClientProxy::Write (this=0x7f0a719aa800,
    buffer=0x7f0a603af250, nbytes=<value optimized out>) at Proxy.cpp:1309
        lock = {m_isOk = true, m_mutex = @0x7f0a719aa948}
#17 0x00000000004ef0d5 in CEncryptedStreamSocket::Write (this=0x7f0a719aa800,
    lpBuf=0x7f0a603af250, nBufLen=6) at EncryptedStreamSocket.cpp:210
No locals.
#18 0x00000000004ed30d in CEMSocket::Send (this=0x7f0a719aa800, maxNumberOfBytesToSend=536,
    minFragSize=536, onlyAllowedToSendControlPacket=true) at EMSocket.cpp:572
        tosend = 6
        result = <value optimized out>
        bWasLongTimeSinceSend = false
        sentControlPacketBytesThisCall = 0
        returnVal = {success = false, sentBytesStandardPackets = 0, sentBytesControlPackets = 0}
        lock = {m_isOk = true, m_mutex = @0x7f0a719aacb8}
        anErrorHasOccured = false
        sentStandardPacketBytesThisCall = 0
#19 0x00000000004a7252 in CEMSocket::SendControlData (this=<value optimized out>,
    maxNumberOfBytesToSend=<value optimized out>, minFragSize=<value optimized out>)
    at EMSocket.h:69
No locals.
#20 0x000000000049bb10 in CClientTCPSocket::SendControlData (this=0x7f0a719aa800,
    maxNumberOfBytesToSend=<value optimized out>,
    overchargeMaxBytesToSend=<value optimized out>) at ClientTCPSocket.cpp:2124
        returnStatus = {success = 160, sentBytesStandardPackets = 32522,
          sentBytesControlPackets = 1908634568}
#21 0x000000000057eac7 in UploadBandwidthThrottler::Entry (this=0x6af3610)
    at UploadBandwidthThrottler.cpp:381
        socketSentBytes = {success = false, sentBytesStandardPackets = 0,
          sentBytesControlPackets = 0}
        socket = 0x7f0a719aac20
        slots = <value optimized out>
        spentBytes = <value optimized out>
        spentOverhead = <value optimized out>
        sendLock = {m_isOk = true, m_mutex = @0x6af3630}
        minBytesToSpend = <value optimized out>
        timeSinceLastLoop = <value optimized out>
        minFragSize = 536
        doubleSendSize = 536
        sleepTime = <value optimized out>
        thisLoopTick = 2292490747
        bytesToSpend = 6
        extraSleepTime = 1
        lastLoopTick = 2292490747
        allowedDataRate = <value optimized out>
        rememberedSlotCounter = 3
        sendLock = {m_isOk = false, m_mutex = @0x0}
#22 0x00007f0a83114601 in wxThreadInternal::PthreadStart(wxThread*) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#23 0x00007f0a7c9d6ae3 in ?? () from //usr/lib64/opengl/nvidia/lib/libGL.so.1
No symbol table info available.
#24 0x00007f0a84f28d6c in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#25 0x00007f0a8239440d in clone () from /lib/libc.so.6
No symbol table info available.
Logged

btkaos

  • Global Moderator
  • Sr. Member
  • *****
  • Karma: 110
  • Offline Offline
  • Posts: 486
  • Kaos is infinite!
Re: crash revision 10463
« Reply #1 on: March 06, 2011, 03:38:45 AM »

Umm, do you have some download limit enabled? Can you reproduce the crash reliably? Is your amule generating heavy network traffic?
Logged

Dominique

  • Approved Newbie
  • *
  • Karma: 4
  • Offline Offline
  • Posts: 23
  • Ask me!
Re: crash revision 10463
« Reply #2 on: March 06, 2011, 12:49:27 PM »

When the download and upload limits are set to 0, amule is very stable, but the other internet programs are becoming very slow, so slow than they are almost or completely unusable.

It was both a download and upload limit when I get this crash. In fact, amule crash very often when I set such limits, but I am not sure at that time if it is always the same crash.

In fact, it look like I get 2 kind of crashes: simple crashes like this one, and other crashes where amule become unresponsive and begin to consume all the ram and to swap before to crash.
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3764
  • Engines screaming
Re: crash revision 10463
« Reply #3 on: March 06, 2011, 01:05:22 PM »

See http://forum.amule.org/index.php?topic=18543.0 for a patch that fixes the 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

Dominique

  • Approved Newbie
  • *
  • Karma: 4
  • Offline Offline
  • Posts: 23
  • Ask me!
Re: crash revision 10463
« Reply #4 on: March 06, 2011, 02:53:07 PM »

Thanks, I will try it and report how it worked.

I am on gentoo. After patching wxGTK, do I need to recompile all the packages that depend on it ?
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3764
  • Engines screaming
Re: crash revision 10463
« Reply #5 on: March 06, 2011, 03:38:45 PM »

I suggest you compile wx as a static lib and don't install it at all. Then build aMule with it.
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

Dominique

  • Approved Newbie
  • *
  • Karma: 4
  • Offline Offline
  • Posts: 23
  • Ask me!
Re: crash revision 10463
« Reply #6 on: March 06, 2011, 09:16:14 PM »

I suggest you compile wx as a static lib and don't install it at all. Then build aMule with it.
It is too late because i already modified the ebuild that is used by portage to install wx.

And I reinstalled everything linked against wx. If I get bad issues with the other programs, I will reinstall wx and amule as you suggested.

The good news is that amule seam to work very well even with a fully loaded system (compiling hugin, the 4 cores at 100%).

Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3764
  • Engines screaming
Re: crash revision 10463
« Reply #7 on: March 07, 2011, 09:13:07 AM »

Good to hear!  :D
I don't think the patched wx could have any bad influence on the other apps, but you might have screwed up your system's packet managing in the process.
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

Dominique

  • Approved Newbie
  • *
  • Karma: 4
  • Offline Offline
  • Posts: 23
  • Ask me!
Re: crash revision 10463
« Reply #8 on: March 20, 2011, 10:31:46 AM »

Not in gentoo. I copied wxGTK ebuild into my personal overlay (overlays are gentoo equivalent of multiple repos) and modified it. That way, it is portage that patch wx and manage every thing.

In gentoo, the dependencies are not some prebuild package on some distant repository, but what has been compiled and installed in the box. You change a dependency like wx, and all that is required is to reinstall the packages that depend on it, they will be recompiled against the new version of wx.

It is why we don't have big version changes in gentoo but a continue evolution. As soon than the sources of a new version of a package is available on the internet, a new ebuild can be done and portage will manage the update process. The bug fixes process is the same.

I named the patch wxGTK-2.8.11-socket-mutex-fix.patch, I put it into the files directory of the ebuild and added a single line into the ebuild (src_prepare section, along with the other patches):
Code: [Select]
epatch "${FILESDIR}"/${PN}-2.8.11-socket-mutex-fix.patch
After reinstalling wxGTK,
Code: [Select]
ebuild wxGTK-2.8.11.0.ebuild digest
emerge wxGTK
a single command show me all the installed packages that depend on it:
Code: [Select]
equery d wxGTKand I can reinstall them with emerge.
Logged

Dominique

  • Approved Newbie
  • *
  • Karma: 4
  • Offline Offline
  • Posts: 23
  • Ask me!
Re: crash revision 10463
« Reply #9 on: March 20, 2011, 10:38:43 AM »

Instead of the equery command and manual emerge commands, I could have used revdep-rebuild. This is the normal gentoo way of checking reverse dependencies and reinstalling the package that depend on it.
Logged