aMule Forum
English => Backtraces => Topic started by: nich on June 24, 2004, 12:05:23 AM
-
A few days old cvs, but a bt nevertheless:
Go, gdb, go!
The error:
[...]
Program received signal SIGSEGV, Segmentation fault.
0x08139212 in CUpDownClient::GetRequestFile() const (this=0x0) at updownclient.h:293
293 CPartFile* GetRequestFile() const { return m_reqfile; }
bt:(gdb) bt
#0 0x08139212 in CUpDownClient::GetRequestFile() const (this=0x0) at updownclient.h:293
#1 0x0812fda0 in CClientReqSocket::ProcessPacket(char const*, unsigned, unsigned char) (this=0x8bc9210, packet=0x8c23630 "\034Ô´@\200\230Å\b%d\003ñxGMó`V\224", size=6584,
opcode=70 'F') at ListenSocket.cpp:657
#2 0x081372bc in CClientReqSocket::PacketReceived(Packet*) (this=0x8bc9210, packet=0x8c5a428) at ListenSocket.cpp:1794
#3 0x0813b138 in CEMSocket::OnReceive(int) (this=0x8bc9210, nErrorCode=0) at EMSocket.cpp:261
#4 0x0813743d in CClientReqSocket::OnReceive(int) (this=0x8bc9210, nErrorCode=0) at ListenSocket.cpp:1822
#5 0x0813b1ff in CEMSocket::SetDownloadLimit(unsigned) (this=0x8bc9210, limit=1789) at EMSocket.cpp:286
#6 0x08221e09 in CPartFile::Process(unsigned, unsigned char) (this=0x8b8e2f0, reducedownload=115, m_icounter=7 '\a') at PartFile.cpp:1598
#7 0x0817df8f in CDownloadQueue::Process() (this=0x87f65e8) at DownloadQueue.cpp:375
#8 0x0828fa60 in CamuleApp::OnCoreTimer(wxTimerEvent&) (this=0x85fe7b0) at amule.cpp:1709
#9 0x402e9767 in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) () from /usr/lib/libwx_gtk-2.4.so
#10 0x402e95a0 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_gtk-2.4.so
#11 0x4038caae in wxTimerBase::Notify() () from /usr/lib/libwx_gtk-2.4.so
#12 0x4029ac2d in timeout_callback () from /usr/lib/libwx_gtk-2.4.so
#13 0x4067b565 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
#14 0x0860aee0 in ?? ()
#15 0x4068c248 in ?? () from /usr/lib/libglib-1.2.so.0
bt full:(gdb) bt full
#0 0x08139212 in CUpDownClient::GetRequestFile() const (this=0x0) at updownclient.h:293
No locals.
#1 0x0812fda0 in CClientReqSocket::ProcessPacket(char const*, unsigned, unsigned char) (this=0x8bc9210, packet=0x8c23630 "\034Ô´@\200\230Å\b%d\003ñxGMó`V\224", size=6584,
opcode=70 'F') at ListenSocket.cpp:657
No locals.
#2 0x081372bc in CClientReqSocket::PacketReceived(Packet*) (this=0x8bc9210, packet=0x8c5a428) at ListenSocket.cpp:1794
bResult = 64
uRawSize = 6584
#3 0x0813b138 in CEMSocket::OnReceive(int) (this=0x8bc9210, nErrorCode=0) at EMSocket.cpp:261
bPacketResult = 8
toCopy = 1707
GlobalReadBuffer = "\000\000\000\000Yq \226o³<ùÂhó\204ºÿ\177´¾@°Þ¶ö\223\211\032©\021\t&Ïß\237?\203\232XÂ¥]+\030Z\216´âS,QU%\021H\b\034I!e\001à@,¾É\035û[¤:\r^\023\235\\\026ïeåÍ\206\211²KqÇ'\n·)\000)5\211ÄÓ\237}\034C\000_\233½×\235\205táãêÃÒÃO§ñ=¹£Û\223ï\v\025óíGË\003Ïÿê\027ÿ³üÓÕ\207¾Ù}\221_®ivÌ®ÌÿôýÞÌ\214ã9ùzî?\221Ï\227Ó¹3\177}rµ\005ô\207¾&bÚ»om\233*\237I\\ÚÏqwsE\237ï"...
readMax = 1789
ret = 1789
rptr = 0x83d63cb "ã\211\r"
rend = 0x83d641d "Ûûx2\213?&\236,àrüáJõ«CÇ\001ûõÕNÿÈ\003\001àk\vKÚc"
#4 0x0813743d in CClientReqSocket::OnReceive(int) (this=0x8bc9210, nErrorCode=0) at ListenSocket.cpp:1822
No locals.
#5 0x0813b1ff in CEMSocket::SetDownloadLimit(unsigned) (this=0x8bc9210, limit=1789) at EMSocket.cpp:286
No locals.
#6 0x08221e09 in CPartFile::Process(unsigned, unsigned char) (this=0x8b8e2f0, reducedownload=115, m_icounter=7 '\a') at PartFile.cpp:1598
limit = 1789
kBpsClient = 15.5575266
cur_src = (CUpDownClient *) 0x8bc8498
it = {<_List_iterator_base> = {_M_node = 0x873e468}, }
old_trans = 1
dwCurTick = 1400531190
#7 0x0817df8f in CDownloadQueue::Process() (this=0x87f65e8) at DownloadQueue.cpp:375
cur_file = (class CPartFile *) 0x8b8e2f0
i = 4
size = 6
downspeed = 115
#8 0x0828fa60 in CamuleApp::OnCoreTimer(wxTimerEvent&) (this=0x85fe7b0) at amule.cpp:1709
msPrev1 = 202511
msPrev5 = 202019
msPrevSave = 180115
msCur = 203416
#9 0x402e9767 in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) () from /usr/lib/libwx_gtk-2.4.so
No symbol table info available.
#10 0x402e95a0 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_gtk-2.4.so
No symbol table info available.
#11 0x4038caae in wxTimerBase::Notify() () from /usr/lib/libwx_gtk-2.4.so
No symbol table info available.
#12 0x4029ac2d in timeout_callback () from /usr/lib/libwx_gtk-2.4.so
No symbol table info available.
#13 0x4067b565 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#14 0x0860aee0 in ?? ()
No symbol table info available.
#15 0x4068c248 in ?? () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
So. Anything new? :rolleyes:
-
Updated to a 3 days newer cvs and got this: (seems to be the same for me)
Crashing:Program received signal SIGSEGV, Segmentation fault.
0x0813b332 in CUpDownClient::GetRequestFile() const (this=0x0) at updownclient.h:293
293 CPartFile* GetRequestFile() const { return m_reqfile; }
bt:(gdb) bt
#0 0x0813b332 in CUpDownClient::GetRequestFile() const (this=0x0) at updownclient.h:293
#1 0x08131d60 in CClientReqSocket::ProcessPacket(char const*, unsigned, unsigned char) (this=0x8bd8708, packet=0x8cf8cd8 "hDË\b\f×´@%d\003ñxGMó@7Ê\"", size=2264,
opcode=70 'F') at ListenSocket.cpp:657
#2 0x0813938c in CClientReqSocket::PacketReceived(Packet*) (this=0x8bd8708, packet=0x8dbec18) at ListenSocket.cpp:1787
#3 0x0813d26c in CEMSocket::OnReceive(int) (this=0x8bd8708, nErrorCode=0) at EMSocket.cpp:261
#4 0x0813950d in CClientReqSocket::OnReceive(int) (this=0x8bd8708, nErrorCode=0) at ListenSocket.cpp:1815
#5 0x0813d333 in CEMSocket::SetDownloadLimit(unsigned) (this=0x8bd8708, limit=1786) at EMSocket.cpp:286
#6 0x08226b1c in CPartFile::Process(unsigned, unsigned char) (this=0x8b95b90, reducedownload=122, m_icounter=8 '\b') at PartFile.cpp:1598
#7 0x0818145f in CDownloadQueue::Process() (this=0x87fc5c0) at DownloadQueue.cpp:375
#8 0x08294df0 in CamuleApp::OnCoreTimer(wxTimerEvent&) (this=0x8604790) at amule.cpp:1709
#9 0x402e9767 in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) () from /usr/lib/libwx_gtk-2.4.so
#10 0x402e95a0 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_gtk-2.4.so
#11 0x4038caae in wxTimerBase::Notify() () from /usr/lib/libwx_gtk-2.4.so
#12 0x4029ac2d in timeout_callback () from /usr/lib/libwx_gtk-2.4.so
#13 0x4067b565 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
#14 0x08610ec0 in ?? ()
#15 0x4068c248 in ?? () from /usr/lib/libglib-1.2.so.0
bt full:(gdb) bt full
#0 0x0813b332 in CUpDownClient::GetRequestFile() const (this=0x0) at updownclient.h:293
No locals.
#1 0x08131d60 in CClientReqSocket::ProcessPacket(char const*, unsigned, unsigned char) (this=0x8bd8708, packet=0x8cf8cd8 "hDË\b\f×´@%d\003ñxGMó@7Ê\"", size=2264,
opcode=70 'F') at ListenSocket.cpp:657
No locals.
#2 0x0813938c in CClientReqSocket::PacketReceived(Packet*) (this=0x8bd8708, packet=0x8dbec18) at ListenSocket.cpp:1787
bResult = 64
uRawSize = 2264
#3 0x0813d26c in CEMSocket::OnReceive(int) (this=0x8bd8708, nErrorCode=0) at EMSocket.cpp:261
bPacketResult = 64
toCopy = 57
GlobalReadBuffer = "\000\000\000\000ÆA$b\200\2004D0\211a÷\016w¬pÌÂK\2179ÑÎ}ðZÅ)\037\201\216Hå\004xKª\030p\024°ª§\004\005bH\030BhH.\237\223¦|¯Ó\212±\203¯.ô\fݧMÕA\202Îp\210\005ÀS\234^<ßa\223@l%ªÂסuG\034A¦£F\fuN\237\026þ\237\f½\201`\e\227A\202\230\210ïqÏ\0250\030ã½À?ôÁ\235·\207\227Wcp<{\231\017\221ã\203ÉÃÒ ×Sô\016xG\177§I\032\003_ЫźEöÉ\024Õ¤#PAÄ㢠`ç\207ÎWlq\005Þ\034ÿ\224\210\fÊ´\233Érͧ®"...
readMax = 1786
ret = 1786
rptr = 0x83dbe99 "\223¦|¯Ó\212±\203¯.ô\fݧMÕA\202Îp\210\005ÀS\234^<ßa\223@l%ªÂסuG\034A¦£F\fuN\237\026þ\237\f½\201`\e\227A\202\230\210ïqÏ\0250\030ã½À?ôÁ\235·\207\227Wcp<{\231\017\221ã\203ÉÃÒ ×Sô\016xG\177§I\032\003_ЫźEöÉ\024Õ¤#PAÄ㢠`ç\207ÎWlq\005Þ\034ÿ\224\210\fÊ´\233Érͧ®\2317\213¼8kª\003z\026\220c\0245è*HÙ»HÒ5\236\"\f$g³Ãi!C«uÀïÃÐôK\036ý\\¿ÆÃ\206²t\211\230\035\016²Õë*"...
rend = 0x83dc55a "\005c\bé³#Àj\235?\223{Ì\025F÷\237Ø\217\204Ô©4kÊ^&«Ë\237\031oxpEiY54\001n\v]½ðóñL%u>\006É\0040o(\202\bø\tø$\fª.U\e/bÖ^\204AI\212\214P\037D?\177GmË$\017V\004Ñ%$\003mhZ\006Å\"0\a§\020¬\201Ú¤>¡0H`~ÐýTeª\216\"&87ætðä\031\206´\riñ=pÇáÁÙ¨à\v\v¤àÌ)\213\\\031\236"
#4 0x0813950d in CClientReqSocket::OnReceive(int) (this=0x8bd8708, nErrorCode=0) at ListenSocket.cpp:1815
No locals.
#5 0x0813d333 in CEMSocket::SetDownloadLimit(unsigned) (this=0x8bd8708, limit=1786) at EMSocket.cpp:286
No locals.
#6 0x08226b1c in CPartFile::Process(unsigned, unsigned char) (this=0x8b95b90, reducedownload=122, m_icounter=8 '\b') at PartFile.cpp:1598
limit = 1786
kBpsClient = 14.6402483
cur_src = (CUpDownClient *) 0x8bd5ab0
it = {<_List_iterator_base> = {_M_node = 0x8744440}, }
old_trans = 1
dwCurTick = 1408473696
#7 0x0818145f in CDownloadQueue::Process() (this=0x87fc5c0) at DownloadQueue.cpp:375
cur_file = (class CPartFile *) 0x8b95b90
i = 4
size = 6
downspeed = 122
#8 0x08294df0 in CamuleApp::OnCoreTimer(wxTimerEvent&) (this=0x8604790) at amule.cpp:1709
msPrev1 = 1346024
msPrev5 = 1343384
msPrevSave = 1321257
msCur = 1346114
#9 0x402e9767 in wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&) () from /usr/lib/libwx_gtk-2.4.so
No symbol table info available.
#10 0x402e95a0 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_gtk-2.4.so
No symbol table info available.
#11 0x4038caae in wxTimerBase::Notify() () from /usr/lib/libwx_gtk-2.4.so
No symbol table info available.
#12 0x4029ac2d in timeout_callback () from /usr/lib/libwx_gtk-2.4.so
No symbol table info available.
#13 0x4067b565 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#14 0x08610ec0 in ?? ()
No symbol table info available.
#15 0x4068c248 in ?? () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
At least the new icons were worth the upgrade. :P
-
Now, this time it's cvs 20040626 and wx 2.5.1 (all the others were with wx 2.4.2):
Crashing:Program received signal SIGSEGV, Segmentation fault.
0x0813ef5c in CUpDownClient::GetRequestFile() const (this=0x0) at updownclient.h:292
292 CPartFile* GetRequestFile() const { return m_reqfile; }
bt:(gdb) bt
#0 0x0813ef5c in CUpDownClient::GetRequestFile() const (this=0x0) at updownclient.h:292
#1 0x0813596a in CClientReqSocket::ProcessPacket(char const*, unsigned, unsigned char) (this=0x8c98ed8, packet=0x8c80ff8 "\204×¾@ áÝ\bµî~\006gEoÒ", size=7704, opcode=70 'F')
at ListenSocket.cpp:657
#2 0x0813ceee in CClientReqSocket::PacketReceived(Packet*) (this=0x8c98ed8, packet=0x8c83840) at ListenSocket.cpp:1787
#3 0x08140eb4 in CEMSocket::OnReceive(int) (this=0x8c98ed8, nErrorCode=0) at EMSocket.cpp:261
#4 0x0813d067 in CClientReqSocket::OnReceive(int) (this=0x8c98ed8, nErrorCode=0) at ListenSocket.cpp:1815
#5 0x08140f7b in CEMSocket::SetDownloadLimit(unsigned) (this=0x8c98ed8, limit=1711) at EMSocket.cpp:286
#6 0x08228f26 in CPartFile::Process(unsigned, unsigned char) (this=0x8bdbde0, reducedownload=159, m_icounter=10 '\n') at PartFile.cpp:1632
#7 0x081855fd in CDownloadQueue::Process() (this=0x8813a68) at DownloadQueue.cpp:372
#8 0x08296aa2 in CamuleApp::OnCoreTimer(wxTimerEvent&) (this=0x85d7ae0) at amule.cpp:1710
#9 0x4049cee7 in wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const () from /home/nich/arquivos/programas/libs/lib/libwx_base-2.5.so.1
#10 0x405353e0 in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /home/nich/arquivos/programas/libs/lib/libwx_base-2.5.so.1
#11 0x4053487f in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /home/nich/arquivos/programas/libs/lib/libwx_base-2.5.so.1
#12 0x4053557d in wxEvtHandler::ProcessEvent(wxEvent&) () from /home/nich/arquivos/programas/libs/lib/libwx_base-2.5.so.1
#13 0x40341927 in wxTimerBase::Notify() () from /home/nich/arquivos/programas/libs/lib/libwx_gtk_core-2.5.so.1
#14 0x4024661d in timeout_callback () from /home/nich/arquivos/programas/libs/lib/libwx_gtk_core-2.5.so.1
#15 0x4071b565 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
#16 0x086202e0 in ?? ()
#17 0x4072c248 in ?? () from /usr/lib/libglib-1.2.so.0
bt full:(gdb) bt full
#0 0x0813ef5c in CUpDownClient::GetRequestFile() const (this=0x0) at updownclient.h:292
No locals.
#1 0x0813596a in CClientReqSocket::ProcessPacket(char const*, unsigned, unsigned char) (this=0x8c98ed8, packet=0x8c80ff8 "\204×¾@ áÝ\bµî~\006gEoÒ", size=7704, opcode=70 'F')
at ListenSocket.cpp:657
No locals.
#2 0x0813ceee in CClientReqSocket::PacketReceived(Packet*) (this=0x8c98ed8, packet=0x8c83840) at ListenSocket.cpp:1787
bResult = 8
uRawSize = 7704
#3 0x08140eb4 in CEMSocket::OnReceive(int) (this=0x8c98ed8, nErrorCode=0) at EMSocket.cpp:261
bPacketResult = 191
toCopy = 640
GlobalReadBuffer = "\000\000\000\000\035?\\\aÃ`\006\002\bô!\217\203òáÚ½ß(P\037lê\204ìKw\0164ÌÐ\200#\207éGS7z¤\0211\n_NC ½\003\215\026*R\224`p\212´L6\031u\b\206vöSÂ6\216\024\037\0030\2210\a\bÁ\nÐSDì«\226À6_¾Ú°\020ÌôP/\024©fþ©þݦÞ\031@¤¡Í}\n´,¶×\200áÁ\023®I)D\177H¨\032\177Q*rá*)\022ÓÅ]\e*Îj½\002D\001\215(0ÿg`\224>ÅQ\002±ì\020[¤±¬¥\2303>v«Ã\vÊð6\0231¯ê/m(Çýðà;ú¦\215\b*ý"...
readMax = 1711
ret = 1711
rptr = 0x83dd7c0 "\003\eu\0254WkÜÀ\200\222\222ýt ãÀAÜ\204\232Og/\036\030óÛ0\bv]¯\236vÐÜ)@Á\213³ó\204àm;³Þ-AÃçG¾©ç\225ól\225\020&\037NÛ-¨H>\222\201\026\177\n½\n\020½aèB\0045>\0050\217Ø\216Ë\v=\001\206\\ª`TXXzª!\b\e\"©VRõMó\234Ð_\212ØIÒöÛ\200T\214^Áp\216ÁdO\aÅýGö<\0377\201\205\023\v1\201Ä[«\233 {\017\v\005¡\204G$Å\234Ü»8\f"
rend = 0x83ddbef "`Å\210a\bºÝP:I\031Q\t ¼N`\031¦¨\035\003í\211iW\215võ{Ì\210¡0V£\206Gz=L¿Zû\035±e¥\207®®N\221Àe\fã´\211\"Jtîégï½Ð[s\030U\e\210btý)\034½\227\035#\203\037\177p\tþ\177¨\202Á¸\006xz\236ù0\226®\225ßt\223\005À>¿Íñµ àÎ\004£\204\200\206#§\a\002\232¦L6\212àÌ_¡Z±\030j\n¨ðQëÄ0zÀ6/\006\blE@Ì\227ïx\006ØTÏCu\034\t\203DªXÏ÷\226\"\e£%Þç°£:ð^\203|\020\023"
#4 0x0813d067 in CClientReqSocket::OnReceive(int) (this=0x8c98ed8, nErrorCode=0) at ListenSocket.cpp:1815
No locals.
#5 0x08140f7b in CEMSocket::SetDownloadLimit(unsigned) (this=0x8c98ed8, limit=1711) at EMSocket.cpp:286
No locals.
#6 0x08228f26 in CPartFile::Process(unsigned, unsigned char) (this=0x8bdbde0, reducedownload=159, m_icounter=10 '\n') at PartFile.cpp:1632
limit = 1711
kBpsClient = 10.7619791
download_state = 0 '\0'
it = {<_Rb_tree_base_iterator> = {_M_node = 0x8cac098}, }
cur_src = (CUpDownClient *) 0x8c994d8
old_trans = 1
dwCurTick = 1635006211
#7 0x081855fd in CDownloadQueue::Process() (this=0x8813a68) at DownloadQueue.cpp:372
cur_file = (class CPartFile *) 0x8bdbde0
i = 5
size = 6
downspeed = 159
#8 0x08296aa2 in CamuleApp::OnCoreTimer(wxTimerEvent&) (this=0x85d7ae0) at amule.cpp:1710
msPrev1 = 885145
msPrev5 = 882939
msPrevSave = 840555
msCur = 885646
#9 0x4049cee7 in wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const () from /home/nich/arquivos/programas/libs/lib/libwx_base-2.5.so.1
No symbol table info available.
#10 0x405353e0 in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /home/nich/arquivos/programas/libs/lib/libwx_base-2.5.so.1
No symbol table info available.
#11 0x4053487f in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /home/nich/arquivos/programas/libs/lib/libwx_base-2.5.so.1
No symbol table info available.
#12 0x4053557d in wxEvtHandler::ProcessEvent(wxEvent&) () from /home/nich/arquivos/programas/libs/lib/libwx_base-2.5.so.1
No symbol table info available.
#13 0x40341927 in wxTimerBase::Notify() () from /home/nich/arquivos/programas/libs/lib/libwx_gtk_core-2.5.so.1
No symbol table info available.
#14 0x4024661d in timeout_callback () from /home/nich/arquivos/programas/libs/lib/libwx_gtk_core-2.5.so.1
No symbol table info available.
#15 0x4071b565 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#16 0x086202e0 in ?? ()
No symbol table info available.
#17 0x4072c248 in ?? () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
I'd really like to know how to read this all properly, so I could help with anything...
-
Nich,
You have to have the source code. Choose a nice editor like vi or emacs, :) and start looking at the lines that the backtrace shows you. For example, the point of the crash is
#0 0x0813ef5c in CUpDownClient::GetRequestFile() const (this=0x0) at updownclient.h:292
Well, you can go to updownclient.h:292 but if this == 0, then we have to go up, because 'this' is already screwed.
#1 0x0813596a in CClientReqSocket::ProcessPacket(char const*, unsigned, unsigned char) (this=0x8c98ed8, packet=0x8c80ff8 "\204×¾@ áÝ\bµî~\006gEoÒ", size=7704, opcode=70 'F')
at ListenSocket.cpp:657
code:
656: client->ProcessBlockPacket(packet,size);
657: if (client->GetRequestFile()->IsStopped() || client->GetRequestFile()->GetStatus()==PS_PAUSED || client->GetRequestFile()->GetStatus()==PS_ERROR)
Well, GetRequestFile() has been called 3 times with client as 'this', and before that, client has already been used as 'this' without a crash. So, one of the function calls in this line or in the previous line, must be zeroing client. I haven't checked, I'm in a hurry now, but I suspect that the problem is in a call inside ProcessBlockPacket. Try to follow the line of flow of the program and certainly you will get to a client = NULL line.
We already know that issue, it is the main reason why rc4 is beeind delayed. We are planning a fix for this. Thank you very much for your cooperation!
Cheers!
-
Originally posted by phoenix
Nich,
You have to have the source code. Choose a nice editor like vi or emacs, :) and start looking at the lines that the backtrace shows you.[...]
Or nano. :P
Originally posted by phoenix
[...]We already know that issue, it is the main reason why rc4 is beeind delayed. We are planning a fix for this. Thank you very much for your cooperation!
Woops. So I guess I'm being a bit redundant in this case, ne? :]
I'll try to look for it, but don't expect much. If you people, who alreayd know the code (and are way more experienced coders than I am) haven't found so far, it's unlikely that I will. Though it'll be an interesting ocasion to try reading backtraces... :rolleyes:
-
I'll try to look for it, but don't expect much. If you people, who alreayd know the code (and are way more experienced coders than I am) haven't found so far, it's unlikely that I will. Though it'll be an interesting ocasion to try reading backtraces...
Nich,
Do that! The more eyes we have, the easier it gets.
Cheers!
-
Posting so people know it hasn't been solved yet and so I can have a copy I know where to find ^.^
20040725 cvs with wx 2.5.1:
Crashing:Program received signal SIGSEGV, Segmentation fault.
0x08145c66 in CUpDownClient::GetRequestFile() const (this=0x0) at updownclient.h:324
324 CPartFile* GetRequestFile() const { return m_reqfile; }
bt'ing:(gdb) bt
#0 0x08145c66 in CUpDownClient::GetRequestFile() const (this=0x0) at updownclient.h:324
#1 0x0813bd45 in CClientReqSocket::ProcessPacket(char const*, unsigned, unsigned char) (this=0x8c21fb0, packet=0x8c8abe0 "pT»\b\204\207Å@BÐkv\020I\210¾þÎ7\005", size=8474,
opcode=70 'F') at ListenSocket.cpp:666
#2 0x0814363b in CClientReqSocket::PacketReceived(Packet*) (this=0x8c21fb0, packet=0x8bbb360) at ListenSocket.cpp:1789
#3 0x08147b8c in CEMSocket::OnReceive(int) (this=0x8c21fb0, nErrorCode=0) at EMSocket.cpp:261
#4 0x0814385b in CClientReqSocket::OnReceive(int) (this=0x8c21fb0, nErrorCode=0) at ListenSocket.cpp:1817
#5 0x08147cc3 in CEMSocket::SetDownloadLimit(unsigned) (this=0x8c21fb0, limit=1786) at EMSocket.cpp:286
#6 0x0815a6a0 in CUpDownClient::SetDownloadLimit(unsigned) (this=0x8b19f18, limit=1786) at BaseClient.cpp:2238
#7 0x0823dfd8 in CPartFile::Process(unsigned, unsigned char) (this=0x8a3f3f8, reducedownload=148, m_icounter=3 '\003') at PartFile.cpp:1560
#8 0x08197085 in CDownloadQueue::Process() (this=0x8888f10) at DownloadQueue.cpp:381
#9 0x082b2712 in CamuleApp::OnCoreTimer(wxTimerEvent&) (this=0x85febe0) at amule.cpp:1689
#10 0x404f548a in wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const (this=0x85febe0, handler=0x85febe0, func=
{__pfn = 0x82b26ba , __delta = 0}, event=@0xbffff1e0) at src/common/appbase.cpp:288
#11 0x4059149f in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (entry=@0x85ef738, handler=0x85febe0, event=@0xbffff1e0)
at src/common/event.cpp:1169
#12 0x405904e0 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (this=0x85ef694, event=@0xbffff1e0, self=0x85febe0) at src/common/event.cpp:837
#13 0x405916b8 in wxEvtHandler::ProcessEvent(wxEvent&) (this=0x85febe0, event=@0xbffff1e0) at src/common/event.cpp:1231
#14 0x40378b2b in wxTimerBase::Notify() (this=0x8647860) at src/common/timercmn.cpp:60
#15 0x40276a98 in timeout_callback (data=0x8647860) at src/gtk/timer.cpp:47
#16 0x40786565 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
#17 0x08647860 in ?? ()
#18 0x40797248 in ?? () from /usr/lib/libglib-1.2.so.0
full bt'ing:(gdb) bt full
#0 0x08145c66 in CUpDownClient::GetRequestFile() const (this=0x0) at updownclient.h:324
No locals.
#1 0x0813bd45 in CClientReqSocket::ProcessPacket(char const*, unsigned, unsigned char) (this=0x8c21fb0, packet=0x8c8abe0 "pT»\b\204\207Å@BÐkv\020I\210¾þÎ7\005", size=8474,
opcode=70 'F') at ListenSocket.cpp:666
No locals.
#2 0x0814363b in CClientReqSocket::PacketReceived(Packet*) (this=0x8c21fb0, packet=0x8bbb360) at ListenSocket.cpp:1789
bResult = 64
uRawSize = 8474
#3 0x08147b8c in CEMSocket::OnReceive(int) (this=0x8c21fb0, nErrorCode=0) at EMSocket.cpp:261
bPacketResult = 8
toCopy = 1571
GlobalReadBuffer = "A6$\003\0040o\204 f\204\225j\000Çûä\017\a\200\201\204H\a\200þÝO\0004|\f\214|:B\0318Ì\020`@4\001Ê¥ªÕy{\034\f\\\001Åà\034\f?ð\037\006\037\004\022à\202\n\211õ\003ø\227ßêSÀ\034ª\217\aò\177\227ÆÀS\212px\b\036Ä\225`\206$\217Çìÿõ\004ã\201à G\006\000À\201:\001ªý¹Á(\031+4\200\036\002\a\230ªü~\bLýZ\200a\2304Uï\027*T]á\030ºg\027f£y}\021\234>ñ°\212\001 readMax = 1786
ret = 1786
rptr = 0x8404ec3 "Ú\råeåÉ\202\b\a\003\016ÇÈùa\b<\004!f\001\204\205UBµU:\030Ð1KÁà ñ\006\022À8\030\024"
rend = 0x8404f9a "\036\002\fñø0\220\f\001ÀÂ@(Áà?Ë\006\004\020\200\020\024\003Â@&\020(0\037"
#4 0x0814385b in CClientReqSocket::OnReceive(int) (this=0x8c21fb0, nErrorCode=0) at ListenSocket.cpp:1817
No locals.
#5 0x08147cc3 in CEMSocket::SetDownloadLimit(unsigned) (this=0x8c21fb0, limit=1786) at EMSocket.cpp:286
No locals.
#6 0x0815a6a0 in CUpDownClient::SetDownloadLimit(unsigned) (this=0x8b19f18, limit=1786) at BaseClient.cpp:2238
No locals.
#7 0x0823dfd8 in CPartFile::Process(unsigned, unsigned char) (this=0x8a3f3f8, reducedownload=148, m_icounter=3 '\003') at PartFile.cpp:1560
limit = 1786
kBpsClient = 12.0703001
cur_src = (CUpDownClient *) 0x8b19f18
it = {<_List_iterator_base> = {_M_node = 0x8a1a6b0}, }
old_trans = 1
dwCurTick = 4182302208
#8 0x08197085 in CDownloadQueue::Process() (this=0x8888f10) at DownloadQueue.cpp:381
cur_file = (class CPartFile *) 0x8a3f3f8
i = 3
size = 12
downspeed = 148
#9 0x082b2712 in CamuleApp::OnCoreTimer(wxTimerEvent&) (this=0x85febe0) at amule.cpp:1689
msPrev1 = 35204511
msPrev5 = 35204616
msPrevSave = 35190185
msCur = 35204917
#10 0x404f548a in wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const (this=0x85febe0, handler=0x85febe0, func=
{__pfn = 0x82b26ba , __delta = 0}, event=@0xbffff1e0) at src/common/appbase.cpp:288
No locals.
#11 0x4059149f in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (entry=@0x85ef738, handler=0x85febe0, event=@0xbffff1e0)
at src/common/event.cpp:1169
tableId1 = 6127
tableId2 = -1
#12 0x405904e0 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (this=0x85ef694, event=@0xbffff1e0, self=0x85febe0) at src/common/event.cpp:837
n = 2
eventEntryTable = (const wxEventTableEntryPointerArray &) @0x8649934: { = {m_nSize = 3, m_nCount = 3, m_pItems = 0x8649978}, }
count = 3
eventType = 10082
eTTnode = (EventTypeTable * const) 0x8649930
#13 0x405916b8 in wxEvtHandler::ProcessEvent(wxEvent&) (this=0x85febe0, event=@0xbffff1e0) at src/common/event.cpp:1231
No locals.
#14 0x40378b2b in wxTimerBase::Notify() (this=0x8647860) at src/common/timercmn.cpp:60
event = { = { = {_vptr.wxObject = 0x84033a0, static ms_classInfo = {m_className = 0x4059e86d "wxObject", m_objectSize = 8, m_objectConstructor = 0,
m_baseInfo1 = 0x0, m_baseInfo2 = 0x0, static sm_first = 0x8404848, m_next = 0x405d52d0, static sm_classTable = 0x85f0060}, m_refData = 0x0}, m_eventObject = 0x0,
m_eventType = 10082, m_timeStamp = 0, m_id = 6127, m_callbackUserData = 0x0, m_propagationLevel = 0, m_skipped = false, m_isCommandEvent = false, static ms_classInfo = {
m_className = 0x405a39b7 "wxEvent", m_objectSize = 36, m_objectConstructor = 0, m_baseInfo1 = 0x405d5294, m_baseInfo2 = 0x0, static sm_first = 0x8404848,
m_next = 0x405d5528, static sm_classTable = 0x85f0060}}, m_interval = 100, static ms_classInfo = {m_className = 0x403dbf22 "wxTimerEvent", m_objectSize = 40,
m_objectConstructor = 0x40378944 , m_baseInfo1 = 0x405d5540, m_baseInfo2 = 0x0, static sm_first = 0x8404848, m_next = 0x40457ee8,
static sm_classTable = 0x85f0060}}
#15 0x40276a98 in timeout_callback (data=0x8647860) at src/gtk/timer.cpp:47
timer = (wxTimer *) 0x8647860
#16 0x40786565 in g_main_set_poll_func () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
#17 0x08647860 in ?? ()
No symbol table info available.
#18 0x40797248 in ?? () from /usr/lib/libglib-1.2.so.0
No symbol table info available.
Any ideas yet? I'm looking for something in the code, but no luck so far. Maybe the problem's in here and not in the code? (I doubt, though. -,-)
-
Hum, another type of RSB =/
I'll look into it.