We're back! (IN POG FORM)
Program received signal SIGSEGV, Segmentation fault.[Switching to Thread 16384 (LWP 16850)]0x081d8680 in wxBaseArrayShort::GetCount (this=0xd0) at dynarray.h:809809 WX_DECLARE_USER_EXPORTED_BASEARRAY(short, wxBaseArrayShort, WXDLLIMPEXP_BASE);(gdb) bt#0 0x081d8680 in wxBaseArrayShort::GetCount (this=0xd0) at dynarray.h:809#1 0x08258509 in CPartFile::UpdatePartsFrequency (this=0x0, client=0x9d8a098, increment=false) at PartFile.cpp:4082#2 0x08180516 in CUpDownClient::SetDownloadState (this=0x9d8a098, byNewState=11 '\v') at DownloadClient.cpp:507#3 0x081993be in CDownloadQueue::RemoveSource (this=0x8c5b660, toremove=0x9d8a098, bDoStatsUpdate=false) at DownloadQueue.cpp:593#4 0x08256b2d in CPartFile::RemoveSource (this=0x8de4a40, toremove=0x9d8a098, updatewindow=true, bDoStatsUpdate=false) at PartFile.cpp:3639#5 0x08252808 in CPartFile::RemoveAllSources (this=0x8de4a40, bTryToSwap=true) at PartFile.cpp:2488#6 0x0825388e in CPartFile::StopFile (this=0x8de4a40, bCancel=false) at PartFile.cpp:2658#7 0x08250ab5 in CPartFile::CompleteFile (this=0x8de4a40, bIsHashingDone=true) at PartFile.cpp:2250#8 0x0824d7a8 in CPartFile::PartFileHashFinished (this=0x8de4a40, result=0xa05e818) at PartFile.cpp:1200#9 0x082cb6b2 in CamuleApp::OnFinishedHashing (this=0x85d7f68, e=@0xa077b78) at amule.cpp:1434#10 0x405ad278 in wxAppConsole::HandleEvent (this=0x85d7f68, handler=0x85d7f68, func={__pfn = 0x82cb648 , __delta = 0}, event=@0xa077b78) at src/common/appbase.cpp:307#11 0x4063382c in wxEvtHandler::ProcessEventIfMatches (entry=@0x85c63f8, handler=0x85d7f68, event=@0xa077b78) at src/common/event.cpp:1169#12 0x406328d2 in wxEventHashTable::HandleEvent (this=0x85c6300, event=@0xa077b78, self=0x85d7f68) at src/common/event.cpp:837#13 0x40633a44 in wxEvtHandler::ProcessEvent (this=0x85d7f68, event=@0xa077b78) at src/common/event.cpp:1231#14 0x4063370c in wxEvtHandler::ProcessPendingEvents (this=0x85d7f68) at src/common/event.cpp:1122#15 0x405ad1f3 in wxAppConsole::ProcessPendingEvents (this=0x85d7f68) at src/common/appbase.cpp:280#16 0x40335d89 in wxapp_pending_callback () at src/gtk/app.cpp:212#17 0x4082b73e in g_idle_remove_by_data () from /usr/lib/libglib-1.2.so.0#18 0x00000000 in ?? ()#19 0x4083d248 in ?? () from /usr/lib/libglib-1.2.so.0#20 0x00000000 in ?? ()#21 0x4082bed6 in g_idle_remove_by_data () from /usr/lib/libglib-1.2.so.0#22 0x40335d4c in wxApp::WakeUpIdle (this=0xfffe9c9c) at src/gtk/app.cpp:192(gdb) bt full#0 0x081d8680 in wxBaseArrayShort::GetCount (this=0xd0) at dynarray.h:809No locals.#1 0x08258509 in CPartFile::UpdatePartsFrequency (this=0x0, client=0x9d8a098, increment=false) at PartFile.cpp:4082 freq = (const BitVector &) @0x9d8a22c: { >> = { _M_impl = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_start = { = {> = {}, _M_p = 0x9b06f78, _M_offset = 0}, }, _M_finish = { = {> = {}, _M_p = 0x9b06f78, _M_offset = 0}, }, _M_end_of_storage = 0x9b06f7c}}, } size = 3221219800#2 0x08180516 in CUpDownClient::SetDownloadState (this=0x9d8a098, byNewState=11 '\v') at DownloadClient.cpp:507No locals.#3 0x081993be in CDownloadQueue::RemoveSource (this=0x8c5b660, toremove=0x9d8a098, bDoStatsUpdate=false) at DownloadQueue.cpp:593 removed = true#4 0x08256b2d in CPartFile::RemoveSource (this=0x8de4a40, toremove=0x9d8a098, updatewindow=true, bDoStatsUpdate=false) at PartFile.cpp:3639 result = true#5 0x08252808 in CPartFile::RemoveAllSources (this=0x8de4a40, bTryToSwap=true) at PartFile.cpp:2488 cur_src = (CUpDownClient *) 0x9d8a098 it = {_M_node = 0x90b7008}#6 0x0825388e in CPartFile::StopFile (this=0x8de4a40, bCancel=false) at PartFile.cpp:2658No locals.#7 0x08250ab5 in CPartFile::CompleteFile (this=0x8de4a40, bIsHashingDone=true) at PartFile.cpp:2250No locals.#8 0x0824d7a8 in CPartFile::PartFileHashFinished (this=0x8de4a40, result=0xa05e818) at PartFile.cpp:1200 errorfound = false#9 0x082cb6b2 in CamuleApp::OnFinishedHashing (this=0x85d7f68, e=@0xa077b78) at amule.cpp:1434 requester = (class CPartFile *) 0x8de4a40 evt = (class wxMuleInternalEvent &) @0xa077b78: { = { = {_vptr.wxObject = 0x83290c8, static ms_classInfo = {m_className = 0x0, m_objectSize = 0, m_objectConstructor = 0, m_baseInfo1 = 0x0, m_baseInfo2 = 0x0, static sm_first = 0x0, m_next = 0x0, static sm_classTable = 0x85c7218}, m_refData = 0x0}, m_eventObject = 0x0, m_eventType = 10225, m_timeStamp = 0, m_id = -1, m_callbackUserData = 0x0, m_propagationLevel = 0, m_skipped = false, m_isCommandEvent = false, static ms_classInfo = {m_className = 0x0, m_objectSize = 0, m_objectConstructor = 0, m_baseInfo1 = 0x0, m_baseInfo2 = 0x0, static sm_first = 0x0, m_next = 0x0, static sm_classTable = 0x85c7218}}, m_ptr = 0xa05e818, m_value = 148785728, m_commandInt = 1079992389} filecount = 1 bytecount = 3072 result = (class CKnownFile *) 0xa05e818#10 0x405ad278 in wxAppConsole::HandleEvent (this=0x85d7f68, handler=0x85d7f68, func={__pfn = 0x82cb648 , __delta = 0}, event=@0xa077b78) at src/common/appbase.cpp:307No locals.#11 0x4063382c in wxEvtHandler::ProcessEventIfMatches (entry=@0x85c63f8, handler=0x85d7f68, event=@0xa077b78) at src/common/event.cpp:1169 tableId1 = -1 tableId2 = -1#12 0x406328d2 in wxEventHashTable::HandleEvent (this=0x85c6300, event=@0xa077b78, self=0x85d7f68) at src/common/event.cpp:837 n = 0 eventEntryTable = (const wxEventTableEntryPointerArray &) @0x8c7079c: { = {m_nSize = 1, m_nCount = 1, m_pItems = 0x8c709c8}, } count = 1 eventType = 10225 eTTnode = (wxEventHashTable::EventTypeTable * const) 0x8c70798#13 0x40633a44 in wxEvtHandler::ProcessEvent (this=0x85d7f68, event=@0xa077b78) at src/common/event.cpp:1231No locals.#14 0x4063370c in wxEvtHandler::ProcessPendingEvents (this=0x85d7f68) at src/common/event.cpp:1122 event = (wxEvent *) 0xa077b78 node = (class wxObjectListNode *) 0x9f71c88#15 0x405ad1f3 in wxAppConsole::ProcessPendingEvents (this=0x85d7f68) at src/common/appbase.cpp:280 handler = (class wxEvtHandler *) 0x85d7f68 node = (class wxObjectListNode *) 0xa077bb0#16 0x40335d89 in wxapp_pending_callback () at src/gtk/app.cpp:212No locals.#17 0x4082b73e in g_idle_remove_by_data () from /usr/lib/libglib-1.2.so.0No symbol table info available.#18 0x00000000 in ?? ()No symbol table info available.#19 0x4083d248 in ?? () from /usr/lib/libglib-1.2.so.0No symbol table info available.#20 0x00000000 in ?? ()No symbol table info available.#21 0x4082bed6 in g_idle_remove_by_data () from /usr/lib/libglib-1.2.so.0No symbol table info available.#22 0x40335d4c in wxApp::WakeUpIdle (this=0xfffe9c9c) at src/gtk/app.cpp:192---Type to continue, or q to quit---No locals.(gdb)
#4 0x08256b2d in CPartFile::RemoveSource (this=0x8de4a40, toremove=0x9d8a098, updatewindow=true, bDoStatsUpdate=false) at PartFile.cpp:3639
Originally posted by lfroenQuote #4 0x08256b2d in CPartFile::RemoveSource (this=0x8de4a40, toremove=0x9d8a098, updatewindow=true, bDoStatsUpdate=false) at PartFile.cpp:3639I think it's mem corruption - while base pointer is still ok (this=0x8de4a40), parameter contain junk: toremove=0x9d8a098
how do you know that "toremove=0x9d8a098" is junk? 0x09d8A098 is too low for dynamically allocated memory?