aMule Forum

English => Backtraces => Topic started by: phoenix on May 07, 2004, 12:32:34 PM

Title: SetDownloadLimit
Post by: phoenix on May 07, 2004, 12:32:34 PM
Wasn't doing anything special...

Cheers,

Marcelo.
Code: [Select]
Program received signal SIGABRT, Aborted.
0x00accc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) bt
#0  0x00accc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x00b0b989 in raise () from /lib/tls/libc.so.6
#2  0x00b0d342 in abort () from /lib/tls/libc.so.6
#3  0x0056bf4a in wxFatalSignalHandler () from /usr/lib/libwx_gtk-2.4.so.0
#4  
#5  0x0814a1f9 in CEMSocket::SetDownloadLimit(unsigned) (this=0x0, limit=1) at EMSocket.cpp:311
#6  0x08229cb1 in CPartFile::Process(unsigned, unsigned char) (this=0x9327a18, reducedownload=152,
    m_icounter=9 '\t') at PartFile.cpp:1701
#7  0x0818cfb4 in CDownloadQueue::Process() (this=0x894ff20) at DownloadQueue.cpp:376
#8  0x0828c952 in TimerProc() () at UploadQueue.cpp:704
#9  0x08295591 in CamuleDlg::OnUQTimer(wxTimerEvent&) (this=0x868c478) at amuleDlg.cpp:344
#10 0x004a1e62 in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) () from /usr/lib/libwx_gtk-2.4.so.0
#11 0x004a1c8f in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_gtk-2.4.so.0
#12 0x0052d867 in wxTimerBase::Notify() () from /usr/lib/libwx_gtk-2.4.so.0
#13 0x0044a96c in timeout_callback () from /usr/lib/libwx_gtk-2.4.so.0
#14 0x001233a5 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
#15 0x0012235b in g_get_current_time () from /usr/lib/libglib-1.2.so.0
#16 0x00122846 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
#17 0x00122af4 in g_main_run () from /usr/lib/libglib-1.2.so.0
#18 0x007376af in gtk_main () from /usr/lib/libgtk-1.2.so.0
#19 0x004069f2 in wxApp::MainLoop() () from /usr/lib/libwx_gtk-2.4.so.0
#20 0x00458610 in wxAppBase::OnRun() () from /usr/lib/libwx_gtk-2.4.so.0
#21 0x004070cd in wxEntry(int, char**) () from /usr/lib/libwx_gtk-2.4.so.0
#22 0x0828e1a6 in main (argc=1, argv=0xbff894d4) at amule.cpp:114
(gdb) bt full
#0  0x00accc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
No symbol table info available.
#1  0x00b0b989 in raise () from /lib/tls/libc.so.6
No symbol table info available.
#2  0x00b0d342 in abort () from /lib/tls/libc.so.6
No symbol table info available.
#3  0x0056bf4a in wxFatalSignalHandler () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#4  
No symbol table info available.
#5  0x0814a1f9 in CEMSocket::SetDownloadLimit(unsigned) (this=0x0, limit=1) at EMSocket.cpp:311
No locals.
#6  0x08229cb1 in CPartFile::Process(unsigned, unsigned char) (this=0x9327a18, reducedownload=152,
    m_icounter=9 '\t') at PartFile.cpp:1701
        limit = 1
        kBpsClient = 0
        pos = 0x0
        old_trans = 1
        cur_src = (CUpDownClient *) 0x96e83e0
        dwCurTick = 1580412389
#7  0x0818cfb4 in CDownloadQueue::Process() (this=0x894ff20) at DownloadQueue.cpp:376
        cur_file = (class CPartFile *) 0x9327a18
        i = 147
        size = 151
        downspeed = 152
#8  0x0828c952 in TimerProc() () at UploadQueue.cpp:704
        msPrev1 = 16344231
        msPrev5 = 16342249
        msPrevGraph = 0
        msPrevStats = 0
        msPrevSave = 16336122
        msPrevHist = 16344000
        msCur = 16344652
        bStatsVisible = 191
        msGraphUpdate = 141492408
        sStatsUpdate = 140951512
#9  0x08295591 in CamuleDlg::OnUQTimer(wxTimerEvent&) (this=0x868c478) at amuleDlg.cpp:344
No locals.
#10 0x004a1e62 in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#11 0x004a1c8f in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#12 0x0052d867 in wxTimerBase::Notify() () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#13 0x0044a96c in timeout_callback () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#14 0x001233a5 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#15 0x0012235b in g_get_current_time () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#16 0x00122846 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#17 0x00122af4 in g_main_run () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#18 0x007376af in gtk_main () from /usr/lib/libgtk-1.2.so.0
No symbol table info available.
#19 0x004069f2 in wxApp::MainLoop() () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#20 0x00458610 in wxAppBase::OnRun() () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#21 0x004070cd in wxEntry(int, char**) () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#22 0x0828e1a6 in main (argc=1, argv=0xbff894d4) at amule.cpp:114
No locals.
(gdb)
Title: Re: SetDownloadLimit
Post by: phoenix on May 07, 2004, 02:36:32 PM
Ok, I'm pushing things :-) I was downloading 149 files in this one. Seems to be the same as the previous.

Cheers,

Marcelo.

Code: [Select]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1084977024 (LWP 22907)]
0x0814a1f9 in CEMSocket::SetDownloadLimit(unsigned) (this=0x0, limit=1) at EMSocket.cpp:311
311             limitenabled = true;
(gdb) bt
#0  0x0814a1f9 in CEMSocket::SetDownloadLimit(unsigned) (this=0x0, limit=1) at EMSocket.cpp:311
#1  0x08229cb1 in CPartFile::Process(unsigned, unsigned char) (this=0x957a518, reducedownload=170,
    m_icounter=8 '\b') at PartFile.cpp:1701
#2  0x0818cfb4 in CDownloadQueue::Process() (this=0x946fd78) at DownloadQueue.cpp:376
#3  0x0828c952 in TimerProc() () at UploadQueue.cpp:704
#4  0x08295591 in CamuleDlg::OnUQTimer(wxTimerEvent&) (this=0x91a0478) at amuleDlg.cpp:344
#5  0x003b6e62 in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) () from /usr/lib/libwx_gtk-2.4.so.0
#6  0x003b6c8f in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_gtk-2.4.so.0
#7  0x00442867 in wxTimerBase::Notify() () from /usr/lib/libwx_gtk-2.4.so.0
#8  0x0035f96c in timeout_callback () from /usr/lib/libwx_gtk-2.4.so.0
#9  0x007d03a5 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
#10 0x007cf35b in g_get_current_time () from /usr/lib/libglib-1.2.so.0
#11 0x007cf846 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
#12 0x007cfaf4 in g_main_run () from /usr/lib/libglib-1.2.so.0
#13 0x0064c6af in gtk_main () from /usr/lib/libgtk-1.2.so.0
#14 0x0031b9f2 in wxApp::MainLoop() () from /usr/lib/libwx_gtk-2.4.so.0
#15 0x0036d610 in wxAppBase::OnRun() () from /usr/lib/libwx_gtk-2.4.so.0
#16 0x0031c0cd in wxEntry(int, char**) () from /usr/lib/libwx_gtk-2.4.so.0
#17 0x0828e1a6 in main (argc=1, argv=0xbff051c4) at amule.cpp:114
(gdb) bt full
#0  0x0814a1f9 in CEMSocket::SetDownloadLimit(unsigned) (this=0x0, limit=1) at EMSocket.cpp:311
No locals.
#1  0x08229cb1 in CPartFile::Process(unsigned, unsigned char) (this=0x957a518, reducedownload=170,
    m_icounter=8 '\b') at PartFile.cpp:1701
        limit = 1
        kBpsClient = 0
        pos = 0xa21d180
        old_trans = 3
        cur_src = (CUpDownClient *) 0xa077880
        dwCurTick = 1599804629
#2  0x0818cfb4 in CDownloadQueue::Process() (this=0x946fd78) at DownloadQueue.cpp:376
        cur_file = (class CPartFile *) 0x957a518
        i = 100
        size = 149
        downspeed = 170
#3  0x0828c952 in TimerProc() () at UploadQueue.cpp:704
        msPrev1 = 5468729
        msPrev5 = 5466332
        msPrevGraph = 0
        msPrevStats = 0
        msPrevSave = 5466982
        msPrevHist = 5469000
        msCur = 5469562
        bStatsVisible = 191
        msGraphUpdate = 153108664
        sStatsUpdate = 152567768
#4  0x08295591 in CamuleDlg::OnUQTimer(wxTimerEvent&) (this=0x91a0478) at amuleDlg.cpp:344
No locals.
#5  0x003b6e62 in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#6  0x003b6c8f in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#7  0x00442867 in wxTimerBase::Notify() () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#8  0x0035f96c in timeout_callback () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#9  0x007d03a5 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#10 0x007cf35b in g_get_current_time () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#11 0x007cf846 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#12 0x007cfaf4 in g_main_run () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#13 0x0064c6af in gtk_main () from /usr/lib/libgtk-1.2.so.0
No symbol table info available.
#14 0x0031b9f2 in wxApp::MainLoop() () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#15 0x0036d610 in wxAppBase::OnRun() () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#16 0x0031c0cd in wxEntry(int, char**) () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#17 0x0828e1a6 in main (argc=1, argv=0xbff051c4) at amule.cpp:114
No locals.
(gdb)
Title: Re: SetDownloadLimit
Post by: Arathornz on May 07, 2004, 04:13:19 PM
i was running the firefox web browser for first time and the emule crashed.
here the bt..


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 995)]
0x403a799f in wxSocketBase::Destroy () from /usr/lib/libwx_gtk-2.4.so.0

(gdb) bt
#0 0x403a799f in wxSocketBase::Destroy () from /usr/lib/libwx_gtk-2.4.so.0
#1 0x080a64b8 in CClientReqSocket::Safe_Delete ()
#2 0x080b971f in CUpDownClient::TryToConnect ()
#3 0x08101145 in CUpDownClient::AskForDownload ()
#4 0x081c3784 in CPartFile::Process ()
#5 0x0811618b in CDownloadQueue::Process ()
#6 0x0822bd41 in TimerProc ()
#7 0x08234b09 in CamuleDlg::OnUQTimer ()
#8 0x40321af2 in wxEvtHandler::SearchEventTable ()
from /usr/lib/libwx_gtk-2.4.so.0
#9 0x40321961 in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_gtk-2.4.so.0
#10 0x403bd198 in wxTimerBase::Notify () from /usr/lib/libwx_gtk-2.4.so.0
#11 0x402d480d in timeout_callback () from /usr/lib/libwx_gtk-2.4.so.0
#12 0x407203fa in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
#13 0x4071f4d8 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
#14 0x4071fae3 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
#15 0x4071fc7c in g_main_run () from /usr/lib/libglib-1.2.so.0
#16 0x406407e7 in gtk_main () from /usr/lib/libgtk-1.2.so.0
#17 0x4028ba28 in wxApp::MainLoop () from /usr/lib/libwx_gtk-2.4.so.0
#18 0x402e3657 in wxAppBase::OnRun () from /usr/lib/libwx_gtk-2.4.so.0
#19 0x4028c359 in wxEntry () from /usr/lib/libwx_gtk-2.4.so.0
#20 0x0822ce10 in main ()
---Type to continue, or q to quit---
#21 0x411dd0bf in __libc_start_main () from /lib/libc.so.6
(gdb) bt full
#0 0x403a799f in wxSocketBase::Destroy () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#1 0x080a64b8 in CClientReqSocket::Safe_Delete ()
No symbol table info available.
#2 0x080b971f in CUpDownClient::TryToConnect ()
No symbol table info available.
#3 0x08101145 in CUpDownClient::AskForDownload ()
No symbol table info available.
#4 0x081c3784 in CPartFile::Process ()
No symbol table info available.
#5 0x0811618b in CDownloadQueue::Process ()
No symbol table info available.
#6 0x0822bd41 in TimerProc ()
No symbol table info available.
#7 0x08234b09 in CamuleDlg::OnUQTimer ()
No symbol table info available.
#8 0x40321af2 in wxEvtHandler::SearchEventTable ()
from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#9 0x40321961 in wxEvtHandler::ProcessEvent ()
from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#10 0x403bd198 in wxTimerBase::Notify () from /usr/lib/libwx_gtk-2.4.so.0
---Type to continue, or q to quit---
No symbol table info available.
#11 0x402d480d in timeout_callback () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#12 0x407203fa in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#13 0x4071f4d8 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#14 0x4071fae3 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#15 0x4071fc7c in g_main_run () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#16 0x406407e7 in gtk_main () from /usr/lib/libgtk-1.2.so.0
No symbol table info available.
#17 0x4028ba28 in wxApp::MainLoop () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#18 0x402e3657 in wxAppBase::OnRun () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#19 0x4028c359 in wxEntry () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#20 0x0822ce10 in main ()
No symbol table info available.
#21 0x411dd0bf in __libc_start_main () from /lib/libc.so.6
No symbol table info available.
(gdb)

Debian woody
Title: Re: SetDownloadLimit
Post by: phoenix on May 09, 2004, 02:29:42 AM
Arathornz, I think that your bt is something different from mine. Yours seems to be the so called random socket bug. Sa far as I can tell, we can't do much about that. Somehow the socket receives a random value, and when we try to destroy it, it blows.

Cheers!
Title: Re: SetDownloadLimit
Post by: Kry on May 09, 2004, 04:54:41 PM
same with your, phoenix. we try to call a function on a destroyed socket.
Title: Re: SetDownloadLimit
Post by: phoenix on May 09, 2004, 07:55:01 PM
You're right Kry, but in my bt, the socket is not random, it's zero. Ok zero can be random too :-) but the probability is low. This one seems to have never been created, since we do not assign a zero to dealocated sockets when they are in a list (from CTypedPtrList.h). While I was looking at it, I think that we have basically the same problem I have tried to fix with my previous patch. Maybe we should search the code for more for loop constructions like that. I'll do that now. By the way, it seems to be working.

Cheers!

Code: [Select]
--- PartFile.cpp.old    2004-05-08 23:17:55.000000000 -0300
+++ PartFile.cpp        2004-05-09 14:50:00.000000000 -0300
@@ -1671,9 +1671,8 @@
 #endif

        if (m_icounter < 10) {
-               for(POSITION pos = m_downloadingSourcesList.GetHeadPosition();pos!=0;)
-               {
-                       cur_src = m_downloadingSourcesList.GetNext(pos);
+               for (POSITION pos = m_downloadingSourcesList.GetHeadPosition(); pos != 0; pos = m_downloadingSourcesList.NextAt(pos)) {
+                       cur_src = m_downloadingSourcesList.GetAt(pos);
                        if(cur_src && (cur_src->GetDownloadState() == DS_DOWNLOADING))
                        {
                                wxASSERT( cur_src->socket );
@@ -2020,8 +2019,8 @@

        for(int sl=0; sl                if (!srclists[sl].IsEmpty()) {
-                       for (POSITION pos = srclists[sl].GetHeadPosition(); pos != 0; ) {
-                               cur_src = srclists[sl].GetNext(pos);
+                       for (POSITION pos = srclists[sl].GetHeadPosition(); pos != 0; pos = srclists[sl].NextAt(pos)) {
+                               cur_src = srclists[sl].GetAt(pos);
                                for (uint16 i = 0; i < partcount; i++)  {
                                        if (cur_src->IsPartAvailable(i)) {
                                                m_SrcpartFrequency[i] +=1;

Title: Re: SetDownloadLimit
Post by: phoenix on May 09, 2004, 08:34:02 PM
Can someone please enlighten me? Why is there a POS2 in this code? PartFile.cpp is full of these for loop constructs, and unless I'm missing something, what is quite possible :-), is there a reason to sistematically skip the head of all lists while iterating them? Isn't pos2 equal to pos1 inside the scope of the loop?

Cheers!

Code: [Select]
int CPartFile::GetValidSourcesCount()
{
int counter=0;
POSITION pos1,pos2;
for (int sl=0;sl for (pos1 = srclists[sl].GetHeadPosition();( pos2 = pos1 ) != NULL;){
srclists[sl].GetNext(pos1);
CUpDownClient* cur_src = srclists[sl].GetAt(pos2);
if (cur_src->GetDownloadState()!=DS_ONQUEUE && cur_src->GetDownloadState()!=DS_DOWNLOADING && cur_src->GetDownloadState()!=DS_NONEEDEDPARTS) {
counter++;
}
}
}
return counter;
}
Title: Re: SetDownloadLimit
Post by: phoenix on May 09, 2004, 08:37:59 PM
BTW, I bumped into this one, which seems to be related to the iterator stuff too. Please, could one of the developers, answer my last question (previous post), I would not like to waste time substituting the for loop constructs if I'm missign something.

Cheers!
Code: [Select]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1084825472 (LWP 31547)]
0x0814ac3e in CEMSocket::IsConnected() (this=0x0) at EMSocket.h:51
51              bool    IsConnected() { return byConnected==ES_CONNECTED;};
(gdb) bt
#0  0x0814ac3e in CEMSocket::IsConnected() (this=0x0) at EMSocket.h:51
#1  0x0814a35b in CEMSocket::SendPacket(Packet*, bool, bool) (this=0x0, packet=0x93940c0, delpacket=true,
    controlpacket=true) at EMSocket.cpp:332
#2  0x0817d0b5 in CUpDownClient::CalculateKBpsDown() (this=0x975aa10) at DownloadClient.cpp:1042
#3  0x08229e11 in CPartFile::Process(unsigned, unsigned char) (this=0x9455008, reducedownload=200,
    m_icounter=10 '\n') at PartFile.cpp:1721
#4  0x0818cffc in CDownloadQueue::Process() (this=0x9340f60) at DownloadQueue.cpp:376
#5  0x0828c9e2 in TimerProc() () at UploadQueue.cpp:704
#6  0x08295621 in CamuleDlg::OnUQTimer(wxTimerEvent&) (this=0x9068478) at amuleDlg.cpp:344
#7  0x003b6e62 in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) () from /usr/lib/libwx_gtk-2.4.so.0
#8  0x003b6c8f in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_gtk-2.4.so.0
#9  0x00442867 in wxTimerBase::Notify() () from /usr/lib/libwx_gtk-2.4.so.0
#10 0x0035f96c in timeout_callback () from /usr/lib/libwx_gtk-2.4.so.0
#11 0x007d03a5 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
#12 0x007cf35b in g_get_current_time () from /usr/lib/libglib-1.2.so.0
#13 0x007cf846 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
#14 0x007cfaf4 in g_main_run () from /usr/lib/libglib-1.2.so.0
#15 0x0064c6af in gtk_main () from /usr/lib/libgtk-1.2.so.0
#16 0x0031b9f2 in wxApp::MainLoop() () from /usr/lib/libwx_gtk-2.4.so.0
#17 0x0036d610 in wxAppBase::OnRun() () from /usr/lib/libwx_gtk-2.4.so.0
#18 0x0031c0cd in wxEntry(int, char**) () from /usr/lib/libwx_gtk-2.4.so.0
#19 0x0828e236 in main (argc=1, argv=0xbfecd614) at amule.cpp:114
(gdb) bt full
#0  0x0814ac3e in CEMSocket::IsConnected() (this=0x0) at EMSocket.h:51
No locals.
#1  0x0814a35b in CEMSocket::SendPacket(Packet*, bool, bool) (this=0x0, packet=0x93940c0, delpacket=true,
    controlpacket=true) at EMSocket.cpp:332
        bCheckControlQueue = 8
#2  0x0817d0b5 in CUpDownClient::CalculateKBpsDown() (this=0x975aa10) at DownloadClient.cpp:1042
        packet = (Packet *) 0x93940c0
        tcLoop = 0.100000001
        tcInit = 0.400000006
        tcFinal = 50
        tcReduce = 5
        fInit = 0.25
        fFinal = 0.00200000009
        fReduce = 0.907940686
        msCur = 1761393325
#3  0x08229e11 in CPartFile::Process(unsigned, unsigned char) (this=0x9455008, reducedownload=200,
    m_icounter=10 '\n') at PartFile.cpp:1721
        kBpsClient = 4.60728123e-34
        download_state = 0 '\0'
        sl = 98
        pos1 = 0x0
        pos2 = 0x94e7be8
        old_trans = 0
        cur_src = (CUpDownClient *) 0x975aa10
        dwCurTick = 1761393325
#4  0x0818cffc in CDownloadQueue::Process() (this=0x9340f60) at DownloadQueue.cpp:376
        cur_file = (class CPartFile *) 0x9455008
        i = 12
        size = 148
        downspeed = 200
#5  0x0828c9e2 in TimerProc() () at UploadQueue.cpp:704
        msPrev1 = 440323
        msPrev5 = 435473
        msPrevGraph = 0
        msPrevStats = 0
        msPrevSave = 420513
        msPrevHist = 440000
        msCur = 440453
        bStatsVisible = 191
        msGraphUpdate = 151830712
        sStatsUpdate = 151289816
#6  0x08295621 in CamuleDlg::OnUQTimer(wxTimerEvent&) (this=0x9068478) at amuleDlg.cpp:344
No locals.
#7  0x003b6e62 in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#8  0x003b6c8f in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#9  0x00442867 in wxTimerBase::Notify() () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#10 0x0035f96c in timeout_callback () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#11 0x007d03a5 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#12 0x007cf35b in g_get_current_time () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#13 0x007cf846 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#14 0x007cfaf4 in g_main_run () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#15 0x0064c6af in gtk_main () from /usr/lib/libgtk-1.2.so.0
No symbol table info available.
#16 0x0031b9f2 in wxApp::MainLoop() () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#17 0x0036d610 in wxAppBase::OnRun() () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#18 0x0031c0cd in wxEntry(int, char**) () from /usr/lib/libwx_gtk-2.4.so.0
No symbol table info available.
#19 0x0828e236 in main (argc=1, argv=0xbfecd614) at amule.cpp:114
No locals.
(gdb)
Title: Re: SetDownloadLimit
Post by: d0lby on May 10, 2004, 01:23:41 AM
Hi - my post from the *wrong* forum - *whoops!* - seems like I have the same crash....

Hi, amule is crashing for me quite regularly without me even touching it.... This is one of the types of crash, there's also another one which I'll post when it happens again....
How do I get the symbol table info to show?

Code: [Select]
Program received signal SIGSEGV, Segmentation fault.
0x08129e4d in CEMSocket::SetDownloadLimit(unsigned) ()
(gdb) bt
#0  0x08129e4d in CEMSocket::SetDownloadLimit(unsigned) ()
#1  0x081d76b3 in CPartFile::Process(unsigned, unsigned char) ()
#2  0x08160bc6 in CDownloadQueue::Process() ()
#3  0x08225f8e in TimerProc() ()
#4  0x402e7767 in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) ()
   from /usr/lib/libwx_gtk-2.4.so
#5  0x402e75a0 in wxEvtHandler::ProcessEvent(wxEvent&) ()
   from /usr/lib/libwx_gtk-2.4.so
#6  0x4038aaae in wxTimerBase::Notify() () from /usr/lib/libwx_gtk-2.4.so
#7  0x40298c2d in timeout_callback () from /usr/lib/libwx_gtk-2.4.so
#8  0x40686565 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
#9  0x0882fa70 in ?? ()
#10 0x40697248 in ?? () from /usr/lib/libglib-1.2.so.0
Code: [Select]
(gdb) bt full
#0  0x08129e4d in CEMSocket::SetDownloadLimit(unsigned) ()
No symbol table info available.
#1  0x081d76b3 in CPartFile::Process(unsigned, unsigned char) ()
No symbol table info available.
#2  0x08160bc6 in CDownloadQueue::Process() ()
No symbol table info available.
#3  0x08225f8e in TimerProc() ()
No symbol table info available.
#4  0x402e7767 in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) ()
   from /usr/lib/libwx_gtk-2.4.so
No symbol table info available.
#5  0x402e75a0 in wxEvtHandler::ProcessEvent(wxEvent&) ()
   from /usr/lib/libwx_gtk-2.4.so
No symbol table info available.
#6  0x4038aaae in wxTimerBase::Notify() () from /usr/lib/libwx_gtk-2.4.so
No symbol table info available.
#7  0x40298c2d in timeout_callback () from /usr/lib/libwx_gtk-2.4.so
No symbol table info available.
#8  0x40686565 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#9  0x0882fa70 in ?? ()
No symbol table info available.
#10 0x40697248 in ?? () from /usr/lib/libglib-1.2.so.0
---Type to continue, or q to quit---
No symbol table info available.

Code: [Select]
(gdb) continue
Continuing.

OOPS! - Seems like aMule crashed
--== BACKTRACE FOLLOWS: ==--

[0] /usr/bin/amule(_ZN9CamuleApp16OnFatalExceptionEv+0x40) [0x822aa80]
[1] /lib/libc.so.6 [0x40a59728]

Program received signal SIGABRT, Aborted.
0x40a597f1 in kill () from /lib/libc.so.6
(gdb) continue
Continuing.

Program terminated with signal SIGABRT, Aborted.
The program no longer exists.
(gdb)