RFR: 8293067: (fs) Implement WatchService using system library (macOS)

Maxim Kartashev mkartashev at openjdk.org
Tue Nov 15 10:09:05 UTC 2022


On Sun, 13 Nov 2022 15:29:02 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>>> In our CI system `test/jdk/java/nio/file/WatchService/Move.java` appears to time out consistently, although I have not seen it happen on my local machine.
>> 
>> Can you provide the `.jtr` file, please? I haven't seen the test hang, but by inserting different delays different systems can expose synchronization issues, of course.
>
>> In our CI system `test/jdk/java/nio/file/WatchService/Move.java` appears to time out consistently, although I have not seen it happen on my local machine.
> 
> I've been backed up with other things and finally getting to look at this more closely. For testing, I tried both release and debug builds across a range of macOS releases on both x64 and aarch64. Unfortunately there is a lot of timeouts and intermittent failures and across quite a range of macOS releases (from 10.15 to 12.2).
> 
> The most frequent failure seems to be the testOverflowEvent test in LotsOfEvents.  Here's an example failure:
> 
> ----------System.out:(1/47)----------
> Seed from RandomFactory = 1932318894124342221L
> ----------System.err:(12/655)----------
> java.lang.RuntimeException: Key not signalled (unexpected)
> 	at LotsOfEvents.drainAndCheckOverflowEvents(LotsOfEvents.java:105)
> 	at LotsOfEvents.testOverflowEvent(LotsOfEvents.java:78)
> 	at LotsOfEvents.main(LotsOfEvents.java:51)
> 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
> 	at java.base/java.lang.reflect.Method.invoke(Method.java:578)
> 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
> 	at java.base/java.lang.Thread.run(Thread.java:1591)

@AlanBateman still can't reproduce any of that on my hardware, so I added some tracing so that next time tests are run we can at least see what's happening.

-------------

PR: https://git.openjdk.org/jdk/pull/10140


More information about the nio-dev mailing list