tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Konstantin Kolinko <>
Subject Re: Tomcat not starting properly on a customer's AS/400, and I have no idea why. Help?
Date Mon, 18 Jun 2012 16:35:55 GMT
2012/6/18 James Lampert <>:
> We're attempting to bring up on a customer's
> AS/400, the same as we've done on several other AS/400s (including our own),
> and it's not working.
> In catalina.out, I'm seeing this:
>> Jun 18, 2012 11:36:23 AM org.apache.catalina.core.AprLifecycleListener
>> init                                                    
    INFO: The APR
>> based Apache Tomcat Native library which allows optimal performance in
>> production environments was not found on the java.library.path:

> Caused by: java.lang.ArrayStoreException
> at java.lang.Throwable.<init>(
> at java.lang.Exception.<init>(
> at java.lang.RuntimeException.<init>(
> at java.lang.RuntimeException.<init>(
> at java.lang.ArrayStoreException.<init>(
> at java.util.Arrays.copyOf(
> at java.lang.StringCoding.encode(
> at java.lang.String.getBytes(
> at org.apache.catalina.util.RequestUtil.URLDecode(
> at org.apache.catalina.util.RequestUtil.URLDecode(
> at org.apache.catalina.util.RequestUtil.URLDecode(
> at org.apache.catalina.deploy.SecurityCollection.addPattern(

The exception that I cited from your log fragment is just crazy.
The code in RequestUtil.URLDecode( in 7.0.25 is:

   bytes = str.getBytes(Charset.defaultCharset());

The String.getBytes(Charset) call, where all parameters are standard
classes, provided by JRE.  Yet this standard method fails in a crazy
way ("java.lang.ArrayStoreException". It means types mismatch
encountered when putting a new element into array).

Your JRE is broken.

Try running a simple java program that calls the above method and see
what happens.

Just guessing at straws: you may try to simplify your environment (do
you need all that libraries as mentioned in  java.library.path?  what
is your default charset?)

I wonder whether you have several copies of JRE classes loaded by
different classloaders.

Best regards,
Konstantin Kolinko

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message