JDK-8141056 : Erroneous assignment in HeapRegionSet.cpp
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 8,9
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2015-10-30
  • Updated: 2020-08-14
  • Resolved: 2015-11-03
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 8 JDK 9 Other
8u251Fixed 9 b94Fixed openjdk8u262Fixed
THe following should be an equals check, not an assignment:

if (_last = curr) {
  _last = NULL;
Fix Request (8u) Fixes the corner case in G1, and keeps codebases in sync (I see 8u261). Patch applies cleanly to 8u, passes tier1 tests.

_last is a cache value to speed up additions to the list. NULL means, do not use cache. So this code at the moment is only a perf problem, no functional one. Enabling/fixing this might uncover bugs though :)