-
Bug
-
Resolution: Fixed
-
P4
-
12
-
b17
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.
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.
- relates to
-
JDK-8191101 Show register content in hs-err file on assert
- Resolved