RFR: 8145294: TestLogRotation.java triggers a race in the UL framework
Markus Gronlund
markus.gronlund at oracle.com
Wed Dec 16 09:32:59 UTC 2015
Hi Marcus,
Looks good, thanks for fixing.
As we spoke out-of-band, post this fix, lets figure a way of how to generalize this with some kind of SemaphoreAcquireRelease utility.
/Markus
-----Original Message-----
From: Marcus Larsson
Sent: den 16 december 2015 09:46
To: serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net
Subject: RFR: 8145294: TestLogRotation.java triggers a race in the UL framework
Hi,
Please review the following patch to fix a race in file rotations with UL.
Summary:
freopen and fwrite are not safe to use concurrently and hence the VM might crash if a thread tries to write during a rotation. Writing and rotating needs to be properly synchronized, but using a Mutex is problematic here because the synchronization must be usable already at argument parse time. The patch replaces the previously used mutexes with semaphores (like with the LogConfiguration_lock case). LogFileOutputs are now rotatable at any time and the LogOutput interface has been simplified to reflect this.
Webrev:
http://cr.openjdk.java.net/~mlarsson/8145294/
Issue:
https://bugs.openjdk.java.net/browse/JDK-8145294
Testing:
TestLogRotation in RBT and locally
Thanks,
Marcus
More information about the serviceability-dev
mailing list