aMule Forum

English => Backtraces => Topic started by: nsd20463 on June 18, 2004, 01:57:42 PM

Title: SEGV in CEMSocket::SendPacket() / CList<>::AddTail()
Post by: nsd20463 on June 18, 2004, 01:57:42 PM
Here's a new one for me.

Also I've discovered a way to make amule reproduce random crashes quickly (in minutes): I simulate a slow processor by hacking TimerProc() to run only once a second rather than 10 times a second. Once I do that amule is much less stable.

I discovered this accidently while trying to hack amule so it didn't use up so much bandwidth when displayed on a remote X display. Even when iconized amule uses lots (everything my DSL can give) of the upload bandwidth to do something with X11.

Also there might be an option to control how fast the window is refreshed, again so that running amule on a remote X display with, say, the transfer pannel showing, this could be set to something slower so the refreshes don't use more bandwidth than the uploads themselves.

Anyway, back to the backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x080d8905 in CList::AddTail (this=0x8bf4be8, uusi=0x8b58880) at CTypedPtrList.h:159
159           tail->next = newnode;
(gdb) bt
#0  0x080d8905 in CList::AddTail (this=0x8bf4be8, uusi=0x8b58880) at CTypedPtrList.h:159
#1  0x080d80de in CEMSocket::SendPacket (this=0x8bf4b40, packet=0x8b58880, delpacket=true, controlpacket=true) at EMSocket.cpp:334
#2  0x0810acec in CUpDownClient::CalculateKBpsDown (this=0x8ac7090) at DownloadClient.cpp:1042
#3  0x081c0a16 in CPartFile::Process (this=0x89d4ca0, reducedownload=0, m_icounter=10 '\n') at PartFile.cpp:1721
#4  0x0811ad71 in CDownloadQueue::Process (this=0x8942918) at DownloadQueue.cpp:376
#5  0x08224795 in TimerProc () at UploadQueue.cpp:711
#6  0x0822d28a in CamuleDlg::OnUQTimer (this=0x8526668) at amuleDlg.cpp:344
#7  0x402ed667 in wxEvtHandler::SearchEventTable () from /usr/lib/libwx_gtk-2.4.so.0
#8  0x402ed483 in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_gtk-2.4.so.0
#9  0x40390997 in wxTimerBase::Notify () from /usr/lib/libwx_gtk-2.4.so.0
#10 0x4029de6d in timeout_callback () from /usr/lib/libwx_gtk-2.4.so.0
#11 0x4065aec4 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
#12 0x4065a03d in g_get_current_time () from /usr/lib/libglib-1.2.so.0
#13 0x4065a4f4 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
#14 0x4065a724 in g_main_run () from /usr/lib/libglib-1.2.so.0
#15 0x40580c3f in gtk_main () from /usr/lib/libgtk-1.2.so.0
#16 0x4024ca79 in wxApp::MainLoop () from /usr/lib/libwx_gtk-2.4.so.0
#17 0x402ada47 in wxAppBase::OnRun () from /usr/lib/libwx_gtk-2.4.so.0
#18 0x4024d1db in wxEntry () from /usr/lib/libwx_gtk-2.4.so.0
#19 0x08225f76 in main (argc=1, argv=0xbffffa24) at amule.cpp:114

(gdb) bt full
#0  0x080d8905 in CList::AddTail (this=0x8bf4be8, uusi=0x8b58880) at CTypedPtrList.h:159
        newnode = (CList::MyNode *) 0x8c73050
#1  0x080d80de in CEMSocket::SendPacket (this=0x8bf4b40, packet=0x8b58880, delpacket=true, controlpacket=true) at EMSocket.cpp:334
        bCheckControlQueue = 8
#2  0x0810acec in CUpDownClient::CalculateKBpsDown (this=0x8ac7090) at DownloadClient.cpp:1042
        packet = (Packet *) 0x8b58880
        tcLoop = 0.100000001
        tcInit = 0.400000006
        tcFinal = 50
        tcReduce = 5
        fInit = 0.25
        fFinal = 0.00200000009
        fReduce = 0.907940686
        msCur = 930898578
#3  0x081c0a16 in CPartFile::Process (this=0x89d4ca0, reducedownload=0, m_icounter=10 '\n') at PartFile.cpp:1721
        kBpsClient = 6.99774542e-34
        download_state = 0 '\0'
        sl = 21
        pos1 = 0x8b49a88
        pos2 = 0x8a4d740
        old_trans = 1
        cur_src = (CUpDownClient *) 0x8ac7090
        dwCurTick = 930898578
#4  0x0811ad71 in CDownloadQueue::Process (this=0x8942918) at DownloadQueue.cpp:376
        cur_file = (class CPartFile *) 0x89d4ca0
        i = 8
        size = 55
        downspeed = 0
#5  0x08224795 in TimerProc () at UploadQueue.cpp:711
        msPrev1 = 2430429
        msPrev5 = 2428331
        msPrevGraph = 2430429
        msPrevStats = 0
        msPrevSave = 2400180
        msPrevHist = 2129000
        msCur = 2431430
        bStatsVisible = false
        msGraphUpdate = 30000
        sStatsUpdate = 90
#6  0x0822d28a in CamuleDlg::OnUQTimer (this=0x8526668) at amuleDlg.cpp:344
No locals.
#7  0x402ed667 in wxEvtHandler::SearchEventTable () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#8  0x402ed483 in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#9  0x40390997 in wxTimerBase::Notify () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#10 0x4029de6d in timeout_callback () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#11 0x4065aec4 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#12 0x4065a03d in g_get_current_time () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#13 0x4065a4f4 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#14 0x4065a724 in g_main_run () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#15 0x40580c3f in gtk_main () from /usr/lib/libgtk-1.2.so.0
No symbol table info available.
#16 0x4024ca79 in wxApp::MainLoop () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#17 0x402ada47 in wxAppBase::OnRun () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#18 0x4024d1db in wxEntry () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#19 0x08225f76 in main (argc=1, argv=0xbffffa24) at amule.cpp:114
No locals.
(gdb)
Title: Re: SEGV in CEMSocket::SendPacket() / CList<>::AddTail()
Post by: phoenix on June 18, 2004, 02:02:56 PM
Hi nsd,
Try the current cvs version, and please, report if this error persists.
Cheers!