]
James Perkins closed WFLY-11451.
--------------------------------
Resolution: Rejected
This can be resolved by adding the log manager to the boot class path and defining the
{{java.util.logging.manager}} in the {{JAVA_OPTS}}.
The following example works for WildFly 18+ for lower versions you'd use the
"javax" prefix where "jakarta" is used below.
{code:title=standalone.conf}
LOGMANAGER_JAR=$(find $JBOSS_HOME/modules -name "jboss-logmanager*.jar" -type f
| xargs readlink -m)
WILDFLY_COMMON_JAR=$(find $JBOSS_HOME/modules -name "wildfly-common*.jar" -type
f | xargs readlink -m)
JSON_API_JAR=$(find $JBOSS_HOME/modules -name "jakarta.json-api*.jar" -type f |
xargs readlink -m)
JSON_IMPL_JAR=$(find $JBOSS_HOME/modules -name "jakarta.json-1*.jar" -type f |
xargs readlink -m)
BOOT_CP="$LOGMANAGER_JAR:$WILDFLY_COMMON_JAR:$JSON_API_JAR:$JSON_IMPL_JAR"
JAVA_OPTS="-Djava.util.logging.manager=org.jboss.logmanager.LogManager
-Xbootclasspath/a:$BOOT_CP -Xhealthcenter $JAVA_OPTS"
{code}
Classloading issues on IBM JDK 8 when JProfiler agent is enabled
----------------------------------------------------------------
Key: WFLY-11451
URL:
https://issues.jboss.org/browse/WFLY-11451
Project: WildFly
Issue Type: Bug
Components: Logging
Affects Versions: 14.0.1.Final
Environment: IBM JDK 8:
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 8.0.5.25 - pxa6480sr5fp25-20181030_01(SR5 FP25))
IBM J9 VM (build 2.9, JRE 1.8.0 Linux amd64-64-Bit Compressed References 20181029_400846
(JIT enabled, AOT enabled)
OpenJ9 - c5c78da
OMR - 3d5ac33
IBM - 8c1bdc2)
JCL - 20181022_01 based on Oracle jdk8u191-b26
Reporter: Tomas Kyjovsky
Assignee: James Perkins
Priority: Major
When I enable JProfiler agent for the server running on IBM JDK 8 the server doesn't
start, throwing classloading exceptions.
{noformat}
=========================================================================
JBoss Bootstrap Environment
JBOSS_HOME: /home/tkyjovsk/workspace/KEYCLOAK-8983/wildfly-14.0.1.Final
JAVA: /home/tkyjovsk/software/java/ibm-java-80/bin/java
JAVA_OPTS: -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m
-Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman
-Djava.awt.headless=true
-agentpath:/home/tkyjovsk/software/tools/jprofiler9/bin/linux-x64/libjprofilerti.so=port=6766
-Xshareclasses:none
=========================================================================
JProfiler> Protocol version 55
JProfiler> Using JVMTI
JProfiler> Thread status info workaround enabled.
JProfiler> Restricted JVMTI version 1.1 detected.
JProfiler> 64-bit library
JProfiler> Listening on port: 6766.
JProfiler> Instrumenting native methods.
JProfiler> Native library initialized
JProfiler> VM initialized
JProfiler> Waiting for a connection from the JProfiler GUI ...
JProfiler> Using dynamic instrumentation
JProfiler> Time measurement: elapsed time
JProfiler> CPU profiling enabled
WARNING: Failed to load the specified log manager class org.jboss.logmanager.LogManager
Nov 30, 2018 1:48:31 PM org.jboss.msc.service.ServiceContainerImpl <clinit>
INFO: JBoss MSC version 1.4.3.Final
Nov 30, 2018 1:48:31 PM org.jboss.threads.Version <clinit>
INFO: JBoss Threads version 2.3.2.Final
Nov 30, 2018 1:48:31 PM org.jboss.as.server.BootstrapImpl internalBootstrap
WARN: WFLYSRV0071: The operating system has limited the number of open files to 1024 for
this process; a value of at least 4096 is recommended
Nov 30, 2018 1:48:31 PM org.jboss.as.server.ApplicationServerService start
INFO: WFLYSRV0049: WildFly Full 14.0.1.Final (WildFly Core 6.0.2.Final) starting
Nov 30, 2018 1:48:33 PM org.wildfly.security.Version <clinit>
INFO: ELY00001: WildFly Elytron version 1.6.0.Final
Nov 30, 2018 1:48:34 PM org.jboss.as.controller.AbstractOperationContext executeStep
ERROR: WFLYCTL0013: Operation ("parallel-extension-add") failed - address:
([])
java.lang.RuntimeException: WFLYCTL0079: Failed initializing module org.jboss.as.logging
at
org.jboss.as.controller.extension.ParallelExtensionAddHandler$1.execute(ParallelExtensionAddHandler.java:115)
at
org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:999)
at
org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:743)
at
org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:467)
at
org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1411)
at org.jboss.as.controller.ModelControllerImpl.boot(ModelControllerImpl.java:495)
at
org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:470)
at
org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:432)
at org.jboss.as.server.ServerService.boot(ServerService.java:427)
at org.jboss.as.server.ServerService.boot(ServerService.java:386)
at
org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:372)
at java.lang.Thread.run(Thread.java:812)
Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalStateException:
WFLYLOG0078: The logging subsystem requires the log manager to be
org.jboss.logmanager.LogManager. The subsystem has not be initialized and cannot be used.
To use JBoss Log Manager you must add the system property
"java.util.logging.manager" and set it to
"org.jboss.logmanager.LogManager"
at java.util.concurrent.FutureTask.report(FutureTask.java:133)
at java.util.concurrent.FutureTask.get(FutureTask.java:203)
at
org.jboss.as.controller.extension.ParallelExtensionAddHandler$1.execute(ParallelExtensionAddHandler.java:107)
... 11 more
Caused by: java.lang.IllegalStateException: WFLYLOG0078: The logging subsystem requires
the log manager to be org.jboss.logmanager.LogManager. The subsystem has not be
initialized and cannot be used. To use JBoss Log Manager you must add the system property
"java.util.logging.manager" and set it to
"org.jboss.logmanager.LogManager"
at org.jboss.as.logging.LoggingExtension.initialize(LoggingExtension.java:194)
at
org.jboss.as.controller.extension.ExtensionAddHandler.initializeExtension(ExtensionAddHandler.java:131)
at
org.jboss.as.controller.extension.ExtensionAddHandler.initializeExtension(ExtensionAddHandler.java:104)
at
org.jboss.as.controller.extension.ParallelExtensionAddHandler$ExtensionInitializeTask.call(ParallelExtensionAddHandler.java:144)
at
org.jboss.as.controller.extension.ParallelExtensionAddHandler$ExtensionInitializeTask.call(ParallelExtensionAddHandler.java:127)
at java.util.concurrent.FutureTask.run(FutureTask.java:277)
at
org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
at java.lang.Thread.run(Thread.java:812)
at org.jboss.threads.JBossThread.run(JBossThread.java:485)
Nov 30, 2018 1:48:34 PM org.jboss.as.server.ServerService$4 logExit
FATAL: WFLYSRV0056: Server boot has failed in an unrecoverable manner; exiting. See
previous messages for details.
{noformat}
I tried to work around this by adding "{{org.jboss.logmanager}}" to
{{JBOSS_MODULES_SYSTEM_PKGS}} and adding
"{{-Djava.util.logging.manager=org.jboss.logmanager.LogManager
-Xbootclasspath/p:...}}" in {{JAVA_OPTS}} but that just results in another
class-loading error:
{noformat}
=========================================================================
JBoss Bootstrap Environment
JBOSS_HOME: /home/tkyjovsk/workspace/KEYCLOAK-8983/wildfly-14.0.1.Final
JAVA: /home/tkyjovsk/software/java/ibm-java-80/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
-agentpath:/home/tkyjovsk/software/tools/jprofiler9/bin/linux-x64/libjprofilerti.so=port=6766
-Xshareclasses:none -Djava.util.logging.manager=org.jboss.logmanager.LogManager
-Xbootclasspath/p:/home/tkyjovsk/workspace/KEYCLOAK-8983/wildfly-14.0.1.Final/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-2.1.4.Final.jar
=========================================================================
JProfiler> Protocol version 55
JProfiler> Using JVMTI
JProfiler> Thread status info workaround enabled.
JProfiler> Restricted JVMTI version 1.1 detected.
JProfiler> 64-bit library
JProfiler> Listening on port: 6766.
JProfiler> Instrumenting native methods.
JProfiler> Native library initialized
JProfiler> VM initialized
JProfiler> Waiting for a connection from the JProfiler GUI ...
JProfiler> Using dynamic instrumentation
JProfiler> Time measurement: elapsed time
JProfiler> CPU profiling enabled
java.lang.NoClassDefFoundError: org/wildfly/common/net/HostName
at org.jboss.logmanager.ExtLogRecord.<init>(ExtLogRecord.java:87)
at org.jboss.logmanager.Logger.log(Logger.java:796)
at org.jboss.logging.JBossLogManagerLogger.doLogf(JBossLogManagerLogger.java:53)
at org.jboss.logging.Logger.logf(Logger.java:2398)
at org.jboss.msc.service.ServiceLogger_$logger.greeting(ServiceLogger_$logger.java:40)
at
org.jboss.msc.service.ServiceContainerImpl.<clinit>(ServiceContainerImpl.java:91)
at org.jboss.msc.service.ServiceContainer$Factory.create(ServiceContainer.java:250)
at org.jboss.as.server.BootstrapImpl$ShutdownHook.register(BootstrapImpl.java:229)
at org.jboss.as.server.BootstrapImpl$ShutdownHook.access$100(BootstrapImpl.java:219)
at org.jboss.as.server.BootstrapImpl.<init>(BootstrapImpl.java:70)
at org.jboss.as.server.Bootstrap$Factory.newInstance(Bootstrap.java:278)
at org.jboss.as.server.Main.main(Main.java:106)
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)
{noformat}