[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