Ok, it ran for a few hours in valgrind, and finaly aborted with a backtrace. Here is the result. There seems to be the use of variables previously free'd. I think that this one can give a clue of what is happening.
Ignore the conditional jump warnings, they are related to something inside wxWindows. Start looking at the first invalid read of size 1. This is due to the read of one byte, the field m_nDownloadState. This byte is inside a block of memory previouly free'd.
I'll have to repeat the test with more traceback from valgrind, but I think that it's clear that we are using a previously free'd variable. Maybe it has been forgotten to remove a deleted variable from a list?
Cheers, and have fun!
1: 1074380896 8738820
2: 1074388519 8738820
==29292==
==29292== Conditional jump or move depends on uninitialised value(s)
==29292== at 0x13EC5F: gtk_widget_event (in /usr/lib/libgtk-1.2.so.0.9.1)
==29292== by 0xD3C76B: wxWindow::GtkSendPaintEvents() (in /usr/lib/libwx_gtk-2.4.so.0.1.1)
==29292== by 0xD3C2A8: wxWindow::GtkUpdate() (in /usr/lib/libwx_gtk-2.4.so.0.1.1)
==29292== by 0xD3AF31: wxWindow::OnInternalIdle() (in /usr/lib/libwx_gtk-2.4.so.0.1.1)
Hashing thread timed out with no aditions - removing thread
==29292== valgrind's libpthread.so: KLUDGED call to: pthread_cond_destroy
==29292== valgrind's libpthread.so: KLUDGED call to: pthread_cond_destroy
Hashing thread ended
==29292==
==29292== Conditional jump or move depends on uninitialised value(s)
==29292== at 0x26DD6C: _tr_flush_block (in /usr/lib/libz.so.1.2.0.7)
==29292== by 0x26C56C: (within /usr/lib/libz.so.1.2.0.7)
==29292== by 0x26AFE7: deflate (in /usr/lib/libz.so.1.2.0.7)
==29292== by 0x2689D0: compress2 (in /usr/lib/libz.so.1.2.0.7)
==29292==
==29292== Conditional jump or move depends on uninitialised value(s)
==29292== at 0x26DD6C: _tr_flush_block (in /usr/lib/libz.so.1.2.0.7)
==29292== by 0x26C6D3: (within /usr/lib/libz.so.1.2.0.7)
==29292== by 0x26AFE7: deflate (in /usr/lib/libz.so.1.2.0.7)
==29292== by 0x2689D0: compress2 (in /usr/lib/libz.so.1.2.0.7)
==29292==
==29292== Conditional jump or move depends on uninitialised value(s)
==29292== at 0x26B8FF: (within /usr/lib/libz.so.1.2.0.7)
==29292== by 0x26C600: (within /usr/lib/libz.so.1.2.0.7)
==29292== by 0x26AFE7: deflate (in /usr/lib/libz.so.1.2.0.7)
==29292== by 0x2689D0: compress2 (in /usr/lib/libz.so.1.2.0.7)
==29292==
==29292== Conditional jump or move depends on uninitialised value(s)
==29292== at 0x26DD6C: _tr_flush_block (in /usr/lib/libz.so.1.2.0.7)
==29292== by 0x26C480: (within /usr/lib/libz.so.1.2.0.7)
==29292== by 0x26AFE7: deflate (in /usr/lib/libz.so.1.2.0.7)
==29292== by 0x2689D0: compress2 (in /usr/lib/libz.so.1.2.0.7)
==29292==
==29292== Invalid read of size 1
==29292== at 0x8148000: CUpDownClient::GetDownloadState() (updownclient.h:277)
==29292== by 0x817A3EF: CUpDownClient::IsSourceRequestAllowed() (DownloadClient.cpp:165)
==29292== by 0x817A56F: CUpDownClient::SendFileRequest() (DownloadClient.cpp:222)
==29292== by 0x8155DEF: CUpDownClient::ConnectionEstablished() (BaseClient.cpp:1297)
==29292== Address 0x4367FE46 is 382 bytes inside a block of size 572 free'd
==29292== at 0x62364C: __builtin_delete (vg_replace_malloc.c:244)
==29292== by 0x813F6EF: CClientReqSocket::Disconnect(CString) (ListenSocket.cpp:145)
==29292== by 0x81460C7: CClientReqSocket::OnError(int) (ListenSocket.cpp:1683)
==29292== by 0x82956FE: CamuleDlg::socketHandler(wxSocketEvent&) (amuleDlg.cpp:441)
==29292==
==29292== Invalid read of size 2
==29292== at 0x817E00D: CUpDownClient::IsPartAvailable(unsigned short) (updownclient.h:281)
==29292== by 0x822A9C8: CPartFile::UpdatePartsInfo() (PartFile.cpp:2026)
==29292== by 0x817B348: CUpDownClient::ProcessFileStatus(bool, CSafeMemFile*, CPartFile*) (DownloadClient.cpp:506)
==29292== by 0x814087E: CClientReqSocket::ProcessPacket(char*, unsigned, unsigned char) (ListenSocket.cpp:455)
==29292== Address 0x4367FE48 is 384 bytes inside a block of size 572 free'd
==29292== at 0x62364C: __builtin_delete (vg_replace_malloc.c:244)
==29292== by 0x813F6EF: CClientReqSocket::Disconnect(CString) (ListenSocket.cpp:145)
==29292== by 0x81460C7: CClientReqSocket::OnError(int) (ListenSocket.cpp:1683)
==29292== by 0x82956FE: CamuleDlg::socketHandler(wxSocketEvent&) (amuleDlg.cpp:441)
==29292==
==29292== Invalid read of size 4
==29292== at 0x817DF17: CUpDownClient::HasValidHash() (updownclient.h:158)
==29292== by 0x8179F01: CUpDownClient::Compare(CUpDownClient*, bool) (DownloadClient.cpp:108)
==29292== by 0x818D2A1: CDownloadQueue::CheckAndAddSource(CPartFile*, CUpDownClient*) (DownloadQueue.cpp:476)
==29292== by 0x822FAA6: CPartFile::AddClientSources(CMemFile*, unsigned char) (PartFile.cpp:3373)
==29292== Address 0x4367FD21 is not stack'd, malloc'd or free'd
==29292==
==29292== Invalid read of size 4
==29292== at 0x8147DF5: md4cmp(void const*, void const*) (otherfunctions.h:218)
==29292== by 0x8179F3D: CUpDownClient::Compare(CUpDownClient*, bool) (DownloadClient.cpp:109)
==29292== by 0x818D2A1: CDownloadQueue::CheckAndAddSource(CPartFile*, CUpDownClient*) (DownloadQueue.cpp:476)
==29292== by 0x822FAA6: CPartFile::AddClientSources(CMemFile*, unsigned char) (PartFile.cpp:3373)
==29292== Address 0x4367FD21 is not stack'd, malloc'd or free'd
==29292==
==29292== Invalid read of size 2
==29292== at 0x817E00D: CUpDownClient::IsPartAvailable(unsigned short) (updownclient.h:281)
==29292== by 0x822A9C8: CPartFile::UpdatePartsInfo() (PartFile.cpp:2026)
==29292== by 0x817B348: CUpDownClient::ProcessFileStatus(bool, CSafeMemFile*, CPartFile*) (DownloadClient.cpp:506)
==29292== by 0x8144C92: CClientReqSocket::ProcessExtPacket(char*, unsigned, unsigned char) (ListenSocket.cpp:1307)
==29292== Address 0x4367FE48 is not stack'd, malloc'd or free'd
==29292==
==29292== Invalid read of size 4
==29292== at 0x8147E07: md4cmp(void const*, void const*) (otherfunctions.h:218)
==29292== by 0x8179F3D: CUpDownClient::Compare(CUpDownClient*, bool) (DownloadClient.cpp:109)
==29292== by 0x818D2A1: CDownloadQueue::CheckAndAddSource(CPartFile*, CUpDownClient*) (DownloadQueue.cpp:476)
==29292== by 0x822FAA6: CPartFile::AddClientSources(CMemFile*, unsigned char) (PartFile.cpp:3373)
==29292== Address 0x4367FD25 is not stack'd, malloc'd or free'd
==29292==
==29292== Invalid read of size 4
==29292== at 0x8147E19: md4cmp(void const*, void const*) (otherfunctions.h:218)
==29292== by 0x8179F3D: CUpDownClient::Compare(CUpDownClient*, bool) (DownloadClient.cpp:109)
==29292== by 0x818D2A1: CDownloadQueue::CheckAndAddSource(CPartFile*, CUpDownClient*) (DownloadQueue.cpp:476)
==29292== by 0x822FAA6: CPartFile::AddClientSources(CMemFile*, unsigned char) (PartFile.cpp:3373)
==29292== Address 0x4367FD29 is not stack'd, malloc'd or free'd
==29292==
==29292== Invalid read of size 4
==29292== at 0x8147E2B: md4cmp(void const*, void const*) (otherfunctions.h:218)
==29292== by 0x8179F3D: CUpDownClient::Compare(CUpDownClient*, bool) (DownloadClient.cpp:109)
==29292== by 0x818D2A1: CDownloadQueue::CheckAndAddSource(CPartFile*, CUpDownClient*) (DownloadQueue.cpp:476)
==29292== by 0x822FAA6: CPartFile::AddClientSources(CMemFile*, unsigned char) (PartFile.cpp:3373)
==29292== Address 0x4367FD2D is not stack'd, malloc'd or free'd
==29292==
==29292== Invalid read of size 4
==29292== at 0x8147EC4: CUpDownClient::GetIP() (updownclient.h:146)
==29292== by 0x8174EFE: CClientUDPSocket::ProcessPacket(char*, unsigned short, unsigned char, char*, unsigned short) (ClientUDPSocket.cpp:180)
==29292== by 0x817473D: CClientUDPSocket::OnReceive(int) (ClientUDPSocket.cpp:92)
==29292== by 0x82958A0: CamuleDlg::socketHandler(wxSocketEvent&) (amuleDlg.cpp:493)
==29292== Address 0x4367FCEC is not stack'd, malloc'd or free'd
==29292==
==29292== Invalid read of size 1
==29292== at 0x8148000: CUpDownClient::GetDownloadState() (updownclient.h:277)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== by 0x828C725: TimerProc() (UploadQueue.cpp:704)
==29292== by 0x8295364: CamuleDlg::OnUQTimer(wxTimerEvent&) (amuleDlg.cpp:344)
==29292== Address 0x4367FE46 is 2 bytes after a block of size 36 free'd
==29292== at 0x62364C: __builtin_delete (vg_replace_malloc.c:244)
==29292== by 0x818961F: wxListItem::~wxListItem() (listbase.h:210)
==29292== by 0x81CEEDA: wxODListMainWindow::FindItem(long, long) (listctrl.cpp:4569)
==29292== by 0x81D0A34: wxODGenericListCtrl::FindItem(long, long) (listctrl.cpp:5278)
==29292==
==29292== Invalid read of size 4
==29292== at 0x8233574: CUpDownClient::GetLastAskedTime() (updownclient.h:279)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== by 0x828C725: TimerProc() (UploadQueue.cpp:704)
==29292== by 0x8295364: CamuleDlg::OnUQTimer(wxTimerEvent&) (amuleDlg.cpp:344)
==29292== Address 0x4367FE50 is 12 bytes after a block of size 36 free'd
==29292== at 0x62364C: __builtin_delete (vg_replace_malloc.c:244)
==29292== by 0x818961F: wxListItem::~wxListItem() (listbase.h:210)
==29292== by 0x81CEEDA: wxODListMainWindow::FindItem(long, long) (listctrl.cpp:4569)
==29292== by 0x81D0A34: wxODGenericListCtrl::FindItem(long, long) (listctrl.cpp:5278)
==29292==
==29292== Invalid write of size 1
==29292== at 0x817A148: CUpDownClient::AskForDownload() (DownloadClient.cpp:133)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== by 0x828C725: TimerProc() (UploadQueue.cpp:704)
==29292== Address 0x4367FE74 is 0 bytes inside a block of size 36 free'd
==29292== at 0x62364C: __builtin_delete (vg_replace_malloc.c:244)
==29292== by 0x818961F: wxListItem::~wxListItem() (listbase.h:210)
==29292== by 0x81CEEDA: wxODListMainWindow::FindItem(long, long) (listctrl.cpp:4569)
==29292== by 0x81D0A34: wxODGenericListCtrl::FindItem(long, long) (listctrl.cpp:5278)
==29292==
==29292== Invalid write of size 4
==29292== at 0x817A163: CUpDownClient::AskForDownload() (DownloadClient.cpp:134)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== by 0x828C725: TimerProc() (UploadQueue.cpp:704)
==29292== Address 0x4367FE50 is 12 bytes after a block of size 36 free'd
==29292== at 0x62364C: __builtin_delete (vg_replace_malloc.c:244)
==29292== by 0x818961F: wxListItem::~wxListItem() (listbase.h:210)
==29292== by 0x81CEEDA: wxODListMainWindow::FindItem(long, long) (listctrl.cpp:4569)
==29292== by 0x81D0A34: wxODGenericListCtrl::FindItem(long, long) (listctrl.cpp:5278)
==29292==
==29292== Invalid read of size 1
==29292== at 0x817B432: CUpDownClient::SetDownloadState(unsigned char) (DownloadClient.cpp:530)
==29292== by 0x817A175: CUpDownClient::AskForDownload() (DownloadClient.cpp:135)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== Address 0x4367FE46 is 2 bytes after a block of size 36 free'd
==29292== at 0x62364C: __builtin_delete (vg_replace_malloc.c:244)
==29292== by 0x818961F: wxListItem::~wxListItem() (listbase.h:210)
==29292== by 0x81CEEDA: wxODListMainWindow::FindItem(long, long) (listctrl.cpp:4569)
==29292== by 0x81D0A34: wxODGenericListCtrl::FindItem(long, long) (listctrl.cpp:5278)
==29292==
==29292== Invalid read of size 4
==29292== at 0x817B444: CUpDownClient::SetDownloadState(unsigned char) (DownloadClient.cpp:531)
==29292== by 0x817A175: CUpDownClient::AskForDownload() (DownloadClient.cpp:135)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== Address 0x4367FCE4 is 28 bytes inside a block of size 48 free'd
==29292== at 0x6235AC: free (vg_replace_malloc.c:231)
==29292== by 0xE0AB10: wxString::~wxString() (in /usr/lib/libwx_gtk-2.4.so.0.1.1)
==29292== by 0x817AE0C: CUpDownClient::ProcessFileInfo(CSafeMemFile*, CPartFile*) (DownloadClient.cpp:379)
==29292== by 0x8144C70: CClientReqSocket::ProcessExtPacket(char*, unsigned, unsigned char) (ListenSocket.cpp:1302)
==29292==
==29292== Invalid read of size 1
==29292== at 0x817B469: CUpDownClient::SetDownloadState(unsigned char) (DownloadClient.cpp:534)
==29292== by 0x817A175: CUpDownClient::AskForDownload() (DownloadClient.cpp:135)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== Address 0x4367FE46 is 2 bytes after a block of size 36 free'd
==29292== at 0x62364C: __builtin_delete (vg_replace_malloc.c:244)
==29292== by 0x818961F: wxListItem::~wxListItem() (listbase.h:210)
==29292== by 0x81CEEDA: wxODListMainWindow::FindItem(long, long) (listctrl.cpp:4569)
==29292== by 0x81D0A34: wxODGenericListCtrl::FindItem(long, long) (listctrl.cpp:5278)
==29292==
==29292== Invalid read of size 1
==29292== at 0x817B4B5: CUpDownClient::SetDownloadState(unsigned char) (DownloadClient.cpp:541)
==29292== by 0x817A175: CUpDownClient::AskForDownload() (DownloadClient.cpp:135)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== Address 0x4367FE46 is 2 bytes after a block of size 36 free'd
==29292== at 0x62364C: __builtin_delete (vg_replace_malloc.c:244)
==29292== by 0x818961F: wxListItem::~wxListItem() (listbase.h:210)
==29292== by 0x81CEEDA: wxODListMainWindow::FindItem(long, long) (listctrl.cpp:4569)
==29292== by 0x81D0A34: wxODGenericListCtrl::FindItem(long, long) (listctrl.cpp:5278)
==29292==
==29292== Invalid write of size 1
==29292== at 0x817B6F0: CUpDownClient::SetDownloadState(unsigned char) (DownloadClient.cpp:595)
==29292== by 0x817A175: CUpDownClient::AskForDownload() (DownloadClient.cpp:135)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== Address 0x4367FE46 is 2 bytes after a block of size 36 free'd
==29292== at 0x62364C: __builtin_delete (vg_replace_malloc.c:244)
==29292== by 0x818961F: wxListItem::~wxListItem() (listbase.h:210)
==29292== by 0x81CEEDA: wxODListMainWindow::FindItem(long, long) (listctrl.cpp:4569)
==29292== by 0x81D0A34: wxODGenericListCtrl::FindItem(long, long) (listctrl.cpp:5278)
==29292==
==29292== Invalid read of size 1
==29292== at 0x8148000: CUpDownClient::GetDownloadState() (updownclient.h:277)
==29292== by 0x817A175: CUpDownClient::AskForDownload() (DownloadClient.cpp:135)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== Address 0x4367FE46 is 2 bytes after a block of size 36 free'd
==29292== at 0x62364C: __builtin_delete (vg_replace_malloc.c:244)
==29292== by 0x818961F: wxListItem::~wxListItem() (listbase.h:210)
==29292== by 0x81CEEDA: wxODListMainWindow::FindItem(long, long) (listctrl.cpp:4569)
==29292== by 0x81D0A34: wxODGenericListCtrl::FindItem(long, long) (listctrl.cpp:5278)
==29292==
==29292== Invalid write of size 4
==29292== at 0x817D3B6: CUpDownClient::UpdateDisplayedInfo(bool) (DownloadClient.cpp:1198)
==29292== by 0x817B756: CUpDownClient::SetDownloadState(unsigned char) (DownloadClient.cpp:603)
==29292== by 0x817A175: CUpDownClient::AskForDownload() (DownloadClient.cpp:135)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== Address 0x4367FD98 is 36 bytes inside a block of size 37 alloc'd
==29292== at 0x6234AB: __builtin_vec_new (vg_replace_malloc.c:203)
==29292== by 0x817B0A3: CUpDownClient::ProcessFileStatus(bool, CSafeMemFile*, CPartFile*) (DownloadClient.cpp:433)
==29292== by 0x8144C92: CClientReqSocket::ProcessExtPacket(char*, unsigned, unsigned char) (ListenSocket.cpp:1307)
==29292== by 0x814626D: CClientReqSocket::PacketReceived(Packet*) (ListenSocket.cpp:1711)
==29292==
==29292== Invalid read of size 4
==29292== at 0x8158FD2: CUpDownClient::HasLowID() (updownclient.h:147)
==29292== by 0x817A185: CUpDownClient::AskForDownload() (DownloadClient.cpp:136)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== Address 0x4367FCF4 is 44 bytes inside a block of size 48 free'd
==29292== at 0x6235AC: free (vg_replace_malloc.c:231)
==29292== by 0xE0AB10: wxString::~wxString() (in /usr/lib/libwx_gtk-2.4.so.0.1.1)
==29292== by 0x817AE0C: CUpDownClient::ProcessFileInfo(CSafeMemFile*, CPartFile*) (DownloadClient.cpp:379)
==29292== by 0x8144C70: CClientReqSocket::ProcessExtPacket(char*, unsigned, unsigned char) (ListenSocket.cpp:1302)
==29292==
==29292== Invalid read of size 4
==29292== at 0x8155771: CUpDownClient::TryToConnect(bool) (BaseClient.cpp:1200)
==29292== by 0x817A185: CUpDownClient::AskForDownload() (DownloadClient.cpp:136)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== Address 0x4367FCC8 is 0 bytes inside a block of size 48 free'd
==29292== at 0x6235AC: free (vg_replace_malloc.c:231)
==29292== by 0xE0AB10: wxString::~wxString() (in /usr/lib/libwx_gtk-2.4.so.0.1.1)
==29292== by 0x817AE0C: CUpDownClient::ProcessFileInfo(CSafeMemFile*, CPartFile*) (DownloadClient.cpp:379)
==29292== by 0x8144C70: CClientReqSocket::ProcessExtPacket(char*, unsigned, unsigned char) (ListenSocket.cpp:1302)
==29292==
==29292== Invalid write of size 4
==29292== at 0x813F0CE: CClientReqSocket::CClientReqSocket(CPreferences*, CUpDownClient*) (ListenSocket.cpp:65)
==29292== by 0x81557B5: CUpDownClient::TryToConnect(bool) (BaseClient.cpp:1201)
==29292== by 0x817A185: CUpDownClient::AskForDownload() (DownloadClient.cpp:136)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== Address 0x4367FCC8 is 0 bytes inside a block of size 48 free'd
==29292== at 0x6235AC: free (vg_replace_malloc.c:231)
==29292== by 0xE0AB10: wxString::~wxString() (in /usr/lib/libwx_gtk-2.4.so.0.1.1)
==29292== by 0x817AE0C: CUpDownClient::ProcessFileInfo(CSafeMemFile*, CPartFile*) (DownloadClient.cpp:379)
==29292== by 0x8144C70: CClientReqSocket::ProcessExtPacket(char*, unsigned, unsigned char) (ListenSocket.cpp:1302)
==29292==
==29292== Invalid write of size 4
==29292== at 0x81557BF: CUpDownClient::TryToConnect(bool) (BaseClient.cpp:1201)
==29292== by 0x817A185: CUpDownClient::AskForDownload() (DownloadClient.cpp:136)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== Address 0x4367FCC8 is 0 bytes inside a block of size 48 free'd
==29292== at 0x6235AC: free (vg_replace_malloc.c:231)
==29292== by 0xE0AB10: wxString::~wxString() (in /usr/lib/libwx_gtk-2.4.so.0.1.1)
==29292== by 0x817AE0C: CUpDownClient::ProcessFileInfo(CSafeMemFile*, CPartFile*) (DownloadClient.cpp:379)
==29292== by 0x8144C70: CClientReqSocket::ProcessExtPacket(char*, unsigned, unsigned char) (ListenSocket.cpp:1302)
==29292==
==29292== Invalid read of size 4
==29292== at 0x81557F7: CUpDownClient::TryToConnect(bool) (BaseClient.cpp:1203)
==29292== by 0x817A185: CUpDownClient::AskForDownload() (DownloadClient.cpp:136)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== Address 0x4367FCC8 is 0 bytes inside a block of size 48 free'd
==29292== at 0x6235AC: free (vg_replace_malloc.c:231)
==29292== by 0xE0AB10: wxString::~wxString() (in /usr/lib/libwx_gtk-2.4.so.0.1.1)
==29292== by 0x817AE0C: CUpDownClient::ProcessFileInfo(CSafeMemFile*, CPartFile*) (DownloadClient.cpp:379)
==29292== by 0x8144C70: CClientReqSocket::ProcessExtPacket(char*, unsigned, unsigned char) (ListenSocket.cpp:1302)
==29292==
==29292== Invalid read of size 1
==29292== at 0x9EC4D0: __GI___inet_aton (in /lib/libc-2.3.2.so)
==29292== by 0x815917E: amuleIPV4Address::Hostname(char*) (amuleIPV4Address.h:46)
==29292== by 0x8155CC2: CUpDownClient::TryToConnect(bool) (BaseClient.cpp:1261)
==29292== by 0x817A185: CUpDownClient::AskForDownload() (DownloadClient.cpp:136)
==29292== Address 0x4367FD0C is not stack'd, malloc'd or free'd
==29292==
==29292== Invalid read of size 2
==29292== at 0x8158FE8: CUpDownClient::GetUserPort() (updownclient.h:149)
==29292== by 0x817A185: CUpDownClient::AskForDownload() (DownloadClient.cpp:136)
==29292== by 0x822A054: CPartFile::Process(unsigned, unsigned char) (PartFile.cpp:1815)
==29292== by 0x818CD87: CDownloadQueue::Process() (DownloadQueue.cpp:376)
==29292== Address 0x4367FCF8 is 0 bytes after a block of size 48 free'd
==29292== at 0x6235AC: free (vg_replace_malloc.c:231)
==29292== by 0xE0AB10: wxString::~wxString() (in /usr/lib/libwx_gtk-2.4.so.0.1.1)
==29292== by 0x817AE0C: CUpDownClient::ProcessFileInfo(CSafeMemFile*, CPartFile*) (DownloadClient.cpp:379)
==29292== by 0x8144C70: CClientReqSocket::ProcessExtPacket(char*, unsigned, unsigned char) (ListenSocket.cpp:1302)
==29292==
==29292== More than 50 errors detected. Subsequent errors
==29292== will still be recorded, but in less detail than before.
==29292==