You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Matthew Tyson <ma...@gmail.com> on 2011/07/20 04:55:46 UTC

Servlet 3.0 Specific Error: Invalid byte tag in constant pool

Hey guys,

tomcat 7.0.19
Java 1.6.0_22
CentOS 5.6

I just switched the web.xml to servlet 3.0 (from a app running servlet 2.4
previously without issue) and now I'm seeing the following error (turned on
fine logging in the util class):
FINE: Scanning JAR [file:/usr/java/jdk1.6.0_22/jre/lib/ext/jcharset.jar]
from classpath
Jul 19, 2011 10:04:40 AM org.apache.catalina.startup.HostConfig
deployDirectory
SEVERE: Error deploying web application directory ROOT
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag
in constant pool: 60


Thanks,

Matt

Re: Servlet 3.0 Specific Error: Invalid byte tag in constant pool

Posted by Matthew Tyson <ma...@gmail.com>.
Konstantin,

I may have to give the debugger a try - thanks for the info.

Matt

On Wed, Jul 20, 2011 at 1:02 PM, Konstantin Kolinko
<kn...@gmail.com>wrote:

> > org.apache.tomcat.util.bcel.classfile.ClassFormatException:
> > Invalid byte tag in constant pool: 60
>
> The above message is created by
> o.a.tomcat.util.bcel.classfile.Constant#readConstant(...).  There is a
> switch() and default: label results in this exception being thrown.
> Expected values there are from 1 to 12. Your 60 is far outside the
> range.
>
>
> 2011/7/21 Matthew Tyson <ma...@gmail.com>:
> >> 3. Maybe if you enable debug logging in "org.apache.tomcat.util.bcel"
> >> you will able to provide some context where the issue happens?
> >
> > Did that - its actually how I got the name of the files failing.
>
> I hoped to see some information about what class files in those jars
> BCEL tries to scan when it fails.
>
> Call hierarchy is
> bcel.classfile.Constant#readConstant(...)
> <- bcel.classfile.ConstantPool#ConstantPool(stream)
> <- bcel.classfile.ClassParser#readConstantPool()
> <- bcel.classfile.parse()
> <- o.a.catalina.startup.ContextConfig#processAnnotationsStream(stream,
> webxml)
>
> Unfortunately there is no debug printing in ContextConfig, and
> ClassParser operates on a stream and so does not know its context.
>
> Maybe you can run your copy of Tomcat with debugger, using remote
> debugging?
> http://wiki.apache.org/tomcat/FAQ/Developing#Debugging
>
>
> Best regards,
> Konstantin Kolinko
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Re: Servlet 3.0 Specific Error: Invalid byte tag in constant pool

Posted by Konstantin Kolinko <kn...@gmail.com>.
> org.apache.tomcat.util.bcel.classfile.ClassFormatException:
> Invalid byte tag in constant pool: 60

The above message is created by
o.a.tomcat.util.bcel.classfile.Constant#readConstant(...).  There is a
switch() and default: label results in this exception being thrown.
Expected values there are from 1 to 12. Your 60 is far outside the
range.


2011/7/21 Matthew Tyson <ma...@gmail.com>:
>> 3. Maybe if you enable debug logging in "org.apache.tomcat.util.bcel"
>> you will able to provide some context where the issue happens?
>
> Did that - its actually how I got the name of the files failing.

I hoped to see some information about what class files in those jars
BCEL tries to scan when it fails.

Call hierarchy is
bcel.classfile.Constant#readConstant(...)
<- bcel.classfile.ConstantPool#ConstantPool(stream)
<- bcel.classfile.ClassParser#readConstantPool()
<- bcel.classfile.parse()
<- o.a.catalina.startup.ContextConfig#processAnnotationsStream(stream, webxml)

Unfortunately there is no debug printing in ContextConfig, and
ClassParser operates on a stream and so does not know its context.

Maybe you can run your copy of Tomcat with debugger, using remote debugging?
http://wiki.apache.org/tomcat/FAQ/Developing#Debugging


Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Servlet 3.0 Specific Error: Invalid byte tag in constant pool

Posted by Mark Thomas <ma...@apache.org>.
On 20/07/2011 21:37, Matthew Tyson wrote:
> java -version:
> 
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
> Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)
> 
> We just upgraded it from 1.6.0_22 to see if it would address this problem
> (it didn't).

Are you sure that is the version of Java that Tomcat is starting with?

Mark

> 
>> 1. Are you using Tomcat downloaded from tomcat.apache.org?
> 
> Yes.
> 
>> 3. Maybe if you enable debug logging in "org.apache.tomcat.util.bcel"
>> you will able to provide some context where the issue happens?
> 
> Did that - its actually how I got the name of the files failing.
> 
> Thanks for taking a look.
> 
> Matt
> 
> 
> On Wed, Jul 20, 2011 at 11:43 AM, Konstantin Kolinko <knst.kolinko@gmail.com
>> wrote:
> 
>> 2011/7/20 Matthew Tyson <ma...@gmail.com>:
>>> Adding that to the skip list definitely prevented that error, but I'm
>>> getting many jars with the same problem.  I thought I could maybe get
>> away
>>> with just skipping them all, but I'm starting to see some jars that have
>>> taglibs in them (and so need to be scanned).
>>>
>>> All these jars are giving the same error:
>>
>>
>>
>> 2. Where that JDK 1.6.0_22 is from? What is shown by `java -version`?
>>
>> 3. Maybe if you enable debug logging in "org.apache.tomcat.util.bcel"
>> you will able to provide some context where the issue happens?
>>
>> Best regards,
>> Konstantin Kolinko
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
> 




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Servlet 3.0 Specific Error: Invalid byte tag in constant pool

Posted by Matthew Tyson <ma...@gmail.com>.
java -version:

java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)

We just upgraded it from 1.6.0_22 to see if it would address this problem
(it didn't).

> 1. Are you using Tomcat downloaded from tomcat.apache.org?

Yes.

> 3. Maybe if you enable debug logging in "org.apache.tomcat.util.bcel"
> you will able to provide some context where the issue happens?

Did that - its actually how I got the name of the files failing.

Thanks for taking a look.

Matt


On Wed, Jul 20, 2011 at 11:43 AM, Konstantin Kolinko <knst.kolinko@gmail.com
> wrote:

> 2011/7/20 Matthew Tyson <ma...@gmail.com>:
> > Adding that to the skip list definitely prevented that error, but I'm
> > getting many jars with the same problem.  I thought I could maybe get
> away
> > with just skipping them all, but I'm starting to see some jars that have
> > taglibs in them (and so need to be scanned).
> >
> > All these jars are giving the same error:
>
>
>
> 2. Where that JDK 1.6.0_22 is from? What is shown by `java -version`?
>
> 3. Maybe if you enable debug logging in "org.apache.tomcat.util.bcel"
> you will able to provide some context where the issue happens?
>
> Best regards,
> Konstantin Kolinko
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Re: Servlet 3.0 Specific Error: Invalid byte tag in constant pool

Posted by Konstantin Kolinko <kn...@gmail.com>.
2011/7/20 Matthew Tyson <ma...@gmail.com>:
> Adding that to the skip list definitely prevented that error, but I'm
> getting many jars with the same problem.  I thought I could maybe get away
> with just skipping them all, but I'm starting to see some jars that have
> taglibs in them (and so need to be scanned).
>
> All these jars are giving the same error:

1. Are you using Tomcat downloaded from tomcat.apache.org?

2. Where that JDK 1.6.0_22 is from? What is shown by `java -version`?

3. Maybe if you enable debug logging in "org.apache.tomcat.util.bcel"
you will able to provide some context where the issue happens?

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Servlet 3.0 Specific Error: Invalid byte tag in constant pool

Posted by Matthew Tyson <ma...@gmail.com>.
Adding that to the skip list definitely prevented that error, but I'm
getting many jars with the same problem.  I thought I could maybe get away
with just skipping them all, but I'm starting to see some jars that have
taglibs in them (and so need to be scanned).

All these jars are giving the same error:

,asm.jar,jboss-cache.jar,backport-util-concurrent.jar,struts-tiles-1.3.5.jar,shared-ldap-0.9.5.5.jar,jniwrap-3.6.jar,org.osgi.core-4.1.0.jar,fontbox-1.6.0.jar,apacheds-server-jndi-1.0.2.jar,apacheds-protocol-ldap-1.0.2.jar,jetm-1.2.2.jar,gdata-contacts-meta-3.0.jar,standard.jar,xbean-spring-2.8.jar,custom_rhino.jar,apacheds-server-ssl-1.0.2.jar,poi-ooxml-schemas-3.8-beta2-20110408.jar,commons-cli-1.2.jar,gdata-contacts-3.0.jar,webservices-rt.jar,iText-2.1.7.jar,javassist-3.9.0.GA.jar,mime-util-2.1.3.jar,jcaptcha-all-1.0-RC3.jar,ical4j-1.0-rc3-SNAPSHOT.jar,tomcat-jdbc.jar,dnsns.jar,jcharset.jar,pager-taglib.jar

Any ideas?

Thanks,

Matt

On Wed, Jul 20, 2011 at 12:21 AM, Mark Thomas <ma...@apache.org> wrote:

> On 20/07/2011 03:55, Matthew Tyson wrote:
> > Hey guys,
> >
> > tomcat 7.0.19
> > Java 1.6.0_22
> > CentOS 5.6
> >
> > I just switched the web.xml to servlet 3.0 (from a app running servlet
> 2.4
> > previously without issue) and now I'm seeing the following error (turned
> on
> > fine logging in the util class):
> > FINE: Scanning JAR [file:/usr/java/jdk1.6.0_22/jre/lib/ext/jcharset.jar]
> > from classpath
> > Jul 19, 2011 10:04:40 AM org.apache.catalina.startup.HostConfig
> > deployDirectory
> > SEVERE: Error deploying web application directory ROOT
> > org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte
> tag
> > in constant pool: 60
>
> That might be a BCEL bug or could be a corrupted JAR. Just add it to the
> jarsToSkip property in catalina.properties.
>
> Also, if you open a bugzilla issue, someone will take a closer look.
>
> Mark
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Re: Servlet 3.0 Specific Error: Invalid byte tag in constant pool

Posted by Mark Thomas <ma...@apache.org>.
On 20/07/2011 03:55, Matthew Tyson wrote:
> Hey guys,
> 
> tomcat 7.0.19
> Java 1.6.0_22
> CentOS 5.6
> 
> I just switched the web.xml to servlet 3.0 (from a app running servlet 2.4
> previously without issue) and now I'm seeing the following error (turned on
> fine logging in the util class):
> FINE: Scanning JAR [file:/usr/java/jdk1.6.0_22/jre/lib/ext/jcharset.jar]
> from classpath
> Jul 19, 2011 10:04:40 AM org.apache.catalina.startup.HostConfig
> deployDirectory
> SEVERE: Error deploying web application directory ROOT
> org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag
> in constant pool: 60

That might be a BCEL bug or could be a corrupted JAR. Just add it to the
jarsToSkip property in catalina.properties.

Also, if you open a bugzilla issue, someone will take a closer look.

Mark



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org