aMule Bug Tracker - aMule
View Issue Details
0001674aMuleMiscpublic2011-06-02 13:382015-10-19 08:45
myth88 
sturedman 
normalcrashalways
resolvedfixed 
Linux
2.3.1 
2.3.22.3.2 
10710
Ubuntu Linux 11.04 x86_64
0001674: Crash when loading zip ipfilter file
Hi folks, as updating the ipfilter from here: http://ipfilter.tobby.eu/ozzy/ipfilter.zip [^]
aMule crashes. I can reproduce it as often as I want.
Version is SVN 10527. Ubuntu 11.04 x86_64
No tags attached.
has duplicate 0001758resolved GonoszTopi amule crashes when adding zipped ipfilter.dat 
Issue History
2011-06-02 13:38myth88New Issue
2011-06-02 13:38myth88Operating System => Ubuntu Linux 11.04 x86_64
2011-06-02 21:42sturedmanNote Added: 0003574
2011-06-03 12:02myth88Note Added: 0003575
2011-06-03 14:28sturedmanNote Added: 0003576
2011-06-03 14:42myth88Note Added: 0003578
2011-06-03 15:50sturedmanNote Added: 0003580
2011-06-03 16:09myth88Note Added: 0003581
2011-06-03 16:26sturedmanNote Added: 0003582
2011-12-29 12:00zodiNote Added: 0003594
2011-12-29 12:06zodiNote Edited: 0003594
2011-12-29 15:15sturedmanNote Added: 0003595
2011-12-29 15:16sturedmanAssigned To => sturedman
2011-12-29 15:16sturedmanStatusnew => assigned
2011-12-29 15:16sturedmanProduct VersionSVN => 2.3.1
2011-12-29 15:44sturedmanNote Added: 0003596
2011-12-29 16:34sturedmanFixed in Revision => 10710
2011-12-29 16:34sturedmanNote Added: 0003597
2011-12-29 16:34sturedmanStatusassigned => resolved
2011-12-29 16:34sturedmanResolutionopen => fixed
2011-12-29 16:34sturedmanOS => Linux
2011-12-29 16:34sturedmanFixed in Version => 2.3.2
2011-12-29 16:34sturedmanTarget Version => 2.3.2
2011-12-29 19:52myth88Note Added: 0003598
2011-12-29 19:52myth88Statusresolved => feedback
2011-12-29 19:52myth88Resolutionfixed => reopened
2011-12-29 19:53myth88Resolutionreopened => fixed
2012-02-11 18:50sturedmanStatusfeedback => resolved
2015-10-19 08:45GonoszTopiRelationship addedhas duplicate 0001758

Notes
(0003574)
sturedman   
2011-06-02 21:42   
Works for me. Both in Windows and Ubuntu (same version as yours).
Can you retry it? Maybe something changed on their side.
If you can reproduce it please post a backtrace.
(0003575)
myth88   
2011-06-03 12:02   
GDB doesn't get me an output! Very strange.
All I can see in GDB's terminal is this: http://pastebin.com/nU1mv2AH [^]

Then in aMule log I can see this:
 2011-06-03 11:57:24: IPFilter.cpp(506): Successfully updated ipfilter.dat
 2011-06-03 11:57:24: IPFilter.cpp(113): Loading IP filters 'ipfilter.dat' and 'ipfilter_static.dat'.

After this aMule crashes.
Another strange thing: The downloaded ipfilter.zip gets renamed to ipfilter.dat (but is still 5.4 MB zipped file)!
(0003576)
sturedman   
2011-06-03 14:28   
Please try if this hack workarounds the problem.
Also enable http download debug printing.

Does the problem only occur with this specific filter, or with any filter?


Index: HTTPDownload.cpp
===================================================================
--- HTTPDownload.cpp (revision 10570)
+++ HTTPDownload.cpp (working copy)
@@ -154,11 +154,11 @@
       m_companion(NULL)
 {
     if (showDialog) {
-#ifndef AMULE_DAEMON
- CHTTPDownloadDialog* dialog = new CHTTPDownloadDialog(this);
- dialog->Show(true);
- m_companion = dialog;
-#endif
+//#ifndef AMULE_DAEMON
+// CHTTPDownloadDialog* dialog = new CHTTPDownloadDialog(this);
+// dialog->Show(true);
+// m_companion = dialog;
+//#endif
     }
     // Get the date on which the original file was last modified
     // Only if it's the same URL we used for the last download and if the file exists.
(0003578)
myth88   
2011-06-03 14:42   
With the Hack it doesn't work at all:
2011-06-03 14:42:10: HTTPDownload.cpp(196): HTTP: HTTP download thread started
2011-06-03 14:42:11: HTTPDownload.cpp(390): HTTP: Host: ipfilter.tobby.eu:80
2011-06-03 14:42:11: HTTPDownload.cpp(391): HTTP: URL: http://ipfilter.tobby.eu/ozzy/ipfilter.zip [^]
2011-06-03 14:42:11: HTTPDownload.cpp(392): HTTP: Response: 200 (Error: 0)
2011-06-03 14:42:11: HTTPDownload.cpp(241): HTTP: Download size: 5711254
(0003580)
sturedman   
2011-06-03 15:50   
That's what it looks like here (with IP filter debug enabled as well).
2011-06-03 15:32:00: HTTPDownload.cpp(196): HTTP: HTTP download thread started
2011-06-03 15:32:00: HTTPDownload.cpp(390): HTTP: Host: ipfilter.tobby.eu:80
2011-06-03 15:32:00: HTTPDownload.cpp(391): HTTP: URL: http://ipfilter.tobby.eu/ozzy/ipfilter.zip [^]
2011-06-03 15:32:00: HTTPDownload.cpp(392): HTTP: Response: 200 (Error: 0)
2011-06-03 15:32:00: HTTPDownload.cpp(241): HTTP: Download size: 5711254
2011-06-03 15:32:04: HTTPDownload.cpp(302): HTTP: HTTP download thread ended
2011-06-03 15:32:04: IPFilter.cpp(506): Successfully updated ipfilter.dat
2011-06-03 15:32:04: IPFilter.cpp(113): Loading IP filters 'ipfilter.dat' and 'ipfilter_static.dat'.
2011-06-03 15:32:12: IPFilter.cpp(322): IPFilter: time for lexer: 6.968
2011-06-03 15:32:12: IPFilter.cpp(333): Loaded 326376 IP-ranges from 'C:\Users\Martin\AppData\Roaming\aMule\ipfilter.dat'.
2011-06-03 15:32:12: IPFilter.cpp(322): IPFilter: time for lexer: 0.000
2011-06-03 15:32:12: IPFilter.cpp(333): Loaded 1 IP-range from 'C:\Users\Martin\AppData\Roaming\aMule\ipfilter_static.dat'.
2011-06-03 15:32:14: IPFilter.cpp(197): IPFilter: Ranges in map: 269928 blocked ranges in table: 270181
2011-06-03 15:32:14: IPFilter.cpp(533): IP filter is ready

Please add another debug line:
Index: HTTPDownload.cpp
===================================================================
--- HTTPDownload.cpp (revision 10570)
+++ HTTPDownload.cpp (working copy)
@@ -266,6 +266,7 @@
                     wxPostEvent(m_companion, evt);
 #endif
                 }
+ AddDebugLogLineN(logHTTP, CFormat(wxT("Download progress: %i")) % total_read);
             }
         } while (current_read && !TestDestroy());
(0003581)
myth88   
2011-06-03 16:09   
It updates....but crashes as before:
http://pastebin.com/BrGjFCwC [^]
(0003582)
sturedman   
2011-06-03 16:26   
Did you reenable the transfer progress dialog? You were not supposed to.
(0003594)
zodi   
2011-12-29 12:00   
(edited on: 2011-12-29 12:06)
in latest stable version 2.3.1 this bug still exists - I've downloaded ipfilter in zip format and aMule crashed right after finish of download, couldn't also start aMule - main window blinked for a split of second and crashed... had to manually unzip file and now aMule works nicely

tested on xubuntu 11.10 32bit / 2GiB RAM
I can provide additional information but IMO this can be reproduced by anyone

(0003595)
sturedman   
2011-12-29 15:15   
Ok...

Assertion failed: ../wxGTK-2.8.12/src/unix/utilsunx.cpp:wxExecute:275: Assertion 'wxThread::IsMain()' failed. wxExecute() can be called only from the main thread
Backtrace follows:
[3] wxExecute(wxString const&, int, wxProcess*) in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff62ead57]
[4] ?? in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff62e9f0b]
[5] wxExecute(wxString const&, wxArrayString&, int) in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff62e9fdf]
[6] ?? in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff62d7571]
[7] ?? in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff62d7a1b]
[8] ?? in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff62d7cf2]
[9] wxMimeTypesManagerImpl::GetKDEMimeInfo(wxString const&) in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff62d90d0]
[10] wxMimeTypesManagerImpl::Initialize(int, wxString const&) in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff62da1f3]
[11] wxMimeTypesManagerImpl::InitIfNeeded() in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff62da10a]
[12] wxMimeTypesManagerImpl::GetFileTypeFromExtension(wxString const&) in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff62dd657]
[13] wxMimeTypesManager::GetFileTypeFromExtension(wxString const&) in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff6294ede]
[14] wxFileSystemHandler::GetMimeTypeFromExt(wxString const&) in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff62758fd]
[15] wxLocalFSHandler::OpenFile(wxFileSystem&, wxString const&) in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff6276277]
[16] wxFileSystem::OpenFile(wxString const&, int) in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff627725d]
[17] wxArchiveFSHandler::FindFirst(wxString const&, int) in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff627c852]
[18] UnpackZipFile(wxString const&, wchar_t const**) in FileFunctions.cpp:138
[19] UnpackArchive(CPath const&, wchar_t const**) in FileFunctions.cpp:263
[20] CIPFilterTask::LoadFromFile(wxString const&) in IPFilter.cpp:298
[21] CIPFilterTask::Entry() in IPFilter.cpp:114
[22] CThreadScheduler::Entry() in ThreadScheduler.cpp:292
[23] CTaskThread::Entry() in ThreadScheduler.cpp:62
[24] wxThreadInternal::PthreadStart(wxThread*) in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff62e3745]
[25] wxPthreadStart in /home/martin/amule/wx2812/builddeb/lib/libwx_baseud-2.8.so.0[0x7ffff62e35e7]
[26] ?? in /lib/x86_64-linux-gnu/libpthread.so.0[0x7ffff55bcefc]
[27] clone in /lib/x86_64-linux-gnu/libc.so.6[0x7ffff52f789d]


Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffe9aba700 (LWP 25113)]
0x00007ffff55c4f2b in raise (sig=<optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:42
42 ../nptl/sysdeps/unix/sysv/linux/pt-raise.c: No such file or directory.
    in ../nptl/sysdeps/unix/sysv/linux/pt-raise.c
(0003596)
sturedman   
2011-12-29 15:44   
(gdb) frame 5
0000005 0x00007ffff62e9fdf in wxExecute (command=..., output=..., flags=0)
    at ../wxGTK-2.8.12/src/common/utilscmn.cpp:712
712 return wxDoExecuteWithCapture(command, output, NULL, flags);
(gdb) p command
$9 = (const wxString &) @0x7fffe9ab5e60: {<wxStringBase> = {
    static npos = 18446744073709551615,
    m_pchData = 0x16ab338 L"kde-config --path config"}, <No data fields>}
kde-config? WTF? And why are we using an undocumented class wxZipFSHandler here?
(0003597)
sturedman   
2011-12-29 16:34   
Please try if it works for you now.
(0003598)
myth88   
2011-12-29 19:52   
It solved the problem, thanks Stu!