Repository navigation
PJA 0.6.2
The 7-Zip plugin no longer crashes 7-Zip's file manager.
- 7zFM crashed testing or extracting from inside an archive. Reported on the packJPG forum thread: opening a PJA or PJA1 archive in 7-Zip's file manager and pressing Test crashed it (0.5.1 to 0.6.1, x64 and x86); the context menu and
7z.exeworked. The cause, found with a debugger on Windows 10 and 7-Zip 25.01: FreePascal 3.2.2's heap, in a DLL, deletes its lock when the thread that loaded the DLL ends, and 7zFM loads its codecs from such a short-lived thread; PJA's threads then entered a deleted critical section. libpja and the zpaq-std plugin now take their memory from the process heap on Windows (pas/pjaheap.pas). Checked in 7zFM, x64 and x86: no errors. - "Not a valid Win32 application". That message comes from putting the x86
pja.dllin a 64-bit 7-Zip'sCodecsfolder: the x64 build goes with 64-bit 7-Zip, the x86 one with 32-bit 7-Zip (the README anddoc/LIBRARY.mdnow say so). - The same bytes. The format, the streams and the zpaq-std plugin's codecs are 0.6.1's; nothing changes on Linux or macOS.
Downloads
| platform | the pja command |
the zpaq-std plugin | libpja (C library, 7-Zip plugin) |
|---|---|---|---|
| Linux x86-64 | pja-0.6.2-linux-x86_64.tar.gz |
pja-0.6.2-zpaqstd-plugin-linux-x86_64.tar.gz |
pja-0.6.2-lib-linux-x86_64.tar.gz |
| Linux x86 (32-bit) | pja-0.6.2-linux-x86.tar.gz |
pja-0.6.2-zpaqstd-plugin-linux-x86.tar.gz |
pja-0.6.2-lib-linux-x86.tar.gz |
| Linux arm64 | pja-0.6.2-linux-arm64.tar.gz |
pja-0.6.2-zpaqstd-plugin-linux-arm64.tar.gz |
pja-0.6.2-lib-linux-arm64.tar.gz |
| macOS arm64 | pja-0.6.2-macos-arm64.tar.gz |
pja-0.6.2-zpaqstd-plugin-macos-arm64.tar.gz |
pja-0.6.2-lib-macos-arm64.tar.gz |
| Windows x64 (7 and later) | pja-0.6.2-windows-x64.zip |
pja-0.6.2-zpaqstd-plugin-windows-x64.zip |
pja-0.6.2-lib-windows-x64.zip |
| Windows x86 (XP and later) | pja-0.6.2-windows-x86.zip |
pja-0.6.2-zpaqstd-plugin-windows-x86.zip |
pja-0.6.2-lib-windows-x86.zip |
pja-0.6.2-zpaqstd.tar.gz holds the plugin's sources as zpaq-std vendors them, with VENDOR.md. CI builds and checks every binary on its own platform (.github/workflows/release.yml); libpja is checked with its C test and, on Linux x86-64, through a real 7-Zip. SHA256SUMS has the checksums. The Linux builds need glibc 2.34 or later. The macOS ones are not signed: run xattr -d com.apple.quarantine after unpacking.