OpenJDK8 Thread.sleep will deadlock while turn down system date time.
张泽鹏
redraiment at gmail.com
Sat Apr 8 03:12:47 UTC 2017
Hi all,
I found a Java process deadlock issue, and can be reproduced in FreeBSD
10.3 and 11.0 .
My environment:
* VirutalBox 5.1.16 r113841 on Mac OS X 10.12.4
* FreeBSD-11.0-RELEASE-amd64.vhd.xz
Reproduction steps:
1. install openjdk8
```sh
pkg install openjdk8
```
2. Java source code
```java
public class Main {
public static void main(String[] args) {
while (true) {
System.out.println("tick");
Thread.sleep(3000);
}
}
}
```
3. Run java
```sh
$ javac Main.java
$ java Main
tick
tick
...
```
4. Turn down system date time.
```sh
$ date '+%Y-%m-%d %H:%M:%S'
20170408 11:09:11
$ date 201001010000
Fri Jan 1 00:00:00 CST 2010
```
Then, the java process will hung.
The issue will reproduce while turn "DOWN" the date time. It's OK while
turn up the date time.
Thanks!
More information about the freebsd-java
mailing list