Bug 1907554

Summary: Fix racy update of Shenandoah code roots
Product: Red Hat Enterprise Linux 8 Reporter: Mike Millson <mmillson>
Component: java-1.8.0-openjdkAssignee: Roman Kennke <rkennke>
Status: CLOSED ERRATA QA Contact: OpenJDK QA <java-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.0CC: ahughes, dkutalek, jvanek, jwboyer, lmiksik, rkennke, zzambers
Target Milestone: rcKeywords: Triaged
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: java-1.8.0-openjdk-1.8.0.282.b02-0.1.ea.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1940511 (view as bug list) Environment:
Last Closed: 2021-05-18 15:31:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1940511    

Description Mike Millson 2020-12-14 17:28:18 UTC
There is a race condition in ShenadoahRootUpdater. Threads go into threads::oops_do() with a CodeBlobClosure and then they also go into ShenandoahCodeRoots::oops_do(). This leads to visiting nmethods concurrently, which is problematic because fix_relocations() is not MT-safe and will mess up oops in nmethods.

Comment 1 Mike Millson 2020-12-14 17:28:46 UTC
Fix already committed upstream:
https://mail.openjdk.java.net/pipermail/shenandoah-dev/2020-December/014082.html

Comment 16 errata-xmlrpc 2021-05-18 15:31:49 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (java-1.8.0-openjdk bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:1795