#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 11 months ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to ryandesign
Status: newassigned
Summary: zpaq @ 7.15: allocx failedzpaq @7.15: allocx failed

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.

Last edited 11 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:2 Changed 11 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

Last edited 11 months ago by rarufu (Ralf Peter) (previous) (diff)

comment:3 Changed 11 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 11 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 10 months ago by ryandesign (Ryan Carsten Schmidt)

Keywords: arm64 added
Status: assignedaccepted

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 10 months ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: acceptedclosed

In 6da2ae247c5675a8783adf86a28b810af9342650/macports-ports (master):

zpaq: fix crash on non-Intel; enable multithreading

Closes: #67552

Note: See TracTickets for help on using tickets.