[jboss-jira] [JBoss JIRA] (LOGMGR-218) JBoss Logmanager is incompatibile with -Xbootclasspath and JDK 11
James Perkins (Jira)
issues at jboss.org
Thu Feb 7 21:11:01 EST 2019
[ https://issues.jboss.org/browse/LOGMGR-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13692813#comment-13692813 ]
James Perkins commented on LOGMGR-218:
--------------------------------------
Please note this was reopened as there is an issue with embedded WildFly and the way this worked. 2.1.6.Final is the only release with the original fix which in most cases won't be an issue. 2.1.7.Final will be released with the updated fix for WildFly. The other branches that have no release against them will also get the new fix.
> 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