[8u] RFR: 8149646: EventLogBase::print_log_on() is failed to acquire MutexLockerEx

Sergey Nazarkin snazarkin at azul.com
Thu Feb 11 13:50:44 UTC 2016


Hi!

This changeset fixes nested assert  happens when Macroassmbler:stop() is executed.

Example of output:

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/Users/snazarkin/projects/jdk8-aarch32/hotspot/src/cpu/aarch32/vm/macroAssembler_aarch32.cpp:1669), pid=12183, tid=1961981024
#  assert(false) failed: DEBUG MESSAGE: Not tested this
#
# JRE version:  (8.0_60-b99) (build )
# Java VM: OpenJDK  VM (25.60-b99-debug interpreted mode linux- )
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /pi/hs_err_pid12183.log
 Locks owned:
Mutex: [0x74c045c8/0x1] tty_lock - owner: 0x74c07c00
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

MacroAssembler::debug32 crashes due to exception (ASSERT) fired from EventLogBase::print_log_on() -> MutexLockerEx -> _mutex->lock_without_safepoint_check() -> set_owner - > set_owner_implementation 

I didn't dig into it deeply but it seems that required mutex is held by ttyLocker ( Macroassembler:debug32:1651)


http://cr.openjdk.java.net/~snazarki/8149646/

Sergey Nazarkin






More information about the aarch32-port-dev mailing list