Logging FileHandler: static locks and hardcoded maximum number

Daniel Fuchs daniel.fuchs at oracle.com
Thu Feb 19 14:56:30 UTC 2015


Thanks Behrooz.

Could you log an issue for this then?
If you can attach a small reproducer it will be helpful.

There are a bunch of unit tests in the JDK that verify
that FileHandler .lck files are correctly deleted - but
these tests are all mono-process. I would like to make
sure to chase down the real issue - so a small isolated
reproducer would definitely help.

best regards,

-- daniel

On 19/02/15 15:29, Behrooz Nobakht wrote:
> Hi Daniel,
>
> Thanks for referring to this ticket.
> Here is what I did.
>
> My Java version:
>
> java version "1.8.0_40-ea"
> Java(TM) SE Runtime Environment (build 1.8.0_40-ea-b21)
> Java HotSpot(TM) 64-Bit Server VM (build 25.40-b24, mixed mode)
>
> So, to make this more observable.
> The p1 process invokes a command with p2: start and stop.
> So, with 50 pairs of start and stop, we should be able to see the
> problem again.
>
> I ran a script that invokes start from p1, gets the status of p2, stops
> p2 and confirms its status again.
> Here's the output from run 49:
>
> ===
> run 49
> Invoking Start
> RUNNING
> Invoking Stop
> STOPPED
> run 49 - Done
> run 50
> Invoking Start
> RUNNING
> Invoking Stop
> STOPPED
> run 50 - Done
> run 51
> Invoking Start
> RUNNING
> Invoking Stop
> RUNNING
> run 51 - Done
> run 52
> Invoking Start
> STOPPED
> Invoking Stop
> STOPPED
> run 52 - Done
> run 53
> Invoking Start
> STOPPED
> Invoking Stop
> STOPPED
> run 53 - Done
> run 54
> Invoking Start
> STOPPED
> Invoking Stop
> STOPPED
> run 54 - Done
> ===
>
> As the above shows, starting run 51, the expected status is violated.
> And, here is what I get a lsof of the log directory on the application:
>
> ===
> -rw-rw-r-- 1 appuser appuser    0 Feb 19 15:19 app.stdouterr.100.0.log.lck
> -rw-rw-r-- 1 appuser appuser 3.0K Feb 19 15:19 app.stdouterr.100.0.log
> -rw-rw-r-- 1 appuser appuser    0 Feb 19 15:16 app.stdouterr.0.0.log.lck
> -rw-rw-r-- 1 appuser appuser  366 Feb 19 15:16 app.stdouterr.0.0.log
> ===
>
> Thanks for your time on this,
> Behrooz
>
>
>
>
>
> On Thu, Feb 19, 2015 at 3:01 PM, Daniel Fuchs <daniel.fuchs at oracle.com
> <mailto:daniel.fuchs at oracle.com>> wrote:
>
>     Hi Behrooz,
>
>     On 19/02/15 13:46, Behrooz Nobakht wrote:
>
>         The version of Java is irrelevant. We have tested our setup
>         on Java 7 and Java 8 u25/31. We observe the same exception.
>
>
>     Ok - then the version is indeed relevant ;-)
>
>     What you are observing may be a symptom of
>     https://bugs.openjdk.java.net/__browse/JDK-8048020
>     <https://bugs.openjdk.java.net/browse/JDK-8048020>
>     which was fixed in 8u40 build 6.
>
>     If you would like to verify that this bug is indeed
>     what is causing your issue, you may want to try out
>     your setup with an early access build of 8u40, and
>     see if the problem disappears.
>
>     Early access of 8u40 may be downloaded from there:
>     https://jdk8.java.net/__download.html
>     <https://jdk8.java.net/download.html>
>
>
>     best regards,
>
>     -- daniel
>
>
>
>
> --
> -- Behrooz Nobakht




More information about the core-libs-dev mailing list