Solving java.lang.NegativeArraySizeException when using jextract under WebSphere
timdp 2000003V97 Visits (14473)
If you have a JVM system heapdump on WebSphere, before you can use the excellent tools provided in IBM Support Assistant, you’ll need to use the jextract command to pre-process the dump file. I’ve recently been doing this on 64bit WebSphere Application Server 220.127.116.11 on AIX, and I wanted to share with you the solution to the following exception when running jextract:
Exception in thread "main" java
This is a known issue which has already been fixed in the JVM, and shipped in SR8 FP1 for the Java SDK which is provided in WAS 18.104.22.168.
To solve this you should apply the Java SDK fixpack to your WAS installation. Remember that the support policy for WAS is that any WAS 7.0 fix pack can upgrade to the latest Java SDK release packaged for WAS, so you DON'T need to fix pack your entire WAS install to 22.214.171.124 - you can fix pack only the Java SDK.
The only downside is that jextract is specific to each JDK version, so you won't be able to jextract your SR7 dump file with SR8, you will have to reproduce the issue against SR8.
As a final tip, remember that if you’re running 64bit WebSphere 7, you’ll need to use the –J-Xcompressedrefs command line option with jextract.