Opened 18 months ago
Closed 16 months ago
#67552 closed defect (fixed)
zpaq @7.15: allocx failed
Reported by: | rarufu (Ralf Peter) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | arm64 | Cc: | |
Port: | zpaq |
Description
Hi,
I experience the following error when using zpaq:
job 1: allocx failed
I have observed this behaviour for compression methods 3, 4, and 5. The higher the method the sooner the error appears.
I am running MacPorts on a Mac mini M2 Pro, 32 GB RAM, macOS Ventura 13.3.1 (a).
Change History (6)
comment:1 Changed 18 months ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to ryandesign |
---|---|
Status: | new → assigned |
Summary: | zpaq @ 7.15: allocx failed → zpaq @7.15: allocx failed |
comment:2 Changed 17 months ago by rarufu (Ralf Peter)
Hello Ryan,
I have experimented somewhat with the issue. I compiled the source from GitHub with the Makefile which comes with it. The resulting binary also crashes. But then I used the the -DNOJIT
option in the Makefile, as recommended in the readme.txt for non x86/x86-64 architectures. The resulting binary does NOT crash anymore.
Third line in my Makefile: CPPFLAGS+=-DNOJIT
Best Regards, Ralf
comment:3 Changed 17 months ago by ryandesign (Ryan Carsten Schmidt)
Ok, so there is something wrong with the just-in-time system, at least on Apple Silicon. Did you report that to the developer?
comment:4 Changed 17 months ago by rarufu (Ralf Peter)
I guess he is aware of it,as it is mentioned in the readme: "To compile for non x86 or x86-64 hardware use option -DNOJIT". Therefore I haven't reported it. But I can still do this. I am happy to help.
comment:5 Changed 16 months ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | arm64 added |
---|---|
Status: | assigned → accepted |
Oh, I missed the part where you said it was in the readme. I still think it's dumb that the developer expects us to disable JIT manually on systems where it doesn't work; it should do that automatically, especially since enabling JIT on those systems doesn't result in a build failure but a runtime failure. So I'll fix the code to do it automatically.
While poking around in the source code comments (this one isn't even in the readme) I realized that the build system expects us to tell it manually that we're on macOS so that it uses the right code to determine the number of processors so that it can use multiple threads. So I'll add the flag to do that (but the developer should remove the flag and instead fix the code to detect it automatically).
comment:6 Changed 16 months ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Hmm! Could you report the problem to the developer of zpaq? All we do in MacPorts is provide the software the developer wrote so it's up to him to figure out how to fix it. His contact info is at the bottom of the zpaq web page.