Codesign causes the app to not run properly

I signed my application in MacOS 13.4, and the signed objects include all the binary files I compiled myself, and notarizing also works. It can also run normally on my version 13.4 Mac. However, when I copied this application to a computer with Mac OS version 11.3, it couldn't run properly.

Dlopen will generate an error message, indicating that some of the dynamic libraries called by the program do not match the signature of the program itself. These dynamic libraries are from JRE, so I re-signed them and notarizing also works.

In MacOS 13.4, it still runs normally, but in MacOS 11.3, it will report another error:

Error occurred during initialization of VM

Could not reserve enough space for code cache

What is the reason for this and how should I handle it? Thank you in advance for any comments on this issue.

I recommend that you raise this with the support channel for the specific Java runtime you’re using.

By way of background:

  • Notarisation requires the hardened runtime.

  • The hardened runtime opts you into a bunch of extra security features.

  • Java runtimes typically need to generate code on the fly (JIT), which is blocked by default by the hardened runtime.

  • There are entitlements that let you opt out of that restriction.

  • The correct entitlement to use depends on whether your Java runtime has been updated to use our recommended APIs or not.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Codesign causes the app to not run properly
 
 
Q