We are experiencing this in only one specific environment but not elsewhere.
Execution halts here:
MongoClient client = new MongoClient( Arrays.asList(new ServerAddress("localhost", 27017), new ServerAddress("localhost", 27018), new ServerAddress("localhost", 27019)), MongoClientOptions.builder().connectionsPerHost(10).threadsAllowedToBlockForConnectionMultiplier(5) .connectTimeout(5000).writeConcern(WriteConcern.NORMAL).build());
Stacktrace:
2016-01-22 22:20:02 Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.0-b11 mixed mode): "Attach Listener" daemon prio=10 tid=0x00007fd25c001000 nid=0x2f5d runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Low Memory Detector" daemon prio=10 tid=0x00007fd28c08e800 nid=0x568 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread1" daemon prio=10 tid=0x00007fd28c08c800 nid=0x567 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread0" daemon prio=10 tid=0x00007fd28c089800 nid=0x566 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" daemon prio=10 tid=0x00007fd28c087800 nid=0x565 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Finalizer" daemon prio=10 tid=0x00007fd28c06d800 nid=0x564 in Object.wait() [0x00007fd27b75f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007c1f61300> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x00000007c1f61300> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source) "Reference Handler" daemon prio=10 tid=0x00007fd28c06b800 nid=0x563 in Object.wait() [0x00007fd27b860000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007c1f611d8> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source) - locked <0x00000007c1f611d8> (a java.lang.ref.Reference$Lock) "main" prio=10 tid=0x00007fd28c007000 nid=0x55d runnable [0x00007fd2905f3000] java.lang.Thread.State: RUNNABLE at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$1.lookupAllHostAddr(Unknown Source) at java.net.InetAddress.getAddressFromNameService(Unknown Source) at java.net.InetAddress.getLocalHost(Unknown Source) at sun.management.VMManagementImpl.getVmId(Unknown Source) at sun.management.RuntimeImpl.getName(Unknown Source) at org.bson.types.ObjectId.<clinit>(ObjectId.java:568) at com.mongodb.Bytes.<clinit>(Bytes.java:226) at com.mongodb.Mongo.<clinit>(Mongo.java:76) at com.til.ibeat.script.AggregateTagsSort.createConnection(AggregateTagsSort.java:68) at com.til.ibeat.script.AggregateTagsSort.<init>(AggregateTagsSort.java:53) at com.til.ibeat.script.AggregateTagsSort.main(AggregateTagsSort.java:691) "VM Thread" prio=10 tid=0x00007fd28c065000 nid=0x562 runnable "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007fd28c01a000 nid=0x55e runnable "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007fd28c01c000 nid=0x55f runnable "GC task thread#2 (ParallelGC)" prio=10 tid=0x00007fd28c01d800 nid=0x560 runnable "GC task thread#3 (ParallelGC)" prio=10 tid=0x00007fd28c01f800 nid=0x561 runnable "VM Periodic Task Thread" prio=10 tid=0x00007fd28c099800 nid=0x569 waiting on condition JNI global references: 983
2016-02-04 10:28:48 Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.45-b01 mixed mode): "Attach Listener" daemon prio=10 tid=0x00007f5268001000 nid=0x411d waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Low Memory Detector" daemon prio=10 tid=0x00007f529c095800 nid=0x3964 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "C2 CompilerThread1" daemon prio=10 tid=0x00007f529c093800 nid=0x3963 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "C2 CompilerThread0" daemon prio=10 tid=0x00007f529c090800 nid=0x3962 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Signal Dispatcher" daemon prio=10 tid=0x00007f529c08e800 nid=0x3961 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Finalizer" daemon prio=10 tid=0x00007f529c072000 nid=0x395b in Object.wait() [0x00007f52a067e000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007ad161300> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x00000007ad161300> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source) Locked ownable synchronizers: - None "Reference Handler" daemon prio=10 tid=0x00007f529c070000 nid=0x395a in Object.wait() [0x00007f52a077f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007ad1611d8> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source) - locked <0x00000007ad1611d8> (a java.lang.ref.Reference$Lock) Locked ownable synchronizers: - None "main" prio=10 tid=0x00007f529c007800 nid=0x3946 runnable [0x00007f52a2f50000] java.lang.Thread.State: RUNNABLE at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$1.lookupAllHostAddr(Unknown Source) at java.net.InetAddress.getAddressFromNameService(Unknown Source) at java.net.InetAddress.getLocalHost(Unknown Source) - locked <0x00000007ad5c1998> (a java.lang.Object) at sun.management.VMManagementImpl.getVmId(Unknown Source) at sun.management.RuntimeImpl.getName(Unknown Source) at org.bson.types.ObjectId.createProcessIdentifier(ObjectId.java:506) at org.bson.types.ObjectId.<clinit>(ObjectId.java:464) at com.mongodb.connection.ClusterId.<init>(ClusterId.java:47) at com.mongodb.connection.DefaultClusterFactory.create(DefaultClusterFactory.java:69) at com.mongodb.Mongo.createCluster(Mongo.java:682) at com.mongodb.Mongo.createCluster(Mongo.java:656) at com.mongodb.Mongo.<init>(Mongo.java:285) at com.mongodb.Mongo.<init>(Mongo.java:273) at com.mongodb.MongoClient.<init>(MongoClient.java:238) at com.til.ibeat.script.SocialGraphDataRef.createConnection(SocialGraphDataRef.java:51) at com.til.ibeat.script.SocialGraphDataRef.<init>(SocialGraphDataRef.java:43) at com.til.ibeat.script.SocialGraphDataRef.main(SocialGraphDataRef.java:99) Locked ownable synchronizers: - None "VM Thread" prio=10 tid=0x00007f529c069800 nid=0x3957 runnable "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f529c01a800 nid=0x394c runnable "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f529c01c000 nid=0x394e runnable "GC task thread#2 (ParallelGC)" prio=10 tid=0x00007f529c01e000 nid=0x394f runnable "GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f529c020000 nid=0x3950 runnable "GC task thread#4 (ParallelGC)" prio=10 tid=0x00007f529c022000 nid=0x3951 runnable "GC task thread#5 (ParallelGC)" prio=10 tid=0x00007f529c024000 nid=0x3952 runnable "VM Periodic Task Thread" prio=10 tid=0x00007f529c0a8800 nid=0x3965 waiting on condition JNI global references: 1034
MongoDB version - 3.0.8
Java Driver Version - 3.0.0