JDK-8212913 : (Nested)ThreadsListHandleInErrorHandlingTest need to disable ShowRegistersOnAssert
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 12
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-10-24
  • Updated: 2018-11-06
  • Resolved: 2018-10-24
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 12
12 b17Fixed
Related Reports
Relates :  
Description
8191101 added the ability to display register values at assert time. This is controlled with the diagnostic ShowRegistersOnAssert switch.
Since its inception, that switch has been disabled by default. But it is quite useful, so we are currently evaluating if it can be safely activated by default.

When this switch is on, it trips over these overly narrow-minded error handling tests:

NestedThreadsListHandleInErrorHandlingTest and ThreadsListHandleInErrorHandlingTest cause an assert and check if the nested ThreadListHandle counters printed in the hs-err file match expectations.

These tests are vulnerable against code pushing those max counters accidentally. If we run these tests with -XX:+ShowRegistersOnAssert, register values are printed as part of the hs-err file, which causes os::print_location() to be executed, which allocates ThreadListHandle to iterate the java threads.

Easiest way is to fix this is to just explicitly disable ShowRegistersOnAssert for these two tests.