aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: Amule hang  (Read 7699 times)

btkaos

  • Global Moderator
  • Sr. Member
  • *****
  • Karma: 110
  • Offline Offline
  • Posts: 486
  • Kaos is infinite!
Amule hang
« on: March 15, 2010, 08:16:46 PM »

It seems there's a race condition in current svn (10045)

Backtrace is attached, I couldn't have a deep look into it yet, I'll try later.

Code: [Select]
Program received signal SIGINT, Interrupt.
__lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
136 ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: No existe el fichero รณ directorio.
in ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
Idioma actual:  auto
The current source language is "auto; currently asm".
(gdb) bt
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1  0x00007ffff7bcc295 in _L_lock_949 () from /lib/libpthread.so.0
#2  0x00007ffff7bcc0b8 in __pthread_mutex_lock (mutex=0xe5e110) at pthread_mutex_lock.c:61
#3  0x00007ffff61f1936 in wxMutexInternal::Lock (this=0xe5e110) at ../src/unix/threadpsx.cpp:248
#4  0x0000000000456ac3 in wxMutexLocker (this=0x7fffffffdac0, mutex=...) at /usr/include/wx-2.8/wx/thread.h:176
#5  0x000000000051ab9c in CKnownFileList::FindKnownFileByID (this=0xe5e070, hash=...) at KnownFileList.cpp:235
#6  0x0000000000528bd9 in CSearchFile::SetDownloadStatus (this=0x153b2b0) at SearchFile.cpp:305
#7  0x000000000063ce29 in MuleNotify::Search_Update_Sources (result=0xe5e110) at GuiEvents.cpp:493
#8  0x000000000063d75b in MuleNotify::HandleNotification (ntf=...) at GuiEvents.cpp:45
#9  0x000000000052bc30 in MuleNotify::DoNotify<CSearchFile*, CSearchFile*> (func=<value optimized out>, arg1=<value optimized out>)
    at GuiEvents.h:385
#10 0x000000000052cf38 in CSearchList::UpdateSearchFileByHash (this=<value optimized out>, hash=...) at SearchList.cpp:1030
#11 0x000000000051ab24 in CKnownFileList::SafeAddKFile (this=<value optimized out>, toadd=0x12daf10) at KnownFileList.cpp:254
#12 0x00000000006444ac in CPartFile::CompleteFileEnded (this=0x12daf10, errorOccured=<value optimized out>,
    newname=<value optimized out>) at PartFile.cpp:2154
#13 0x000000000044fd62 in CamuleApp::OnFinishedCompletion (this=<value optimized out>, evt=...) at amule.cpp:1330
#14 0x00007ffff61f47b0 in wxEvtHandler::ProcessEventIfMatches (entry=<value optimized out>, handler=0x80, event=...)
    at ../src/common/event.cpp:1231
#15 0x00007ffff61f5ce7 in wxEventHashTable::HandleEvent (this=<value optimized out>, event=..., self=0xc42530)
    at ../src/common/event.cpp:906
#16 0x00007ffff61f5e28 in wxEvtHandler::ProcessEvent (this=0xc42530, event=...) at ../src/common/event.cpp:1293
#17 0x00007ffff61f5b65 in wxEvtHandler::ProcessPendingEvents (this=0xc42530) at ../src/common/event.cpp:1191
#18 0x00007ffff614cf59 in wxAppConsole::ProcessPendingEvents (this=<value optimized out>) at ../src/common/appbase.cpp:294
#19 0x00007ffff692a16b in wxAppBase::ProcessIdle (this=0xe5e110) at ../src/common/appcmn.cpp:435
#20 0x00007ffff6880599 in wxapp_idle_callback () at ../src/gtk/app.cpp:206
#21 0x00007ffff2df5bce in g_main_dispatch (context=0xc428c0) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:1960
#22 IA__g_main_context_dispatch (context=0xc428c0) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2513
#23 0x00007ffff2df9598 in g_main_context_iterate (context=0xc428c0, block=<value optimized out>, dispatch=<value optimized out>,
    self=<value optimized out>) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2591
#24 0x00007ffff2df99f5 in IA__g_main_loop_run (loop=0xcf1460) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2799
#25 0x00007ffff4ccf177 in IA__gtk_main () at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c:1218
#26 0x00007ffff6899b48 in wxEventLoop::Run (this=0x104b2b0) at ../src/gtk/evtloop.cpp:76
#27 0x00007ffff6929ec8 in wxAppBase::MainLoop (this=0xc42530) at ../src/common/appcmn.cpp:312
#28 0x00007ffff618c3bc in wxEntry (argc=<value optimized out>, argv=<value optimized out>) at ../src/common/init.cpp:460
#29 0x00000000005c9442 in main (argc=1, argv=0x80) at amule-gui.cpp:94
(gdb)
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1  0x00007ffff7bcc295 in _L_lock_949 () from /lib/libpthread.so.0
#2  0x00007ffff7bcc0b8 in __pthread_mutex_lock (mutex=0xe5e110) at pthread_mutex_lock.c:61
#3  0x00007ffff61f1936 in wxMutexInternal::Lock (this=0xe5e110) at ../src/unix/threadpsx.cpp:248
#4  0x0000000000456ac3 in wxMutexLocker (this=0x7fffffffdac0, mutex=...) at /usr/include/wx-2.8/wx/thread.h:176
#5  0x000000000051ab9c in CKnownFileList::FindKnownFileByID (this=0xe5e070, hash=...) at KnownFileList.cpp:235
#6  0x0000000000528bd9 in CSearchFile::SetDownloadStatus (this=0x153b2b0) at SearchFile.cpp:305
#7  0x000000000063ce29 in MuleNotify::Search_Update_Sources (result=0xe5e110) at GuiEvents.cpp:493
#8  0x000000000063d75b in MuleNotify::HandleNotification (ntf=...) at GuiEvents.cpp:45
#9  0x000000000052bc30 in MuleNotify::DoNotify<CSearchFile*, CSearchFile*> (func=<value optimized out>, arg1=<value optimized out>)
    at GuiEvents.h:385
#10 0x000000000052cf38 in CSearchList::UpdateSearchFileByHash (this=<value optimized out>, hash=...) at SearchList.cpp:1030
#11 0x000000000051ab24 in CKnownFileList::SafeAddKFile (this=<value optimized out>, toadd=0x12daf10) at KnownFileList.cpp:254
#12 0x00000000006444ac in CPartFile::CompleteFileEnded (this=0x12daf10, errorOccured=<value optimized out>,
    newname=<value optimized out>) at PartFile.cpp:2154
#13 0x000000000044fd62 in CamuleApp::OnFinishedCompletion (this=<value optimized out>, evt=...) at amule.cpp:1330
#14 0x00007ffff61f47b0 in wxEvtHandler::ProcessEventIfMatches (entry=<value optimized out>, handler=0x80, event=...)
    at ../src/common/event.cpp:1231
#15 0x00007ffff61f5ce7 in wxEventHashTable::HandleEvent (this=<value optimized out>, event=..., self=0xc42530)
    at ../src/common/event.cpp:906
#16 0x00007ffff61f5e28 in wxEvtHandler::ProcessEvent (this=0xc42530, event=...) at ../src/common/event.cpp:1293
#17 0x00007ffff61f5b65 in wxEvtHandler::ProcessPendingEvents (this=0xc42530) at ../src/common/event.cpp:1191
#18 0x00007ffff614cf59 in wxAppConsole::ProcessPendingEvents (this=<value optimized out>) at ../src/common/appbase.cpp:294
#19 0x00007ffff692a16b in wxAppBase::ProcessIdle (this=0xe5e110) at ../src/common/appcmn.cpp:435
#20 0x00007ffff6880599 in wxapp_idle_callback () at ../src/gtk/app.cpp:206
#21 0x00007ffff2df5bce in g_main_dispatch (context=0xc428c0) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:1960
#22 IA__g_main_context_dispatch (context=0xc428c0) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2513
#23 0x00007ffff2df9598 in g_main_context_iterate (context=0xc428c0, block=<value optimized out>, dispatch=<value optimized out>,
    self=<value optimized out>) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2591
#24 0x00007ffff2df99f5 in IA__g_main_loop_run (loop=0xcf1460) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2799
#25 0x00007ffff4ccf177 in IA__gtk_main () at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c:1218
#26 0x00007ffff6899b48 in wxEventLoop::Run (this=0x104b2b0) at ../src/gtk/evtloop.cpp:76
#27 0x00007ffff6929ec8 in wxAppBase::MainLoop (this=0xc42530) at ../src/common/appcmn.cpp:312
#28 0x00007ffff618c3bc in wxEntry (argc=<value optimized out>, argv=<value optimized out>) at ../src/common/init.cpp:460
#29 0x00000000005c9442 in main (argc=1, argv=0x80) at amule-gui.cpp:94
(gdb) bt full
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
No locales.
#1  0x00007ffff7bcc295 in _L_lock_949 () from /lib/libpthread.so.0
No symbol table info available.
#2  0x00007ffff7bcc0b8 in __pthread_mutex_lock (mutex=0xe5e110) at pthread_mutex_lock.c:61
        ignore1 = <value optimized out>
        ignore2 = 15065360
        ignore3 = -512
        __PRETTY_FUNCTION__ = "__pthread_mutex_lock"
        type = <value optimized out>
#3  0x00007ffff61f1936 in wxMutexInternal::Lock (this=0xe5e110) at ../src/unix/threadpsx.cpp:248
        err = <value optimized out>
        __FUNCTION__ = "Lock"
#4  0x0000000000456ac3 in wxMutexLocker (this=0x7fffffffdac0, mutex=...) at /usr/include/wx-2.8/wx/thread.h:176
No locales.
#5  0x000000000051ab9c in CKnownFileList::FindKnownFileByID (this=0xe5e070, hash=...) at KnownFileList.cpp:235
        sLock = {m_isOk = false, m_mutex = @0xe5e080}
#6  0x0000000000528bd9 in CSearchFile::SetDownloadStatus (this=0x153b2b0) at SearchFile.cpp:305
        isCanceled = <value optimized out>
#7  0x000000000063ce29 in MuleNotify::Search_Update_Sources (result=0xe5e110) at GuiEvents.cpp:493
No locales.
#8  0x000000000063d75b in MuleNotify::HandleNotification (ntf=...) at GuiEvents.cpp:45
No locales.
#9  0x000000000052bc30 in MuleNotify::DoNotify<CSearchFile*, CSearchFile*> (func=<value optimized out>, arg1=<value optimized out>)
    at GuiEvents.h:385
No locales.
#10 0x000000000052cf38 in CSearchList::UpdateSearchFileByHash (this=<value optimized out>, hash=...) at SearchList.cpp:1030
        item = 0x153b2b0
        i = 31
        it = {<__gnu_debug::_Safe_iterator_base> = {_M_sequence = 0xe5e368, _M_version = 1, _M_prior = 0x0, _M_next = 0x0},
          _M_current = {_M_node = 0x15bacc0}}
#11 0x000000000051ab24 in CKnownFileList::SafeAddKFile (this=<value optimized out>, toadd=0x12daf10) at KnownFileList.cpp:254
        sLock = {m_isOk = true, m_mutex = @0xe5e080}
        ret = <value optimized out>
#12 0x00000000006444ac in CPartFile::CompleteFileEnded (this=0x12daf10, errorOccured=<value optimized out>,
    newname=<value optimized out>) at PartFile.cpp:2154
No locales.
#13 0x000000000044fd62 in CamuleApp::OnFinishedCompletion (this=<value optimized out>, evt=...) at amule.cpp:1330
        completed = <value optimized out>
        __FUNCTION__ = "OnFinishedCompletion"
#14 0x00007ffff61f47b0 in wxEvtHandler::ProcessEventIfMatches (entry=<value optimized out>, handler=0x80, event=...)
    at ../src/common/event.cpp:1231
        tableId1 = <value optimized out>
        tableId2 = <value optimized out>
#15 0x00007ffff61f5ce7 in wxEventHashTable::HandleEvent (this=<value optimized out>, event=..., self=0xc42530)
    at ../src/common/event.cpp:906
        n = 0
        count = 1
        eventType = <value optimized out>
        eTTnode = 0x102cef0
#16 0x00007ffff61f5e28 in wxEvtHandler::ProcessEvent (this=0xc42530, event=...) at ../src/common/event.cpp:1293
        __FUNCTION__ = "ProcessEvent"
#17 0x00007ffff61f5b65 in wxEvtHandler::ProcessPendingEvents (this=0xc42530) at ../src/common/event.cpp:1191
        event = {m_ptr = 0x7fffdc009aa0}
        __FUNCTION__ = "ProcessPendingEvents"
        n = 1
#18 0x00007ffff614cf59 in wxAppConsole::ProcessPendingEvents (this=<value optimized out>) at ../src/common/appbase.cpp:294
        handler = 0xc42530
#19 0x00007ffff692a16b in wxAppBase::ProcessIdle (this=0xe5e110) at ../src/common/appcmn.cpp:435
        event = {<wxEvent> = {<wxObject> = {_vptr.wxObject = 0x7ffff307fe00, static ms_classInfo = {
                m_className = 0x7ffff62237d0 L"wxObject", m_objectSize = 16, m_objectConstructor = 0, m_baseInfo1 = 0x0,
                m_baseInfo2 = 0x0, static sm_first = 0x7ffff7006180, m_next = 0x7ffff647cd00, static sm_classTable = 0xc01010},
---Type <return> to continue, or q <return> to quit---
              m_refData = 0x7ffff2de9259}, m_eventObject = 0x1f, m_eventType = -211100848, m_timeStamp = 37711744, m_id = 0,
            m_callbackUserData = 0xc978f0, m_propagationLevel = 12490384, m_skipped = false, m_isCommandEvent = false,
            static ms_classInfo = {m_className = 0x7ffff6235738 L"wxEvent", m_objectSize = 64, m_objectConstructor = 0,
              m_baseInfo1 = 0x7ffff647cc00, m_baseInfo2 = 0x0, static sm_first = 0x7ffff7006180, m_next = 0x7ffff647eba0,
              static sm_classTable = 0xc01010}}, m_requestMore = false, static sm_idleMode = wxIDLE_PROCESS_ALL,
          static ms_classInfo = {m_className = 0x7ffff6a06470 L"wxIdleEvent", m_objectSize = 64,
            m_objectConstructor = 0x7ffff68719d0 <wxIdleEvent::wxCreateObject()>, m_baseInfo1 = 0x7ffff647ebe0, m_baseInfo2 = 0x0,
            static sm_first = 0x7ffff7006180, m_next = 0x7ffff6d0c120, static sm_classTable = 0xc01010}}
        needMore = false
#20 0x00007ffff6880599 in wxapp_idle_callback () at ../src/gtk/app.cpp:206
        idleID_save = 5328129
        moreIdles = true
#21 0x00007ffff2df5bce in g_main_dispatch (context=0xc428c0) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:1960
        dispatch = 0x7ffff2df3d90 <g_idle_dispatch>
        user_data = 0x0
        callback = 0x7ffff68804b0 <wxapp_idle_callback>
        cb_funcs = 0x7ffff307f5f0
        cb_data = 0x7fffdc025c10
        current_source_link = {data = 0x7fffdc01a760, next = 0x0}
        source = 0x7fffdc01a760
        current = 0x1160c30
        i = 0
#22 IA__g_main_context_dispatch (context=0xc428c0) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2513
No locales.
#23 0x00007ffff2df9598 in g_main_context_iterate (context=0xc428c0, block=<value optimized out>, dispatch=<value optimized out>,
    self=<value optimized out>) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2591
        max_priority = 300
        timeout = 0
        some_ready = 1
        nfds = 53
        allocated_nfds = -158861168
        fds = <value optimized out>
        __PRETTY_FUNCTION__ = "g_main_context_iterate"
#24 0x00007ffff2df99f5 in IA__g_main_loop_run (loop=0xcf1460) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2799
        self = 0xc44520
        __PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#25 0x00007ffff4ccf177 in IA__gtk_main () at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c:1218
        tmp_list = 0x104b2b0
        functions = 0x0
        init = 0x7ffff6d12548
        loop = <value optimized out>
#26 0x00007ffff6899b48 in wxEventLoop::Run (this=0x104b2b0) at ../src/gtk/evtloop.cpp:76
        __FUNCTION__ = "Run"
        exitcode = <value optimized out>
#27 0x00007ffff6929ec8 in wxAppBase::MainLoop (this=0xc42530) at ../src/common/appcmn.cpp:312
        mainLoop = {<wxEventLoopPtr> = {m_ptr = 0x104b2b0}, m_pp = 0xc425a8, m_pOld = 0x0}
#28 0x00007ffff618c3bc in wxEntry (argc=<value optimized out>, argv=<value optimized out>) at ../src/common/init.cpp:460
No locales.
#29 0x00000000005c9442 in main (argc=1, argv=0x80) at amule-gui.cpp:94
No locales.
Logged

btkaos

  • Global Moderator
  • Sr. Member
  • *****
  • Karma: 110
  • Offline Offline
  • Posts: 486
  • Kaos is infinite!
Re: Amule hang
« Reply #1 on: March 15, 2010, 08:19:53 PM »

Second part:

Code: [Select]
(gdb) thread apply all bt full

Hilo 4 (Thread 0x7fffeaa2a910 (LWP 30083)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:220
No locales.
#1  0x00007ffff61f1306 in wxConditionInternal::WaitTimeout (this=0xfc66b0, milliseconds=100) at ../src/unix/threadpsx.cpp:405
        curtime = <value optimized out>
        tspec = {tv_sec = 1268678106, tv_nsec = 932000000}
        err = <value optimized out>
#2  0x00007ffff61f2ab7 in wxSemaphoreInternal::WaitTimeout (this=0xe16260, milliseconds=100) at ../src/unix/threadpsx.cpp:552
        remainingTime = <value optimized out>
        locker = {m_isOk = true, m_mutex = @0xe16260}
#3  0x00000000006a969d in CTimerThread::Entry (this=0x12e9760) at Timer.cpp:66
        now = 4294966780
        delta = 643059
        evt = {<wxEvent> = {<wxObject> = {_vptr.wxObject = 0x7c6c10, static ms_classInfo = {
                m_className = 0x7ffff62237d0 L"wxObject", m_objectSize = 16, m_objectConstructor = 0, m_baseInfo1 = 0x0,
                m_baseInfo2 = 0x0, static sm_first = 0x7ffff7006180, m_next = 0x7ffff647cd00, static sm_classTable = 0xc01010},
              m_refData = 0x0}, m_eventObject = 0x0, m_eventType = 10244, m_timeStamp = 0, m_id = 6128, m_callbackUserData = 0x0,
            m_propagationLevel = 0, m_skipped = false, m_isCommandEvent = false, static ms_classInfo = {
              m_className = 0x7ffff6235738 L"wxEvent", m_objectSize = 64, m_objectConstructor = 0, m_baseInfo1 = 0x7ffff647cc00,
              m_baseInfo2 = 0x0, static sm_first = 0x7ffff7006180, m_next = 0x7ffff647eba0,
              static sm_classTable = 0xc01010}}, <No data fields>}
        lastEvent = 1662754512
#4  0x00007ffff61f3a3a in wxThreadInternal::PthreadStart (thread=0x12e9760) at ../src/unix/threadpsx.cpp:766
        pthread = 0xcf13d0
        rc = <value optimized out>
        dontRunAtAll = false
        __FUNCTION__ = "PthreadStart"
#5  0x00007ffff7bc9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
        __res = <value optimized out>
        pd = 0x7fffeaa2a910
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737129916688, 6870763820607545426, 140737488347520, 0, 0, 3,
                -6870788719645089710, -6870746785485217710}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {
              prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        robust = <value optimized out>
#6  0x00007ffff548280d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locales.
#7  0x0000000000000000 in ?? ()
No symbol table info available.

Hilo 2 (Thread 0x7fffeba2c910 (LWP 30081)):
#0  0x00007ffff7bd18f1 in nanosleep () from /lib/libpthread.so.0
No symbol table info available.
#1  0x00007ffff61f9a8c in wxMicroSleep (microseconds=<value optimized out>) at ../src/unix/utilsunx.cpp:191
        tmReq = {tv_sec = 1, tv_nsec = 0}
#2  0x0000000000566c82 in UploadBandwidthThrottler::Entry (this=<value optimized out>) at UploadBandwidthThrottler.cpp:323
        timeSinceLastLoop = 0
        minFragSize = 1300
        doubleSendSize = 2600
        sleepTime = 1000
        thisLoopTick = 1662754263
        bytesToSpend = <value optimized out>
        extraSleepTime = 1000
        lastLoopTick = 1662754263
        allowedDataRate = 15360
        rememberedSlotCounter = 7
        sendLock = {m_isOk = 16, m_mutex = @0x7ffff619b618}
#3  0x00007ffff61f3a3a in wxThreadInternal::PthreadStart (thread=0x10b9600) at ../src/unix/threadpsx.cpp:766
        pthread = 0x11a9a80
        rc = <value optimized out>
        dontRunAtAll = false
---Type <return> to continue, or q <return> to quit---
        __FUNCTION__ = "PthreadStart"
#4  0x00007ffff7bc9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
        __res = <value optimized out>
        pd = 0x7fffeba2c910
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737146702096, 6870763820607545426, 140737488346416, 0, 0, 3,
                -6870790921889570734, -6870746785485217710}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {
              prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        robust = <value optimized out>
#5  0x00007ffff548280d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locales.
#6  0x0000000000000000 in ?? ()
No symbol table info available.

Hilo 1 (Thread 0x7ffff7fb77f0 (LWP 30074)):
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
No locales.
#1  0x00007ffff7bcc295 in _L_lock_949 () from /lib/libpthread.so.0
No symbol table info available.
#2  0x00007ffff7bcc0b8 in __pthread_mutex_lock (mutex=0xe5e110) at pthread_mutex_lock.c:61
        ignore1 = <value optimized out>
        ignore2 = 15065360
        ignore3 = -512
        __PRETTY_FUNCTION__ = "__pthread_mutex_lock"
        type = <value optimized out>
#3  0x00007ffff61f1936 in wxMutexInternal::Lock (this=0xe5e110) at ../src/unix/threadpsx.cpp:248
        err = <value optimized out>
        __FUNCTION__ = "Lock"
#4  0x0000000000456ac3 in wxMutexLocker (this=0x7fffffffdac0, mutex=...) at /usr/include/wx-2.8/wx/thread.h:176
No locales.
#5  0x000000000051ab9c in CKnownFileList::FindKnownFileByID (this=0xe5e070, hash=...) at KnownFileList.cpp:235
        sLock = {m_isOk = false, m_mutex = @0xe5e080}
#6  0x0000000000528bd9 in CSearchFile::SetDownloadStatus (this=0x153b2b0) at SearchFile.cpp:305
        isCanceled = <value optimized out>
#7  0x000000000063ce29 in MuleNotify::Search_Update_Sources (result=0xe5e110) at GuiEvents.cpp:493
No locales.
#8  0x000000000063d75b in MuleNotify::HandleNotification (ntf=...) at GuiEvents.cpp:45
No locales.
#9  0x000000000052bc30 in MuleNotify::DoNotify<CSearchFile*, CSearchFile*> (func=<value optimized out>, arg1=<value optimized out>)
    at GuiEvents.h:385
No locales.
#10 0x000000000052cf38 in CSearchList::UpdateSearchFileByHash (this=<value optimized out>, hash=...) at SearchList.cpp:1030
        item = 0x153b2b0
        i = 31
        it = {<__gnu_debug::_Safe_iterator_base> = {_M_sequence = 0xe5e368, _M_version = 1, _M_prior = 0x0, _M_next = 0x0},
          _M_current = {_M_node = 0x15bacc0}}
#11 0x000000000051ab24 in CKnownFileList::SafeAddKFile (this=<value optimized out>, toadd=0x12daf10) at KnownFileList.cpp:254
        sLock = {m_isOk = true, m_mutex = @0xe5e080}
        ret = <value optimized out>
#12 0x00000000006444ac in CPartFile::CompleteFileEnded (this=0x12daf10, errorOccured=<value optimized out>,
    newname=<value optimized out>) at PartFile.cpp:2154
No locales.
#13 0x000000000044fd62 in CamuleApp::OnFinishedCompletion (this=<value optimized out>, evt=...) at amule.cpp:1330
        completed = <value optimized out>
        __FUNCTION__ = "OnFinishedCompletion"
#14 0x00007ffff61f47b0 in wxEvtHandler::ProcessEventIfMatches (entry=<value optimized out>, handler=0x80, event=...)
    at ../src/common/event.cpp:1231
        tableId1 = <value optimized out>
        tableId2 = <value optimized out>
#15 0x00007ffff61f5ce7 in wxEventHashTable::HandleEvent (this=<value optimized out>, event=..., self=0xc42530)
    at ../src/common/event.cpp:906
        n = 0
---Type <return> to continue, or q <return> to quit---
        count = 1
        eventType = <value optimized out>
        eTTnode = 0x102cef0
#16 0x00007ffff61f5e28 in wxEvtHandler::ProcessEvent (this=0xc42530, event=...) at ../src/common/event.cpp:1293
        __FUNCTION__ = "ProcessEvent"
#17 0x00007ffff61f5b65 in wxEvtHandler::ProcessPendingEvents (this=0xc42530) at ../src/common/event.cpp:1191
        event = {m_ptr = 0x7fffdc009aa0}
        __FUNCTION__ = "ProcessPendingEvents"
        n = 1
#18 0x00007ffff614cf59 in wxAppConsole::ProcessPendingEvents (this=<value optimized out>) at ../src/common/appbase.cpp:294
        handler = 0xc42530
#19 0x00007ffff692a16b in wxAppBase::ProcessIdle (this=0xe5e110) at ../src/common/appcmn.cpp:435
        event = {<wxEvent> = {<wxObject> = {_vptr.wxObject = 0x7ffff307fe00, static ms_classInfo = {
                m_className = 0x7ffff62237d0 L"wxObject", m_objectSize = 16, m_objectConstructor = 0, m_baseInfo1 = 0x0,
                m_baseInfo2 = 0x0, static sm_first = 0x7ffff7006180, m_next = 0x7ffff647cd00, static sm_classTable = 0xc01010},
              m_refData = 0x7ffff2de9259}, m_eventObject = 0x1f, m_eventType = -211100848, m_timeStamp = 37711744, m_id = 0,
            m_callbackUserData = 0xc978f0, m_propagationLevel = 12490384, m_skipped = false, m_isCommandEvent = false,
            static ms_classInfo = {m_className = 0x7ffff6235738 L"wxEvent", m_objectSize = 64, m_objectConstructor = 0,
              m_baseInfo1 = 0x7ffff647cc00, m_baseInfo2 = 0x0, static sm_first = 0x7ffff7006180, m_next = 0x7ffff647eba0,
              static sm_classTable = 0xc01010}}, m_requestMore = false, static sm_idleMode = wxIDLE_PROCESS_ALL,
          static ms_classInfo = {m_className = 0x7ffff6a06470 L"wxIdleEvent", m_objectSize = 64,
            m_objectConstructor = 0x7ffff68719d0 <wxIdleEvent::wxCreateObject()>, m_baseInfo1 = 0x7ffff647ebe0, m_baseInfo2 = 0x0,
            static sm_first = 0x7ffff7006180, m_next = 0x7ffff6d0c120, static sm_classTable = 0xc01010}}
        needMore = false
#20 0x00007ffff6880599 in wxapp_idle_callback () at ../src/gtk/app.cpp:206
        idleID_save = 5328129
        moreIdles = true
#21 0x00007ffff2df5bce in g_main_dispatch (context=0xc428c0) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:1960
        dispatch = 0x7ffff2df3d90 <g_idle_dispatch>
        user_data = 0x0
        callback = 0x7ffff68804b0 <wxapp_idle_callback>
        cb_funcs = 0x7ffff307f5f0
        cb_data = 0x7fffdc025c10
        current_source_link = {data = 0x7fffdc01a760, next = 0x0}
        source = 0x7fffdc01a760
        current = 0x1160c30
        i = 0
#22 IA__g_main_context_dispatch (context=0xc428c0) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2513
No locales.
#23 0x00007ffff2df9598 in g_main_context_iterate (context=0xc428c0, block=<value optimized out>, dispatch=<value optimized out>,
    self=<value optimized out>) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2591
        max_priority = 300
        timeout = 0
        some_ready = 1
        nfds = 53
        allocated_nfds = -158861168
        fds = <value optimized out>
        __PRETTY_FUNCTION__ = "g_main_context_iterate"
#24 0x00007ffff2df99f5 in IA__g_main_loop_run (loop=0xcf1460) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2799
        self = 0xc44520
        __PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#25 0x00007ffff4ccf177 in IA__gtk_main () at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c:1218
        tmp_list = 0x104b2b0
        functions = 0x0
        init = 0x7ffff6d12548
        loop = <value optimized out>
#26 0x00007ffff6899b48 in wxEventLoop::Run (this=0x104b2b0) at ../src/gtk/evtloop.cpp:76
        __FUNCTION__ = "Run"
        exitcode = <value optimized out>
#27 0x00007ffff6929ec8 in wxAppBase::MainLoop (this=0xc42530) at ../src/common/appcmn.cpp:312
        mainLoop = {<wxEventLoopPtr> = {m_ptr = 0x104b2b0}, m_pp = 0xc425a8, m_pOld = 0x0}
#28 0x00007ffff618c3bc in wxEntry (argc=<value optimized out>, argv=<value optimized out>) at ../src/common/init.cpp:460
---Type <return> to continue, or q <return> to quit---
No locales.
#29 0x00000000005c9442 in main (argc=1, argv=0x80) at amule-gui.cpp:94
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Amule hang
« Reply #2 on: March 15, 2010, 08:58:55 PM »

Hehe.  :D
Fixed in 10050, thank you for reporting.
Apparently files complete rarely while the search result list from which they were started is still open, or this would have happened more often.
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

btkaos

  • Global Moderator
  • Sr. Member
  • *****
  • Karma: 110
  • Offline Offline
  • Posts: 486
  • Kaos is infinite!
Re: Amule hang
« Reply #3 on: March 15, 2010, 09:14:36 PM »

That's impressive STU! Thanks a lot.

I was being hit by this bug quite a lot, and was becoming crazy because the bug was very hard to reproduce.

The tipical scenario, I opened aMule in the morning, did some searches and then went to work. Now I returned at home to find amule hung. Damm it! So I then started aMule under gdb to find that the hang was not reproducible :p Now I see the reason.

aMule is a lot of fun!
Logged

GonoszTopi

  • The current man in charge of most things.
  • Administrator
  • Hero Member
  • *****
  • Karma: 169
  • Offline Offline
  • Posts: 2685
Re: Amule hang
« Reply #4 on: March 15, 2010, 10:34:56 PM »

We were quite desperate because we worked hard to introduce this hidden bug - and noone noticed it! Now finally we can see that our effort wasn't in vain.   ;)
Logged
concordia cum veritate

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Amule hang
« Reply #5 on: March 16, 2010, 10:24:24 PM »

Before you praise me too high - I introduced the bug myself in 9937 (January).  :-\
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

btkaos

  • Global Moderator
  • Sr. Member
  • *****
  • Karma: 110
  • Offline Offline
  • Posts: 486
  • Kaos is infinite!
Re: Amule hang
« Reply #6 on: March 17, 2010, 01:39:20 PM »

Well I assumed it was a recently introduced bug, as it didn't happen before (amule was rock solid) Anyways, it is by far preferable to have active development, even if new bugs arise than to have a stagnating code base, this is what testers are for :) , thanks again.
Logged

RRM

  • Sr. Member
  • ****
  • Karma: 40
  • Offline Offline
  • Posts: 444
Re: Amule hang
« Reply #7 on: April 26, 2010, 06:40:47 PM »

Welcome, Patience.
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Amule hang
« Reply #8 on: April 26, 2010, 07:56:18 PM »

RRM, he was just a spammer. No need to welcome him.  8)
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

RRM

  • Sr. Member
  • ****
  • Karma: 40
  • Offline Offline
  • Posts: 444
Re: Amule hang
« Reply #9 on: April 27, 2010, 08:10:51 PM »

Huh?
How could you tell?
Logged

^marcell^

  • Developer
  • Hero Member
  • *****
  • Karma: 28
  • Offline Offline
  • Posts: 524
Re: Amule hang
« Reply #10 on: April 28, 2010, 12:49:06 PM »

Huh?
How could you tell?
Most spambots insert text, links, mail addresses into their profile that make it pretty obvious.
Like this user for example. He has "zero friction fat loss" inside the profile.
Reason: you might get tempted to click the link and this would probably earn the sender of the bot some profit...
Logged

RRM

  • Sr. Member
  • ****
  • Karma: 40
  • Offline Offline
  • Posts: 444
Re: Amule hang
« Reply #11 on: April 30, 2010, 08:58:29 PM »

Aaah, thanks.
Logged