I also met this problem.
You can use jstack -l <pid>
to see what pio doing, in my case
"main" #1 prio=5 os_prio=0 tid=0x00007fdf2c009800 nid=0xa53 runnable [0x00007fdf33340000]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:255)
at sun.security.provider.NativePRNG$RandomIO.readFully(NativePRNG.java:410)
at sun.security.provider.NativePRNG$RandomIO.getMixRandom(NativePRNG.java:390)
- locked <0x00000000d662b468> (a java.lang.Object)
at sun.security.provider.NativePRNG$RandomIO.implNextBytes(NativePRNG.java:483)
- locked <0x00000000d662b468> (a java.lang.Object)
at sun.security.provider.NativePRNG$RandomIO.access$400(NativePRNG.java:329)
at sun.security.provider.NativePRNG$Blocking.engineNextBytes(NativePRNG.java:266)
at java.security.SecureRandom.nextBytes(SecureRandom.java:468)
- locked <0x00000000d6d0f700> (a java.security.SecureRandom)
at io.prediction.data.storage.AccessKeys$class.generateKey(AccessKeys.scala:68)
at io.prediction.data.storage.jdbc.JDBCAccessKeys.generateKey(JDBCAccessKeys.scala:27)
at io.prediction.data.storage.jdbc.JDBCAccessKeys$$anonfun$2.apply(JDBCAccessKeys.scala:40)
at io.prediction.data.storage.jdbc.JDBCAccessKeys$$anonfun$2.apply(JDBCAccessKeys.scala:39)
at scalikejdbc.DBConnection$$anonfun$3.apply(DBConnection.scala:297)
at scalikejdbc.DBConnection$class.scalikejdbc$DBConnection$$rollbackIfThrowable(DBConnection.scala:274)
at scalikejdbc.DBConnection$class.localTx(DBConnection.scala:295)
at scalikejdbc.DB.localTx(DB.scala:60)
at scalikejdbc.DB$.localTx(DB.scala:257)
at io.prediction.data.storage.jdbc.JDBCAccessKeys.insert(JDBCAccessKeys.scala:39)
at io.prediction.tools.console.App$$anonfun$create$1$$anonfun$apply$mcI$sp$1.apply$mcII$sp(App.scala:57)
at io.prediction.tools.console.App$$anonfun$create$1$$anonfun$apply$mcI$sp$1.apply(App.scala:52)
at io.prediction.tools.console.App$$anonfun$create$1$$anonfun$apply$mcI$sp$1.apply(App.scala:52)
at scala.Option.map(Option.scala:145)
at io.prediction.tools.console.App$$anonfun$create$1.apply$mcI$sp(App.scala:52)
at io.prediction.tools.console.App$$anonfun$create$1.apply(App.scala:39)
at io.prediction.tools.console.App$$anonfun$create$1.apply(App.scala:39)
at scala.Option.getOrElse(Option.scala:120)
at io.prediction.tools.console.App$.create(App.scala:39)
at io.prediction.tools.console.Console$$anonfun$main$1.apply(Console.scala:739)
at io.prediction.tools.console.Console$$anonfun$main$1.apply(Console.scala:693)
at scala.Option.map(Option.scala:145)
at io.prediction.tools.console.Console$.main(Console.scala:693)
at io.prediction.tools.console.Console.main(Console.scala)
so I think it's hang in get random.
Then, I check /proc/sys/kernel/random/entropy_avail
, it's very small.
My solution is flood ping sudo ping -f 10.10.255.1
.