Archive: zlib on x64 issue


zlib on x64 issue
Situation: MS Windows 2003 Server Enterprise x64 Edition Service Pack 1, Dual Core AMD Opteron 280, 2.4 GHz, 2 GB, NSIS 2.22, default compression (zlib). Just created package with 64 bit binaries (about 18 MB). When launched displays message box "Error decompressing data! Corrupted installer?". If I make small changes in script (comment lines) new package may be correct (seldom) or may not (often). Particular package behaiviour repeatable.
This never happened if: 1) "SetCompressor lzma" both simple and /solid; 2) if package includes 32-bit binaries (sounds weird, but it is so, may be because package size is less, about 15 MB); 3) on x86 comps.
I could not reproduce the situation using a short NSIS script samples - packages started correct (and unfortunatelly had not time for long tests with my big script). Simple patch - I switched to lzma and happy with it (package is smaller, 10 and 13 MB, may be not good for marketing department ;) With /solid 7 MB). But if somebody knows good zlib test - I can run it there (using Remote Desktop).


It sounds to me like a size problem as well. Did you try adding more data to the lzma installer to see if it happens there as well? It'd also be a good idea, even without this problem, to add tests for the compression and decompression modules in Source\Tests. I thought I added those already, but apparently I didn't. Are you up for adding those for testing your problem?


I can run tests from office (IP limitations) and write short programs (at weekend). Job takes almost all my time :(


I've started writing one. Currently, it tests only zlib and bzip2. I've attached both a test to the source tree and a compiled tester. It tests compression of up to 32mb files. Works fine for me on x86. Let me know how it goes on x64.

Another good test would be opening the installer with 7-zip and seeing what it has to say about it.


I run test.exe few times today, but it always reported OK (9)...


What about opening the installer with 7-zip? Try compiling another version of test.exe with an even larger compression buffer. Maybe that'd help...


With new program release I cannot reproduce situation :( If I'll have time later I'll take previous version from archive and build distribution, but I cannot promise this..