-
Bug
-
Resolution: Fixed
-
P2
-
8
-
None
-
lambda
-
b78
-
generic
-
generic
-
Verified
The native unpacker unpack200.exe produces bad class files, and fails class comparator on lambda's
java/util/stream/Streams.class the test jar attached reproduces the problem.
The issue is that native packer does not correctly compute the BSM attribute length.
This is because the data structures in the attribute have exceeded the current buffer
while writing and the logic reallocs and rebases the buffer, therefore the cached pointer
is invalid.
The fix is to keep track of the offset and use that offset to compute the start pointer
and use that to compute the length of the attribute.
java/util/stream/Streams.class the test jar attached reproduces the problem.
The issue is that native packer does not correctly compute the BSM attribute length.
This is because the data structures in the attribute have exceeded the current buffer
while writing and the logic reallocs and rebases the buffer, therefore the cached pointer
is invalid.
The fix is to keep track of the offset and use that offset to compute the start pointer
and use that to compute the length of the attribute.
- duplicates
-
JDK-8007883 Re-enable pack200 tests for jprt testing on fast systems
- Closed