volta
volta copied to clipboard
volta-shim v2.0.x crashes on macOS 14.6.1
I am running macOS 14.6.1 on an Apple M2 Max.
I downloaded the v2.0.0 and v2.0.1 macos releases from the Releases tab.
The executables volta and volta-migrate work. When I run volta-shim (either directly or through the symlink), I get the error:
zsh: killed ./volta-shim
or using fish as my shell, I get the error
fish: Job 1, './volta-shim' terminated by signal SIGKILL (Forced quit)
This error happens with both v2.0.0 and v2.0.1.
For reference, here at the sha256 hashes of the tested files:
1a3e3eb2dfe3ae04512f54a9d1934681e7a4bd72416bf9d13c5e6e8f12aa7712 volta-shim v2.0.0
5e65a74750bf191fd17b038602fc1d74a0207f65c833f081baad48af7e4b184b volta-shim v2.0.1
Hi @cthompson-avb, that's very strange! I have the same macOS version (even an M2 Max), and the same SHA256 hash for volta-shim v2.0.1 and I'm not seeing anything like that.
If you have a chance, can you share your PATH environment variable (feel free to redact anything sensitive, of course!)? Also, if you do export VOLTA_LOGLEVEL=debug and then run the shim, does it show any additional output?
I was having the same issue as well. Tailing the OSX syslog told me there is something wrong with code signature for volta-shim
$ log stream | grep volta
2024-09-04 12:46:21.828817-0700 0x173301 Default 0x0 0 0 kernel: proc 11651: load code signature error 2 for file "volta-shim"
2024-09-04 12:46:21.829087-0700 0x173302 Default 0x0 0 0 kernel: (AppleSystemPolicy) ASP: Unable to apply provenance sandbox: 268451845, 11651, /Users/ram-g-rao/.volta/bin/volta-shim
2024-09-04 12:46:21.829170-0700 0x173302 Default 0x0 0 0 kernel: volta-shim[11651] Corpse allowed 1 of 5
2024-09-04 12:46:21.857160-0700 0x1732fe Default 0x0 1056 0 ReportCrash: Formulating fatal 309 report for corpse[11651] volta-shim
2024-09-04 12:46:21.860287-0700 0x1732fe Default 0x0 1056 0 ReportCrash: no MetricKit for process volta-shim type 309 bundleId (null)
When running a binary for the first time, OSX will check the code signature of the binary and if the binary is not signed by an apple identified developer, OSX will prompt the user to explicitly give permission to run the binary. Somehow I missed to give the explicit permission when I ran the volta shim for the first time. All the subsequent runs would just kept getting killed by OSX without a prompt. To force OSX to prompt me again, I had to delete the existing volta-shim binary and replace it with a freshly downloaded copy. Running the volta-shim would prompt you with permission to run and on approval things started to work again. 🙌
I was having the same issue as well. Tailing the OSX syslog told me there is something wrong with code signature for volta-shim
$ log stream | grep volta 2024-09-04 12:46:21.828817-0700 0x173301 Default 0x0 0 0 kernel: proc 11651: load code signature error 2 for file "volta-shim" 2024-09-04 12:46:21.829087-0700 0x173302 Default 0x0 0 0 kernel: (AppleSystemPolicy) ASP: Unable to apply provenance sandbox: 268451845, 11651, /Users/ram-g-rao/.volta/bin/volta-shim 2024-09-04 12:46:21.829170-0700 0x173302 Default 0x0 0 0 kernel: volta-shim[11651] Corpse allowed 1 of 5 2024-09-04 12:46:21.857160-0700 0x1732fe Default 0x0 1056 0 ReportCrash: Formulating fatal 309 report for corpse[11651] volta-shim 2024-09-04 12:46:21.860287-0700 0x1732fe Default 0x0 1056 0 ReportCrash: no MetricKit for process volta-shim type 309 bundleId (null)When running a binary for the first time, OSX will check the code signature of the binary and if the binary is not signed by an apple identified developer, OSX will prompt the user to explicitly give permission to run the binary. Somehow I missed to give the explicit permission when I ran the volta shim for the first time. All the subsequent runs would just kept getting killed by OSX without a prompt. To force OSX to prompt me again, I had to delete the existing volta-shim binary and replace it with a freshly downloaded copy. Running the volta-shim would prompt you with permission to run and on approval things started to work again. 🙌
I have been reinstall volta for twice, but still don't have see any permission request, it seems like still will be crash next time.
I was wondering if there’s any plan to address this issue. After allowing volta-shim in privacy settings, it still gets killed after an OS reboot, meaning I have to reinstall volta-shim every time.
I was wondering if there’s any plan to address this issue. After allowing volta-shim in privacy settings, it still gets killed after an OS reboot, meaning I have to reinstall volta-shim every time.
Try this:
cd ~/.volta/bin
cp volta-shim volta-shim_bac
rm volta-shim
cp volta-shim_bac volta-shim
This may seem silly, but it worked for me and is easier than reinstalling.
@EsunR
Thanks! I saved the script as a one-liner and now call it from Raycast.
I don’t think there’s anything Volta itself can do about this unless we go out of our way to sign it, which we will not likely be doing, for a couple reasons:
- We’d need to set up CI and get an Apple dev account configured for it.
- It is not actually something you usually need to do, because usually this kind of thing is allowed at the level of the terminal emulator in which it is running, rather than a per-tool basis.
That said, you should be able to both check and, if necessary, fix the quarantining attribute on it with xattr; see this Stack Overflow answer for more details.