Greetings!
Gatling with open-jdk-1.7.0 has been giving me some issues and wondering if you could help me out. Essentially, I noticed that Gatling took greater than 2 minutes to start up on a machine that had open-jdk. I tried to modify the gatling.sh file to print out the list of classes being loaded using the -verbose:class option that java provides and I noticed that the process was stuck for a significant time trying to load this pakage: sun.net.sdp.SdpProvider from open-jdk-1.7.0. Below you will find the core dump. Looks like they are waiting on a condition and the lock is not being released. After 2 minutes this is followed by [Loaded java.net.ConnectException from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/jre/lib/rt.jar]. Wondering how I should resolve this delay in the start up of Gatling? Let me know if I can provide any additional information. Thank you.
[Loaded sun.net.sdp.SdpProvider from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/jre/lib/rt.jar]
2015-10-12 18:24:31
Full thread dump OpenJDK 64-Bit Server VM (24.45-b08 mixed mode):
“Service Thread” daemon prio=10 tid=0x00007fac300a7800 nid=0x7791 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
“C2 CompilerThread1” daemon prio=10 tid=0x00007fac300a5000 nid=0x7790 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
“C2 CompilerThread0” daemon prio=10 tid=0x00007fac300a2800 nid=0x778f waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
“Signal Dispatcher” daemon prio=10 tid=0x00007fac300a0000 nid=0x778e waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
“Finalizer” daemon prio=10 tid=0x00007fac3007d000 nid=0x778d in Object.wait() [0x00007fac2c9f8000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000f9c057c8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) - locked <0x00000000f9c057c8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189)
“Reference Handler” daemon prio=10 tid=0x00007fac3007b000 nid=0x778c in Object.wait() [0x00007fac2caf9000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000f9c05350> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:503)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133) - locked <0x00000000f9c05350> (a java.lang.ref.Reference$Lock)
“main” prio=10 tid=0x00007fac3000b800 nid=0x7786 runnable [0x00007fac35f46000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
- locked <0x00000000fbd97590> (a java.net.SocksSocketImpl)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:160)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527) - locked <0x00000000fbd96988> (a sun.net.www.protocol.https.HttpsClient)
at sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:275)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:371)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:932)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
at io.gatling.core.util.Ga$$anonfun$send$1.apply$mcV$sp(Ga.scala:40)
at io.gatling.core.util.Ga$$anonfun$send$1.apply(Ga.scala:33)
at io.gatling.core.util.Ga$$anonfun$send$1.apply(Ga.scala:33)
at scala.util.Try$.apply(Try.scala:192)
at io.gatling.core.util.Ga$.send(Ga.scala:33)
at io.gatling.app.Gatling.runIfNecessary(Gatling.scala:71)
at io.gatling.app.Gatling.start(Gatling.scala:63)
at io.gatling.app.Gatling$.start(Gatling.scala:51)
at io.gatling.app.Gatling$.fromArgs(Gatling.scala:43)
at io.gatling.app.Gatling$.main(Gatling.scala:37)
at io.gatling.app.Gatling.main(Gatling.scala)
“VM Thread” prio=10 tid=0x00007fac30076800 nid=0x778b runnable
“GC task thread#0 (ParallelGC)” prio=10 tid=0x00007fac30021000 nid=0x7787 runnable
“GC task thread#1 (ParallelGC)” prio=10 tid=0x00007fac30023000 nid=0x7788 runnable
“GC task thread#2 (ParallelGC)” prio=10 tid=0x00007fac30025000 nid=0x7789 runnable
“GC task thread#3 (ParallelGC)” prio=10 tid=0x00007fac30027000 nid=0x778a runnable
“VM Periodic Task Thread” prio=10 tid=0x00007fac300b2800 nid=0x7792 waiting on condition
JNI global references: 138
Heap
PSYoungGen total 89600K, used 35831K [0x00000000f9c00000, 0x0000000100000000, 0x0000000100000000)
eden space 76800K, 46% used [0x00000000f9c00000,0x00000000fbefdf60,0x00000000fe700000)
from space 12800K, 0% used [0x00000000ff380000,0x00000000ff380000,0x0000000100000000)
to space 12800K, 0% used [0x00000000fe700000,0x00000000fe700000,0x00000000ff380000)
ParOldGen total 421888K, used 0K [0x00000000e0000000, 0x00000000f9c00000, 0x00000000f9c00000)
object space 421888K, 0% used [0x00000000e0000000,0x00000000e0000000,0x00000000f9c00000)
PSPermGen total 21504K, used 14736K [0x00000000d5a00000, 0x00000000d6f00000, 0x00000000e0000000)
object space 21504K, 68% used [0x00000000d5a00000,0x00000000d68640f0,0x00000000d6f00000)