[jboss-jira] [JBoss JIRA] (LOGMGR-218) JBoss Logmanager is incompatibile with -Xbootclasspath and JDK 11

James Perkins (Jira) issues at jboss.org
Tue Feb 12 11:10:00 EST 2019


     [ https://issues.jboss.org/browse/LOGMGR-218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Perkins updated LOGMGR-218:
---------------------------------
    Git Pull Request: https://github.com/jboss-logging/jboss-logmanager/pull/216, https://github.com/jboss-logging/jboss-logmanager/pull/217, https://github.com/jboss-logging/jboss-logmanager/pull/218, https://github.com/jboss-logging/jboss-logmanager/pull/228, https://github.com/jboss-logging/jboss-logmanager/pull/229, https://github.com/jboss-logging/jboss-logmanager/pull/230  (was: https://github.com/jboss-logging/jboss-logmanager/pull/216, https://github.com/jboss-logging/jboss-logmanager/pull/217, https://github.com/jboss-logging/jboss-logmanager/pull/218)


> JBoss Logmanager is incompatibile with -Xbootclasspath and JDK 11
> -----------------------------------------------------------------
>
>                 Key: LOGMGR-218
>                 URL: https://issues.jboss.org/browse/LOGMGR-218
>             Project: JBoss Log Manager
>          Issue Type: Bug
>            Reporter: Brian Stansberry
>            Assignee: James Perkins
>            Priority: Critical
>             Fix For: 2.1.6.Final, 2.1.7.Final, 2.2.0.Final, 3.0.0.Final
>
>
> The current logmanager implementation is incompatible with use with the -Xbootclasspath/a option on JDK 11. The is because it is a multi-release jar which is incompatible with -Xbootclasspath/a.  This is problematic because to allow Java Agents to work with JBoss Modules based applications (i.e. WildFly and derivatives) often it is necessary to include logmanager in -Xbootclasspath/a . 
> Here's me starting WildFly with a -Xbootclasspath/a setting and JDK 11:
> {code}
> $ build/target/wildfly-core-7.0.0.CR2-SNAPSHOT/bin/standalone.sh 
> =========================================================================
>   JBoss Bootstrap Environment
>   JBOSS_HOME: /Users/bstansberry/dev/wildfly/wildfly-core/build/target/wildfly-core-7.0.0.CR2-SNAPSHOT
>   JAVA: /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/bin/java
>   JAVA_OPTS:  -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman,org.jboss.logmanager -Djava.awt.headless=true -Xbootclasspath/a:/Users/bstansberry/dev/wildfly/wildfly-core/dist/target/wildfly-core-7.0.0.CR2-SNAPSHOT/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-2.1.5.Final.jar -Djava.util.logging.manager=org.jboss.logmanager.LogManager  --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=jdk.unsupported/sun.reflect=ALL-UNNAMED --add-modules=java.se
> =========================================================================
> WARNING: An illegal reflective access operation has occurred
> WARNING: Illegal reflective access by org.jboss.logmanager.LogLevelInitTask to constructor java.util.logging.Level$KnownLevel(java.util.logging.Level)
> WARNING: Please consider reporting this to the maintainers of org.jboss.logmanager.LogLevelInitTask
> WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
> WARNING: All illegal access operations will be denied in a future release
> java.lang.IllegalStateException: The LogManager was not properly installed (you must set the "java.util.logging.manager" system property to "org.jboss.logmanager.LogManager")
> 	at org.jboss.logmanager.Logger.getLogger(Logger.java:57)
> 	at org.jboss.as.server at 7.0.0.CR2-SNAPSHOT//org.jboss.as.server.Main.main(Main.java:89)
> 	at org.jboss.modules.Module.run(Module.java:352)
> 	at org.jboss.modules.Module.run(Module.java:320)
> 	at org.jboss.modules.Main.main(Main.java:593)
> {code}
> Right now jboss-logmanager is a multi-release jar.  But, per the MR jar spec (https://openjdk.java.net/jeps/238) that is incompatible with -Xbootclasspath:
> {quote}
> Multi-release jars and the boot loader
> Multi-release JARs are not supported by the boot loader (for example, when a multi-release JAR file is declared with the -Xbootclasspath/a option). Such support would complicate the boot loader implementation for what is considered a rare use-case.
> {quote}
> At this point I've identified two java agents that are commonly used with WildFly derived apps that cannot be installed in a JDK 11 environment: Hawkular and the Prometheus jmx-exporter. The former I could perhaps work around (i.e. don't install it with JDK 11) as it's use is deprecated. But being able to use of jmx-exporter is quite important.



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jboss-jira mailing list