JDK-6588045 : Pack: java.io.IOException: pop token out of range
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 6u3,6u10,7
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris,solaris_nevada,windows_2003
  • CPU: x86
  • Submitted: 2007-08-01
  • Updated: 2011-03-09
  • Resolved: 2011-03-08
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u4Fixed 7Fixed hs10Fixed
Related Reports
Duplicate :  
Description
I/O exception occurs on amd- solaris 10/ solaris 11 machines during the unpacking operation using 6u3-b02. It works fine with previous 6u2-GA b05. The issue doesn't seem to occur on windows-x86 and sparc-solaris.


java.io.IOException: pop token out of range
	at com.sun.java.util.jar.pack.NativeUnpack.start(Native Method)
	at com.sun.java.util.jar.pack.NativeUnpack.run(NativeUnpack.java:168)
	at com.sun.java.util.jar.pack.NativeUnpack.run(NativeUnpack.java:217)
	at com.sun.java.util.jar.pack.UnpackerImpl.unpack(UnpackerImpl.java:104)
	at com.sun.java.util.jar.pack.UnpackerImpl.unpack(UnpackerImpl.java:127)
	at PackCycle.executePackCycle(PackCycle.java:366)
	at PackCycle.CompletePackCycle(PackCycle.java:171)
	at PackCycle.main(PackCycle.java:581)
java.lang.RuntimeException
	at PackCycle.executePackCycle(PackCycle.java:408)
	at PackCycle.CompletePackCycle(PackCycle.java:171)
	at PackCycle.main(PackCycle.java:581)


Defect Configuration:
--------------------
amd- solaris 10, solaris 11
jdk 6u3-b02


Test cases:
----------

From SQE deployment Pack testsuite
[http://sqeweb.sfbay/deployment1/deployment_mustang_int_ws/deployment/src/Pack/Functionality/]

Pack/Functionality/PACK_EFFORT/PACK_EFFORT_6	
Pack/Functionality/PACK_EFFORT/PACK_EFFORT_8
Pack/Functionality/PACK_SEGMENT_LIMIT/PACK_SEGMENT_LIMIT_values	
Pack/Functionality/PACK_SEGMENT_LIMIT/PACK_SEGMENT_LIMIT_sizes
Pack/Functionality/PACK_PASS_FILE
Pack/Data/JDK_Jars	
Pack/Performance/Pack_Performance


* 6u3-b03 detailed test run log on amd-solaris 10 can be found at:

http://sqeweb.sfbay/st2/deployment/results/6u3/b02/pack/sunfire003-sol10-amd-pack/Standalone_deployment_Pack_2007_07_30_19_36_51
* jdk 6u3-b02/ solaris 11- x86:
  ----------------------------

The following test cases failed the same way: ( java.io.IOException: pop token out of range)

Pack/Functionality/PACK_EFFORT/PACK_EFFORT_6
Pack/Functionality/PACK_SEGMENT_LIMIT/PACK_SEGMENT_LIMIT_values
Pack/Functionality/PACK_SEGMENT_LIMIT/PACK_SEGMENT_LIMIT_sizes
Pack/Data/JDK_Jars	
Pack/Performance/Pack_Performanc
Pack/Functionality/PACK_EFFORT/PACK_EFFORT_6
Pack/Functionality/PACK_SEGMENT_LIMIT/PACK_SEGMENT_LIMIT_values
Pack/Functionality/PACK_SEGMENT_LIMIT/PACK_SEGMENT_LIMIT_sizes
Pack/Data/JDK_Jars
Pack/Performance/Pack_Performance

Comments
SUGGESTED FIX PRT webrev: http://prt-web.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2007/20071002104230.rasbold.jdk7_bugs/workspace/webrevs/webrev-2007.10.02/index.html
02-10-2007

EVALUATION This was a bug in the superword optimization. It was not correctly checking that a pair of loads for the source of the data were adjacent in memory. The test case in the bug report was a loop copying consecutive elements of a long array, casting each element to int and storing it in an int array. The fix was to add a check that the loads were adjacent. To reduce the chance of other regressions caused by this new optimization, I have turned off the UseSuperWord flag by default as part of the fix for this bug in 6u4. It will be enabled by the AgressiveOpts flag.
26-09-2007

WORK AROUND Use the -XX:-UseSuperWord flag with the server compiler.
08-09-2007

EVALUATION This is a bug in the superword vectorization which was exposed by the fix for bug 6544668. This fix enabled the UseSuperWord flag by default. It occurs in previous builds if this flag is explicitly turned on.
08-09-2007

EVALUATION The problems seems to be with server compiler wrt. loop expansion. See comments for details, reassigning to the c2 team for further analysis.
14-08-2007

WORK AROUND use the client compiler with -client.
07-08-2007