You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Peter Lavin <la...@cs.tcd.ie> on 2015/01/13 12:18:52 UTC

Memory shortage appears as missing pulse-java.jar file error with Java 7

Hi all, I have deployed a simple (Eclipse developed) webservice in a 
Tomcat7 container which is running on Debian, details as follows...

The error is as follows... (abridged, but it is complaining about 
missing a file called pulse-java.jar)

INFO: Deploying web application archive 
/var/lib/tomcat7/webapps/SecureServiceExample.war
Jan 12, 2015 3:03:01 PM org.apache.catalina.startup.TldConfig 
tldScanJar
WARNING: Failed to process JAR 
[jar:file:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/pulse-java.jar!/] 
for TLD files
java.io.FileNotFoundException: 
/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/pulse-java.jar (No such 
file or directory)
         at java.util.zip.ZipFile.open(Native Method)
         at java.util.zip.ZipFile.<init>(ZipFile.java:215)
         at java.util.zip.ZipFile.<init>(ZipFile.java:145)


I'm using a Debian GNU Linux 7 VM, running version.sh of Tomcat7 
yields...

Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME:        /usr/lib/jvm/java-7-openjdk-amd64
Using CLASSPATH:       
/usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.28
Server built:   Apr 8 2014 08:47:08
Server number:  7.0.28.0
OS Name:        Linux
OS Version:     3.2.0-4-amd64
Architecture:   amd64
JVM Version:    1.7.0_65-b32
JVM Vendor:     Oracle Corporation

Tomcat7 was installed using apt-get. With the default memory settings 
(around line 271 in catalina.sh) as follows...

CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"

The above error occurs.

When I made the following changes... (below) the error goes away

CATALINA_OPTS="-server $CATALINA_OPTS -Xms512m -Xms2048m 
-XX:MaxPermSize=512m -Dcom.sun.management.jmxremote"

My question... pulse-java.jar does not exist in Java 7 although it did 
in Java 6. In Java 7, it is provided by a different file. It appears 
that the shortage of allocated memory manifests itself as a missing 
file. Has anyone else found anything like this or used a different 
solution to fix it?

regards,
Peter



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


Re: Memory shortage appears as missing pulse-java.jar file error with Java 7

Posted by Peter Lavin <la...@cs.tcd.ie>.
Hi Konstantin,

thanks for your comprehensive answer. On the version I am using 
(7.0.28.0), the file pulse-java.jar is not present (using linux command 
updatedb and locate to check).

I found my solution from the following link...

http://stackoverflow.com/questions/20564070/failed-to-process-jar-found-at-url-jarfilebcprov-jdk15-1-46-jar-for-servle

And although this guy's problem stemmed from a different file, he 
solved it by increasing the memory available to Tomcat. When I installed 
this particular instance of T'cat, I had overlooked to increase 
available memory. I have not had the problem since doing that.

thanks again,
Peter




On 14-01-2015 11:15, Konstantin Kolinko wrote:
> 2015-01-13 14:18 GMT+03:00 Peter Lavin <la...@cs.tcd.ie>:
>>
>> Hi all, I have deployed a simple (Eclipse developed) webservice in a 
>> Tomcat7
>> container which is running on Debian, details as follows...
>>
>> The error is as follows... (abridged, but it is complaining about 
>> missing a
>> file called pulse-java.jar)
>>
>> INFO: Deploying web application archive
>> /var/lib/tomcat7/webapps/SecureServiceExample.war
>> Jan 12, 2015 3:03:01 PM org.apache.catalina.startup.TldConfig 
>> tldScanJar
>> WARNING: Failed to process JAR
>> 
>> [jar:file:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/pulse-java.jar!/]
>> for TLD files
>> java.io.FileNotFoundException:
>> /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/pulse-java.jar (No 
>> such file
>> or directory)
>>         at java.util.zip.ZipFile.open(Native Method)
>>         at java.util.zip.ZipFile.<init>(ZipFile.java:215)
>>         at java.util.zip.ZipFile.<init>(ZipFile.java:145)
>
> 1) It is a warning, not an error.
>
> 2) If Tomcat attempts to scan the file, it means that the file is
> listed by the System classloader (or some other classloader in
> classloader hierarchy).
>
> I do not know how system classpath is configured on your system.
>
> It is either auto-detected (and thus the file exists, but maybe it is
> not readable), or there is some system configuration file for java
> that has a stale value. E.g. if you are launching it from within
> Eclipse IDE  it may be listed in your Java Runtime configuration.
>
> Some versions of Java 7 certainly do have pulse-java.jar.  It is in
> "ext" directory, so it is not part of the core JRE, but an extension.
> Maybe there is a separate package that installs it?
>
> Quick googling finds a mention that it was removed between 7u51 and 
> 7u71.
> https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/1389493
>
> 3) Consider upgrading your Tomcat version.
> https://wiki.apache.org/tomcat/FAQ/Linux_Unix#Q5
>
> Current versions of Tomcat 7 do not scan pulse-java.jar for TLDs.
>
> A) since 7.0.30 (r1377297) pulse-java.jar is explicitly included into
> tomcat.util.scan.DefaultJarScanner.jarsToSkip value in
> catalina.properties
>
> B) since 7.0.38 (r1448831) Tomcat skips scanning of all JRE JARs as a 
> whole.
>
> 4) The warning message and OOM are different errors. They are likely
> not related. You have not cited the actual OOM message.
>
> Though unneeded scanning of some large jar files is a waste of time
> and may require a lot of memory. You can configure what files are
> skipped via above mentioned
> "tomcat.util.scan.DefaultJarScanner.jarsToSkip" setting.
>
>>
>> I'm using a Debian GNU Linux 7 VM, running version.sh of Tomcat7 
>> yields...
>>
>> Using CATALINA_BASE:   /usr/share/tomcat7
>> Using CATALINA_HOME:   /usr/share/tomcat7
>> Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
>> Using JRE_HOME:        /usr/lib/jvm/java-7-openjdk-amd64
>> Using CLASSPATH:
>> 
>> /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
>> Server version: Apache Tomcat/7.0.28
>> Server built:   Apr 8 2014 08:47:08
>> Server number:  7.0.28.0
>> OS Name:        Linux
>> OS Version:     3.2.0-4-amd64
>> Architecture:   amd64
>> JVM Version:    1.7.0_65-b32
>> JVM Vendor:     Oracle Corporation
>>
>> Tomcat7 was installed using apt-get. With the default memory 
>> settings
>> (around line 271 in catalina.sh) as follows...
>>
>> CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
>>
>> The above error occurs.
>>
>> When I made the following changes... (below) the error goes away
>>
>> CATALINA_OPTS="-server $CATALINA_OPTS -Xms512m -Xms2048m
>> -XX:MaxPermSize=512m -Dcom.sun.management.jmxremote"
>>
>> My question... pulse-java.jar does not exist in Java 7 although it 
>> did in
>> Java 6. In Java 7, it is provided by a different file. It appears 
>> that the
>> shortage of allocated memory manifests itself as a missing file. Has 
>> anyone
>> else found anything like this or used a different solution to fix 
>> it?
>
>
> 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: Memory shortage appears as missing pulse-java.jar file error with Java 7

Posted by Konstantin Kolinko <kn...@gmail.com>.
2015-01-13 14:18 GMT+03:00 Peter Lavin <la...@cs.tcd.ie>:
>
> Hi all, I have deployed a simple (Eclipse developed) webservice in a Tomcat7
> container which is running on Debian, details as follows...
>
> The error is as follows... (abridged, but it is complaining about missing a
> file called pulse-java.jar)
>
> INFO: Deploying web application archive
> /var/lib/tomcat7/webapps/SecureServiceExample.war
> Jan 12, 2015 3:03:01 PM org.apache.catalina.startup.TldConfig tldScanJar
> WARNING: Failed to process JAR
> [jar:file:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/pulse-java.jar!/]
> for TLD files
> java.io.FileNotFoundException:
> /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/pulse-java.jar (No such file
> or directory)
>         at java.util.zip.ZipFile.open(Native Method)
>         at java.util.zip.ZipFile.<init>(ZipFile.java:215)
>         at java.util.zip.ZipFile.<init>(ZipFile.java:145)

1) It is a warning, not an error.

2) If Tomcat attempts to scan the file, it means that the file is
listed by the System classloader (or some other classloader in
classloader hierarchy).

I do not know how system classpath is configured on your system.

It is either auto-detected (and thus the file exists, but maybe it is
not readable), or there is some system configuration file for java
that has a stale value. E.g. if you are launching it from within
Eclipse IDE  it may be listed in your Java Runtime configuration.

Some versions of Java 7 certainly do have pulse-java.jar.  It is in
"ext" directory, so it is not part of the core JRE, but an extension.
Maybe there is a separate package that installs it?

Quick googling finds a mention that it was removed between 7u51 and 7u71.
https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/1389493

3) Consider upgrading your Tomcat version.
https://wiki.apache.org/tomcat/FAQ/Linux_Unix#Q5

Current versions of Tomcat 7 do not scan pulse-java.jar for TLDs.

A) since 7.0.30 (r1377297) pulse-java.jar is explicitly included into
tomcat.util.scan.DefaultJarScanner.jarsToSkip value in
catalina.properties

B) since 7.0.38 (r1448831) Tomcat skips scanning of all JRE JARs as a whole.

4) The warning message and OOM are different errors. They are likely
not related. You have not cited the actual OOM message.

Though unneeded scanning of some large jar files is a waste of time
and may require a lot of memory. You can configure what files are
skipped via above mentioned
"tomcat.util.scan.DefaultJarScanner.jarsToSkip" setting.

>
> I'm using a Debian GNU Linux 7 VM, running version.sh of Tomcat7 yields...
>
> Using CATALINA_BASE:   /usr/share/tomcat7
> Using CATALINA_HOME:   /usr/share/tomcat7
> Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
> Using JRE_HOME:        /usr/lib/jvm/java-7-openjdk-amd64
> Using CLASSPATH:
> /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
> Server version: Apache Tomcat/7.0.28
> Server built:   Apr 8 2014 08:47:08
> Server number:  7.0.28.0
> OS Name:        Linux
> OS Version:     3.2.0-4-amd64
> Architecture:   amd64
> JVM Version:    1.7.0_65-b32
> JVM Vendor:     Oracle Corporation
>
> Tomcat7 was installed using apt-get. With the default memory settings
> (around line 271 in catalina.sh) as follows...
>
> CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
>
> The above error occurs.
>
> When I made the following changes... (below) the error goes away
>
> CATALINA_OPTS="-server $CATALINA_OPTS -Xms512m -Xms2048m
> -XX:MaxPermSize=512m -Dcom.sun.management.jmxremote"
>
> My question... pulse-java.jar does not exist in Java 7 although it did in
> Java 6. In Java 7, it is provided by a different file. It appears that the
> shortage of allocated memory manifests itself as a missing file. Has anyone
> else found anything like this or used a different solution to fix it?


Best regards,
Konstantin Kolinko

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


Re: Memory shortage appears as missing pulse-java.jar file error with Java 7

Posted by Peter Lavin <la...@cs.tcd.ie>.
Hi André, thanks for your reply.

well spotted, I've corrected my Xmx/Xms error and restarted.

On 13-01-2015 14:07, André Warnier wrote:
> Peter Lavin wrote:
>> Tomcat7 was installed using apt-get. With the default memory 
>> settings (around line 271 in catalina.sh) as follows...
>> CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
>> The above error occurs.
>> When I made the following changes... (below) the error goes away
>> CATALINA_OPTS="-server $CATALINA_OPTS -Xms512m -Xms2048m
>
> a typo here ? (2 times -Xms ..)
>
> and, what was in $JPDA_OPTS ?
>

To your clarification...

JPDA_OPTS is set as follows (i.e. the default, just before line 270, I 
did not change this)...

="-agentlib:jdwp=transport=$JPDA_TRANSPORT,
address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"

regards,
Peter

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


Re: Memory shortage appears as missing pulse-java.jar file error with Java 7

Posted by André Warnier <aw...@ice-sa.com>.
Peter Lavin wrote:
> 
> Hi all, I have deployed a simple (Eclipse developed) webservice in a 
> Tomcat7 container which is running on Debian, details as follows...
> 
> The error is as follows... (abridged, but it is complaining about 
> missing a file called pulse-java.jar)
> 
> INFO: Deploying web application archive 
> /var/lib/tomcat7/webapps/SecureServiceExample.war
> Jan 12, 2015 3:03:01 PM org.apache.catalina.startup.TldConfig tldScanJar
> WARNING: Failed to process JAR 
> [jar:file:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/pulse-java.jar!/] 
> for TLD files
> java.io.FileNotFoundException: 
> /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/pulse-java.jar (No such 
> file or directory)
>         at java.util.zip.ZipFile.open(Native Method)
>         at java.util.zip.ZipFile.<init>(ZipFile.java:215)
>         at java.util.zip.ZipFile.<init>(ZipFile.java:145)
> 
> 
> I'm using a Debian GNU Linux 7 VM, running version.sh of Tomcat7 yields...
> 
> Using CATALINA_BASE:   /usr/share/tomcat7
> Using CATALINA_HOME:   /usr/share/tomcat7
> Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
> Using JRE_HOME:        /usr/lib/jvm/java-7-openjdk-amd64
> Using CLASSPATH:       
> /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
> Server version: Apache Tomcat/7.0.28
> Server built:   Apr 8 2014 08:47:08
> Server number:  7.0.28.0
> OS Name:        Linux
> OS Version:     3.2.0-4-amd64
> Architecture:   amd64
> JVM Version:    1.7.0_65-b32
> JVM Vendor:     Oracle Corporation
> 
> Tomcat7 was installed using apt-get. With the default memory settings 
> (around line 271 in catalina.sh) as follows...
> 
> CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
> 
> The above error occurs.
> 
> When I made the following changes... (below) the error goes away
> 
> CATALINA_OPTS="-server $CATALINA_OPTS -Xms512m -Xms2048m 

a typo here ? (2 times -Xms ..)

and, what was in $JPDA_OPTS ?

> -XX:MaxPermSize=512m -Dcom.sun.management.jmxremote"
> 
> My question... pulse-java.jar does not exist in Java 7 although it did 
> in Java 6. In Java 7, it is provided by a different file. It appears 
> that the shortage of allocated memory manifests itself as a missing 
> file. Has anyone else found anything like this or used a different 
> solution to fix it?
> 
> regards,
> Peter
> 
> 
> 
> ---------------------------------------------------------------------
> 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