Running PRISM in Nailgun server mode (-ng), which is the default for make tests, fails on Java 19:
Exception in thread "NGServer(null, 2113)" java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
at java.base/java.lang.System.setSecurityManager(System.java:425)
at com.martiansoftware.nailgun.NGServer.run(NGServer.java:396)
at java.base/java.lang.Thread.run(Thread.java:1589)
This is because Nailgun uses Security Manager functionality, which is deprecated from version 19.
The preferred solution will be to upgrade Nailgun (lib/nailgun-server.jar and src/prism/ngprism.c (and src/prism/ng.c.orig)) to a newer version from https://github.com/facebook/nailgun. There is a patch, which is not yet merged.
In the meantime, a temporary fix is to pass -Djava.security.manager=allow to java, e.g., by adding this to bin/prism:
PRISM_JAVA_PARAMS=-Djava.security.manager=allow
But this cannot easily be added to the main version of PRISM because earlier JDKs (11 and earlier) do not support this option.
Running PRISM in Nailgun server mode (
-ng), which is the default formake tests, fails on Java 19:This is because Nailgun uses Security Manager functionality, which is deprecated from version 19.
The preferred solution will be to upgrade Nailgun (
lib/nailgun-server.jarandsrc/prism/ngprism.c(andsrc/prism/ng.c.orig)) to a newer version from https://github.com/facebook/nailgun. There is a patch, which is not yet merged.In the meantime, a temporary fix is to pass
-Djava.security.manager=allowtojava, e.g., by adding this tobin/prism:But this cannot easily be added to the main version of PRISM because earlier JDKs (11 and earlier) do not support this option.