aMule Forum

English => Backtraces => Topic started by: Stu Redman on May 09, 2008, 12:53:49 AM

Title: Win32 crash in CUploadQueue::AcceptNewClient
Post by: Stu Redman on May 09, 2008, 12:53:49 AM
SVN 8456 (2008-05-09):

Code: [Select]
in CUploadQueue::AcceptNewClient

Program received signal SIGSEGV, Segmentation fault.
0x004a3d74 in CUploadQueue::AcceptNewClient (this=0x0) at UploadQueue.cpp:226
226     UploadQueue.cpp: No such file or directory.
        in UploadQueue.cpp

(gdb) bt
#0  0x004a3d74 in CUploadQueue::AcceptNewClient (this=0x0)
    at UploadQueue.cpp:226
#1  0x004a6c3c in CUploadQueue::Process (this=0x0) at UploadQueue.cpp:190
#2  0x00407e4c in CamuleApp::OnCoreTimer (this=0x8fb6880) at amule.cpp:1418
#3  0x008497a5 in wxEvtHandler::ProcessEventIfMatches ()
    at c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostr
eam:77
#4  0x00849afc in wxEventHashTable::HandleEvent ()
    at c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostr
eam:77
#5  0x0084aaf9 in wxEvtHandler::ProcessEvent ()
    at c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostr
eam:77
#6  0x0084a919 in wxEvtHandler::ProcessPendingEvents ()
    at c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostr
eam:77
#7  0x00848ab4 in wxAppConsole::ProcessPendingEvents ()
    at c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostr
eam:77
#8  0x00a3f055 in wxIdleWakeUpModule::MsgHookProc ()
    at c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostr
eam:77
#9  0x7e36f84a in USER32!EnableMenuItem () from C:\WINDOWS\system32\user32.dll
#10 0x00000000 in ?? ()

(gdb) bt full 3
#0  0x004a3d74 in CUploadQueue::AcceptNewClient (this=0x0)
    at UploadQueue.cpp:226
        this = (CUploadQueue * const) 0x0
        kBpsUpPerClient = 0
        kBpsUp = 3.20890622e-039
        kBpsUpPerClient = 0
        kBpsUp = 3.20890622e-039
#1  0x004a6c3c in CUploadQueue::Process (this=0x0) at UploadQueue.cpp:190
        this = (CUploadQueue * const) 0x0
        it = {<_Safe_iterator_base> = {_M_sequence = 0x0, _M_version = 0,
    _M_prior = 0x22f1cc, _M_next = 0xafb848}, _M_current = {
    _M_node = 0x22f240}}
        sentBytes = 9835870247121084
#2  0x00407e4c in CamuleApp::OnCoreTimer (this=0x8fb6880) at amule.cpp:1418
        this = (CamuleApp * const) 0x8fb6880
        msPrev1 = 1437818
        msPrev5 = 1434082
        msPrevSave = 1381507
        msPrevHist = 1438000
        msPrevOS = 1434082
        msPrevKnownMet = 0
        msCur = 76843844487237826
        msPrev1 = 1437818
        msPrev5 = 1434082
        msPrevSave = 1381507
        msPrevHist = 1438000
        msPrevOS = 1434082
        msPrevKnownMet = 0
        msCur = 76843844487237826
        msPrev1 = 1437818
        msPrev5 = 1434082
        msPrevSave = 1381507
        msPrevHist = 1438000
        msPrevOS = 1434082
        msPrevKnownMet = 0
        msCur = 76843844487237826
(More stack frames follow...)
(gdb) bt full 4
#0  0x004a3d74 in CUploadQueue::AcceptNewClient (this=0x0)
    at UploadQueue.cpp:226
        this = (CUploadQueue * const) 0x0
        kBpsUpPerClient = 0
        kBpsUp = 3.20890622e-039
        kBpsUpPerClient = 0
        kBpsUp = 3.20890622e-039
#1  0x004a6c3c in CUploadQueue::Process (this=0x0) at UploadQueue.cpp:190
        this = (CUploadQueue * const) 0x0
        it = {<_Safe_iterator_base> = {_M_sequence = 0x0, _M_version = 0,
    _M_prior = 0x22f1cc, _M_next = 0xafb848}, _M_current = {
    _M_node = 0x22f240}}
        sentBytes = 9835870247121084
#2  0x00407e4c in CamuleApp::OnCoreTimer (this=0x8fb6880) at amule.cpp:1418
        this = (CamuleApp * const) 0x8fb6880
        msPrev1 = 1437818
        msPrev5 = 1434082
        msPrevSave = 1381507
        msPrevHist = 1438000
        msPrevOS = 1434082
        msPrevKnownMet = 0
        msCur = 76843844487237826
        msPrev1 = 1437818
        msPrev5 = 1434082
        msPrevSave = 1381507
        msPrevHist = 1438000
        msPrevOS = 1434082
        msPrevKnownMet = 0
        msCur = 76843844487237826
        msPrev1 = 1437818
        msPrev5 = 1434082
        msPrevSave = 1381507
        msPrevHist = 1438000
        msPrevOS = 1434082
        msPrevKnownMet = 0
        msCur = 76843844487237826
#3  0x008497a5 in wxEvtHandler::ProcessEventIfMatches ()
    at c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostr
eam:77
        std::__ioinit = {static _S_refcount = 115,
  static _S_synced_with_stdio = true}
        realpos = -1
        realpos = -1
        realpos = -1
        mod = 0
        mod = 0
        mod = 0
        pos = 0
        pos = 0
        pos = 0
        typeinfo name for wxEvtHandler = "12wxEvtHandler"
        CFileDetailListCtrl::sm_eventTableEntries = {
  {<wxEventTableEntryBase> = {m_id = 10057, m_lastId = -1, m_fn = {
        __pfn = 0x6c03d0, __delta = 0}, m_callbackUserData = 0x0},
    m_eventType = @0xef02f4}, {<wxEventTableEntryBase> = {m_id = 0,
      m_lastId = 0, m_fn = {__pfn = 0x0, __delta = 0},
      m_callbackUserData = 0x0}, m_eventType = @0xf136ec}}
        typeinfo name for wxThreadHelperThread = "20wxThreadHelperThread"
        CFileDetailListCtrl::sm_eventTable = {baseTable = 0xc49000,
  entries = 0xeed9b0}
        typeinfo for wxThread = <incomplete type>
        typeinfo name for CMuleListCtrl = "13CMuleListCtrl"
        typeinfo name for wxControlBase = "13wxControlBase"
        typeinfo name for wxControl = "9wxControl"
        typeinfo name for MuleExtern::wxGenericListCtrl = "N10MuleExtern17wxGene
ricListCtrlE"
        typeinfo for wxWindow = <incomplete type>
        typeinfo for wxObject = <incomplete type>
        typeinfo for wxWindowBase = <incomplete type>
        typeinfo for CFileDetailListCtrl = <incomplete type>
        typeinfo for wxEvtHandler = <incomplete type>
        typeinfo name for wxThread = "8wxThread"
        typeinfo for MuleExtern::wxGenericListCtrl = <incomplete type>
        typeinfo name for CFileDetailListCtrl = "19CFileDetailListCtrl"
        typeinfo for wxControlBase = <incomplete type>
        typeinfo for CMuleListCtrl = <incomplete type>
        typeinfo for wxThreadHelperThread = <incomplete type>
        typeinfo name for wxWindow = "8wxWindow"
        CFileDetailListCtrl::sm_eventHashTable = {m_table = @0xc49780,
  m_rebuildHash = true, m_size = 31, m_eventTypeTable = 0x3edc38,
  static sm_first = 0xcff1d0, m_previous = 0xeed968, m_next = 0xeeda40}
        typeinfo for wxControl = <incomplete type>
        typeinfo name for wxObject = "8wxObject"
        typeinfo name for wxWindowBase = "12wxWindowBase"
(More stack frames follow...)

(gdb) thread apply all bt

Thread 2 (thread 2988.0xa6c):
#0  0x7c91eb94 in ntdll!LdrAccessResource ()
   from C:\WINDOWS\system32\ntdll.dll
#1  0x7c91e31b in ntdll!ZwRemoveIoCompletion ()
   from C:\WINDOWS\system32\ntdll.dll
#2  0x719bd609 in WSPStartup () from C:\WINDOWS\System32\mswsock.dll
#3  0x0000061c in ?? ()
#4  0x0d13ffbc in ?? ()
#5  0x0d13ffb0 in ?? ()
#6  0x0d13ffa4 in ?? ()
#7  0x719bd650 in WSPStartup () from C:\WINDOWS\System32\mswsock.dll
#8  0x0022f558 in ?? ()
#9  0x7c91ee18 in strchr () from C:\WINDOWS\system32\ntdll.dll
#10 0x002628f0 in ?? ()
#11 0x00000000 in ?? ()

Thread 1 (thread 2988.0x438):
#0  0x004a3d74 in CUploadQueue::AcceptNewClient (this=0x0)
    at UploadQueue.cpp:226
#1  0x004a6c3c in CUploadQueue::Process (this=0x0) at UploadQueue.cpp:190
#2  0x00407e4c in CamuleApp::OnCoreTimer (this=0x8fb6880) at amule.cpp:1418
#3  0x008497a5 in wxEvtHandler::ProcessEventIfMatches ()
    at c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostr
eam:77
#4  0x00849afc in wxEventHashTable::HandleEvent ()
    at c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostr
eam:77
#5  0x0084aaf9 in wxEvtHandler::ProcessEvent ()
    at c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostr
eam:77
#6  0x0084a919 in wxEvtHandler::ProcessPendingEvents ()
    at c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostr
eam:77
#7  0x00848ab4 in wxAppConsole::ProcessPendingEvents ()
    at c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostr
eam:77
#8  0x00a3f055 in wxIdleWakeUpModule::MsgHookProc ()
    at c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostr
eam:77
#9  0x7e36f84a in USER32!EnableMenuItem () from C:\WINDOWS\system32\user32.dll
#10 0x00000000 in ?? ()

In the logfile there is an entry about a shutdown. Can it still try to shutdown after a segfault, or was the spontaneous shutdown the reason for the segfault ?
Code: [Select]
2008-05-08 23:17:37: amule.cpp(2060): Connected to Kad (firewalled)                                         
2008-05-08 23:17:42: amule.cpp(2058): Connected to Kad (ok)                                                 
2008-05-08 23:39:36: amule.cpp(216): Now, exiting main app...                                               
2008-05-08 23:39:36: amule.cpp(242): aMule OnExit: Terminating core.                                         
2008-05-08 23:39:43: ExternalConn.cpp(206): General: ExternalConn::KillAllSockets(): 0 sockets to destroy.   
2008-05-08 23:39:44: amule.cpp(312): aMule shutdown completed.