Skip to content

Nailgun mode fails for Java 19 #221

@davexparker

Description

@davexparker

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions