Simon Billingsley created LOG4J2-2124:
-----------------------------------------
Summary: Cannot deploy application that contains Log4j 2.9.x to
weblogic server due to com.objectweb.asm.ClassReader errors
Key: LOG4J2-2124
URL: https://issues.apache.org/jira/browse/LOG4J2-2124
Project: Log4j 2
Issue Type: Bug
Components: Core
Affects Versions: 2.9.1, 2.9.0
Environment: Linux weblogic server 12.1.3
Reporter: Simon Billingsley
When trying to deploy an application that contains log4j 2.9.0 or 2.9.1 to a
weblogic 12.1.3 server I get the following deployment exceptions and the
deployment fails.
Looking at the stacktrace it seems that it has something to do with
com.objectweb.asm which is repackaged as com.bea.objectweb.asm in the following
library: asm-3.1.jar which is part of the core weblogic platform.
Reverting back to log4j 2.8.2 fixes the issue and allows the application to be
deployed.
I have looked through the changes that were introduced in log4j 2.9.x and I
think it could have something to do with jdk 9 multi-release support. Could it
be that the old asm is having problems parsing the jdk 9 compiled classes
contained within log4j ?
{noformat}
<1511345766104> <BEA-149004> <Failures were detected while initiating deploy
task for application "app".>
####<Nov 22, 2017 2:16:06 AM PST> <Warning> <Deployer> <server> <AdminServer>
<[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default
(self-tuning)'> <<WLS Kernel>> <> <>
<1511345766104> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: null
null
at
weblogic.servlet.internal.WebAppModule.createModuleException(WebAppModule.java:1824)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:270)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:682)
at
weblogic.application.internal.flow.ScopedModuleDriver.init(ScopedModuleDriver.java:162)
at
weblogic.application.internal.ExtensibleModuleWrapper.init(ExtensibleModuleWrapper.java:98)
at
weblogic.application.internal.flow.ModuleListenerInvoker.init(ModuleListenerInvoker.java:84)
at
weblogic.application.internal.flow.InitModulesFlow.initModule(InitModulesFlow.java:288)
at
weblogic.application.internal.flow.InitModulesFlow.initModules(InitModulesFlow.java:301)
at
weblogic.application.internal.flow.InitModulesFlow.prepare(InitModulesFlow.java:329)
at
weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:706)
at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
at
weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237)
at
weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:61)
at
weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
at
weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at
weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:208)
at
weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:98)
at
weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:233)
at
weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:749)
at
weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1238)
at
weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:252)
at
weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:172)
at
weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
at
weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
at
weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
at
weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:548)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
Caused By: java.lang.IllegalArgumentException
at com.bea.objectweb.asm.ClassReader.<init>(Unknown Source)
at com.bea.objectweb.asm.ClassReader.<init>(Unknown Source)
at
weblogic.application.utils.annotation.ClassInfoImpl.<init>(ClassInfoImpl.java:41)
at
weblogic.application.utils.annotation.ClassfinderClassInfos.polulateOneClassInfo(ClassfinderClassInfos.java:240)
at
weblogic.application.utils.annotation.ClassfinderClassInfos.populateClassInfos(ClassfinderClassInfos.java:193)
at
weblogic.application.utils.annotation.ClassfinderClassInfos.<init>(ClassfinderClassInfos.java:44)
at
weblogic.servlet.internal.War.initializeClassInfosIfNecessary(War.java:446)
at weblogic.servlet.internal.War.getAnnotatedClasses(War.java:376)
at weblogic.servlet.utils.WarUtils.isJsfApplication(WarUtils.java:258)
at
weblogic.servlet.internal.WebAppModule.detectJsfApplication(WebAppModule.java:277)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:262)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:682)
at
weblogic.application.internal.flow.ScopedModuleDriver.init(ScopedModuleDriver.java:162)
at
weblogic.application.internal.ExtensibleModuleWrapper.init(ExtensibleModuleWrapper.java:98)
at
weblogic.application.internal.flow.ModuleListenerInvoker.init(ModuleListenerInvoker.java:84)
at
weblogic.application.internal.flow.InitModulesFlow.initModule(InitModulesFlow.java:288)
at
weblogic.application.internal.flow.InitModulesFlow.initModules(InitModulesFlow.java:301)
at
weblogic.application.internal.flow.InitModulesFlow.prepare(InitModulesFlow.java:329)
at
weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:706)
at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
at
weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237)
at
weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:61)
at
weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
at
weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at
weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:208)
at
weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:98)
at
weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:233)
at
weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:749)
at
weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1238)
at
weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:252)
at
weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:172)
at
weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
at
weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
at
weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
at
weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:548)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)