[ 
https://issues.apache.org/jira/browse/LOG4J2-3235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17459915#comment-17459915
 ] 

Gary D. Gregory edited comment on LOG4J2-3235 at 1/18/22, 12:24 PM:
--------------------------------------------------------------------

It looks to me like there are two issues here:
 * I do not think we should have put a {{module-info.class}} into a jar file 
meant for Java 7.
 * This might not be BCEL's fault: It just parses the class file you give it, 
or a zip file you give it, or an input stream; there is no way to tell without 
knowing the version of Tomcat and BCEL.

As a workaround, you can remove this class file from the jar file.

Gary


was (Author: garydgregory):
It looks to me like there are two issues here:
 * I do not think we should have put a {{module-info.class}} into a jar file 
meant for Java 7.
 * This might not BCEL's fault. It just parses the class file you give it, or a 
zip file you give it, or an input stream; there is no way to tell without 
knowing the version of Tomcat and BCEL.

As a workaround, you can remove this class file from the jar file.

Gary

> Exception: Invalid byte tag in constant pool: 19 for module-info.class Java 7
> -----------------------------------------------------------------------------
>
>                 Key: LOG4J2-3235
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-3235
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: API
>            Reporter: Saptarshi De
>            Priority: Critical
>             Fix For: 2.12.1
>
>
> Due to the recent vulnerability CVE-2021-44228 and CVE-2021-45046, We are 
> updating to Log4j 2.12.2 on our Java 7 environment.
> Log4j 2.12.2 is supposed to be compatible with Java 7.
> We face the below exception on startup.
> Please suggest a solution for the same.
>  
> {code:java}
> 15-Dec-2021 12:55:32.722 SEVERE [localhost-startStop-1] 
> org.apache.catalina.startup.ContextConfig.processAnnotationsJar Unable to 
> process Jar entry [META-INF/versions/9/module-info.class] from Jar 
> [jar:file:/------/log4j-api-2.12.2.jar!/] for annotations
>  org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag 
> in constant pool: 19
>  at 
> org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:97)
>  at 
> org.apache.tomcat.util.bcel.classfile.ConstantPool.<init>(ConstantPool.java:55)
>  at 
> org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:177)
>  at 
> org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:85)
>  at 
> org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2011)
>  at 
> org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1961)
>  at 
> org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1936)
>  at 
> org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1897)
>  at 
> org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1149)
>  at 
> org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771)
>  at 
> org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305)
>  at 
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>  at 
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
>  at 
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5066)
>  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>  at 
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
>  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
>  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
>  at 
> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1101)
>  at 
> org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1786)
>  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>  at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745)
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to