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