java.lang.NullPointerException at org.vertx.java.core.http.impl.ClientConnection.handleResponseChunk

1,556 views
Skip to first unread message

Trevor S

unread,
Jun 12, 2014, 9:46:38 AM6/12/14
to ve...@googlegroups.com
Hi, i'm getting this error when using an http client from within vertx when it is processing http responses.  It might mean i will have to try another http client for a library i am writing! :(


09:11:15.005 [vert.x-worker-thread-17] ERROR n.g.c.vertx.AppService-1020249413 - Exception in Groovy verticle

java.lang.NullPointerException: null

                at org.vertx.java.core.http.impl.ClientConnection.handleResponseChunk(ClientConnection.java:306) ~[vertx-core-2.1.jar:na]

                at org.vertx.java.core.http.impl.DefaultHttpClient$ClientHandler.doMessageReceived(DefaultHttpClient.java:802) [vertx-core-2.1.jar:na]

                at org.vertx.java.core.http.impl.DefaultHttpClient$ClientHandler.doMessageReceived(DefaultHttpClient.java:775) [vertx-core-2.1.jar:na]

                at org.vertx.java.core.http.impl.VertxHttpHandler$1.run(VertxHttpHandler.java:71) [vertx-core-2.1.jar:na]

                at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175) [vertx-core-2.1.jar:na]

                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_45]

                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_45]

                at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]


i do not get this when running from a standalone unit test, but i do from inside a running vertx app (i'm checking tomcat shortly)  Either way, i initialize the client as Vertx.newVertx().createHttpClient.  But when the same client code is run inside a vertx worker verticle, i don't get http responses.

also, when i run vertx:runMod in debugger mode, and set breakpoint at ClientConnection.java:306, it does sometime work and process the response. (!!??!)

note the vertx exception below and the attached debugger screen shot of nullpointers in netty DefaultHttyHeaders.getKey().  not sure if that is the cause or just coincidence.



my code is doing this (approx)...


def method() {
def latch - new CountDownLatch(1)

 client.post(url) { response ->
        
      println "Response has status $response.status" 

        if (response.status == 200) {
             // we get here
            
           response.bodyHandler { buffer ->
                // we never get here
                 rawResponse = buffer.toString()
                latch.countdown()
     

     }.end(content)
     latch.await(10, TimeUnit.SECONDS)
     
return rawResponse



}


}

any help/pointers would be appreciated.   

Thanks,
Trevor
netty.png

Trevor S

unread,
Jun 12, 2014, 8:28:15 PM6/12/14
to ve...@googlegroups.com

i've simulated this now again just using vertx and also got it to work by running the http client in a non-worker verticle.

In summary, my conclusion is that you cannot use HttpClient in a worker verticle..because it seems to want to run on the event loop(?)

Tim can you please confirm this?  

Tim Fox

unread,
Jun 13, 2014, 3:03:42 AM6/13/14
to ve...@googlegroups.com
I think it's this issue:  https://github.com/eclipse/vert.x/pull/826

It will manifest when embedding or on a worker verticle.

The fix is pretty trivial - it's already fixed in the 3.0 codebase, I guess I should fix it in the 2.1 branch too...
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Trevor S

unread,
Jun 13, 2014, 7:51:12 PM6/13/14
to ve...@googlegroups.com
oh, if you could merge that into 2.1 i would be exceedingly grateful ... we go to prod in 3 weeks!   i'll build from src.  :)

Trevor S

unread,
Jun 13, 2014, 7:58:46 PM6/13/14
to ve...@googlegroups.com
btw, if i make the worker verticle NOT multithreaded, the issue is relaxed a bit.  (it works after the first attempt (which fails to actually post), but i am only testing sequentially at the moment.)

Norman Maurer

unread,
Jun 14, 2014, 3:04:00 AM6/14/14
to ve...@googlegroups.com
As far as I can tell Tim merged the fix into master yesterday

Tim Fox

unread,
Jun 14, 2014, 3:37:31 AM6/14/14
to ve...@googlegroups.com
It's fixed in master now. Can you try it out?

We'll do a 2.1.1 release in the next couple of weeks.

Trevor S

unread,
Jun 14, 2014, 12:53:19 PM6/14/14
to ve...@googlegroups.com
i uploaded a sample project that shows the issue here.  2.1.1-snapshot didnt seem to fix,


if you do a mvn runMod and hit http://localhost:9903/api/doPost from your browser u will see.

then in Bootstrap, change the HttpClientVerticle to multithreaded=false.  it then works, but sometimes gets 'stuck' - you'll see your browser waiting.  (note, i dont think i actually need a multthreaded verticle, but there is this periodic sticking issue with the single threaded one)

This example is written in the spirit of how my app is constructed.  the client api is to be used standalone as well.  (note, i'm also using SSL with my client (which works great btw), but i was able to recreate the issue with this simple example)

Tim Fox

unread,
Jun 14, 2014, 1:02:58 PM6/14/14
to ve...@googlegroups.com
Can I ask why you are using a multi-threaded worker verticle?

For most apps standard verticles will be the norm, unless you have to call a blocking API, in which case you can encapsulate the blocking logic in a worker verticle, but even then it's unlikely to be multi-threaded.

Trevor S

unread,
Jun 14, 2014, 1:47:30 PM6/14/14
to ve...@googlegroups.com
Yeah, i don't think i need to use a multithreaded verticle...ultimately I'm starting N verticle instances and they share a spring app context...so That's fine. It's just that it's been working just fine for a while now, until adding this http call to an external service. I didn't expect an issue..but here we are.

But the example still shows a bit of sticking with a single threaded verticle and I would be interested in knowing how to resolve that. If we solve this stickiness (non responses) on some post responses with a single threaded verticle I am fine.

Trevor S

unread,
Jun 14, 2014, 1:51:15 PM6/14/14
to ve...@googlegroups.com
Having said that, should http client work in a multithreaded worker verticle? It's not clear to me, and If not, that would be good to document for the next guy? What does that imply for using http client posts in multithreaded tomcat for example?

Thanks for help and great work with vertx, much appreciated!!!

Tim Fox

unread,
Jun 14, 2014, 3:02:31 PM6/14/14
to ve...@googlegroups.com
Well it should work ;) Can you open a BZ?

On 14/06/14 18:51, Trevor S wrote:
> Having said that, should http client work in a multithreaded worker verticle? It's not clear to me, and If not, that would be good to document for the next guy? What does that imply for using http client posts in multithreaded tomcat for example?

Can you explain a bit about where Tomcat comes into this? I'm not
familiar with your use case.

Trevor S

unread,
Jun 14, 2014, 3:59:32 PM6/14/14
to ve...@googlegroups.com
Thanks, i created a BZ https://bugs.eclipse.org/bugs/show_bug.cgi?id=437457

2 more notes

1)  when using as single threaded and left for a while with no activity, initial subsequent requests nullpointer, but then the client seems to 'wake' up and start processing after the second or third request.

INFO]  ======  SUCCESS - we got the response in the client  =======
[INFO] Business logic is executing...
[INFO] External service is responding to post request with {"response":{"status":"Success","message":"this is the external service post response"}}
[INFO] GOT POST RESPONSE WITH STATUS 200.
[INFO]  ======  SUCCESS - we got the response in the client  =======
[INFO] Business logic is executing...
[INFO] External service is responding to post request with {"response":{"status":"Success","message":"this is the external service post response"}}
[INFO] GOT POST RESPONSE WITH STATUS 200.
Jun 14, 2014 3:21:23 PM org.vertx.java.core.logging.impl.JULLogDelegate error
SEVERE: Exception in Groovy verticle
java.lang.NullPointerException
at org.vertx.java.core.http.impl.ServerConnection.handleChunk(ServerConnection.java:200)
at org.vertx.java.core.http.impl.ServerConnection.processMessage(ServerConnection.java:307)
at org.vertx.java.core.http.impl.ServerConnection.handleMessage(ServerConnection.java:94)
at org.vertx.java.core.http.impl.DefaultHttpServer$ServerHandler.doMessageReceived(DefaultHttpServer.java:695)
at org.vertx.java.core.http.impl.DefaultHttpServer$ServerHandler.doMessageReceived(DefaultHttpServer.java:585)
at org.vertx.java.core.http.impl.VertxHttpHandler$1.run(VertxHttpHandler.java:71)
at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

Jun 14, 2014 3:21:23 PM org.vertx.java.core.logging.impl.JULLogDelegate error
SEVERE: Exception in Groovy verticle
java.lang.NullPointerException
at org.vertx.java.core.http.impl.ServerConnection.handleChunk(ServerConnection.java:200)
at org.vertx.java.core.http.impl.ServerConnection.processMessage(ServerConnection.java:307)
at org.vertx.java.core.http.impl.ServerConnection.handleMessage(ServerConnection.java:94)
at org.vertx.java.core.http.impl.DefaultHttpServer$ServerHandler.doMessageReceived(DefaultHttpServer.java:695)
at org.vertx.java.core.http.impl.DefaultHttpServer$ServerHandler.doMessageReceived(DefaultHttpServer.java:585)
at org.vertx.java.core.http.impl.VertxHttpHandler$1.run(VertxHttpHandler.java:71)
at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

[INFO]  ======  SUCCESS - we got the response in the client  =======
Jun 14, 2014 3:21:26 PM org.vertx.java.core.logging.impl.JULLogDelegate error
[INFO] Business logic is executing...
SEVERE: Exception in Groovy verticle
[INFO] External service is responding to post request with {"response":{"status":"Success","message":"this is the external service post response"}}
java.lang.NullPointerException
[INFO] GOT POST RESPONSE WITH STATUS 200.
at org.vertx.java.core.http.impl.ServerConnection.handleChunk(ServerConnection.java:200)
[INFO]  ======  SUCCESS - we got the response in the client  =======
at org.vertx.java.core.http.impl.ServerConnection.processMessage(ServerConnection.java:307)
at org.vertx.java.core.http.impl.ServerConnection.handleMessage(ServerConnection.java:94)
at org.vertx.java.core.http.impl.DefaultHttpServer$ServerHandler.doMessageReceived(DefaultHttpServer.java:695)
at org.vertx.java.core.http.impl.DefaultHttpServer$ServerHandler.doMessageReceived(DefaultHttpServer.java:585)
at org.vertx.java.core.http.impl.VertxHttpHandler$1.run(VertxHttpHandler.java:71)
at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

Jun 14, 2014 3:21:26 PM org.vertx.java.core.logging.impl.JULLogDelegate error
SEVERE: Exception in Groovy verticle
java.lang.NullPointerException
at org.vertx.java.core.http.impl.ServerConnection.handleChunk(ServerConnection.java:200)
at org.vertx.java.core.http.impl.ServerConnection.processMessage(ServerConnection.java:307)
at org.vertx.java.core.http.impl.ServerConnection.handleMessage(ServerConnection.java:94)
at org.vertx.java.core.http.impl.DefaultHttpServer$ServerHandler.doMessageReceived(DefaultHttpServer.java:695)
at org.vertx.java.core.http.impl.DefaultHttpServer$ServerHandler.doMessageReceived(DefaultHttpServer.java:585)
at org.vertx.java.core.http.impl.VertxHttpHandler$1.run(VertxHttpHandler.java:71)
at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

[INFO] Business logic is executing...
[INFO] External service is responding to post request with {"response":{"status":"Success","message":"this is the external service post response"}}
[INFO] GOT POST RESPONSE WITH STATUS 200.
[INFO]  ======  SUCCESS - we got the response in the client  =======
[INFO] Business logic is executing...
[INFO] External service is responding to post request with {"response":{"status":"Success","message":"this is the external service post response"}}
[INFO] GOT POST RESPONSE WITH STATUS 200.
[INFO]  ======  SUCCESS - we got the response in the client  =======
[INFO] Business logic is executing...
[INFO] External service is responding to post request with {"response":{"status":"Success","message":"this is the external service post response"}}
[INFO] GOT POST RESPONSE WITH STATUS 200.
[INFO]  ======  SUCCESS - we got the response in the client  =======
[INFO] Business logic is executing...
[INFO] External service is responding to post request with {"response":{"status":"Success","message":"this is the external service post response"}}
[INFO] GOT POST RESPONSE WITH STATUS 200.
[INFO]  ======  SUCCESS - we got the response in the client  =======
[INFO] Business logic is executing...
[INFO] External service is responding to post request with {"response":{"status":"Success","message":"this is the external service post response"}}
[INFO] GOT POST RESPONSE WITH STATUS 200.
[INFO]  ======  SUCCESS - we got the response in the client  =======




Thread dump during another run where the initial post was hanging: (single threaded worker verticle)

[INFO] Starting client verticle
[INFO] Business logic is executing...
2014-06-14 15:54:38
Full thread dump Java HotSpot(TM) 64-Bit Server VM (23.7-b01 mixed mode):

"globalEventExecutor-1-3" prio=5 tid=0x00007fa5932b2800 nid=0x6403 waiting on condition [0x000000010da8e000]
   java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f1831668> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
at io.netty.util.concurrent.GlobalEventExecutor.takeTask(GlobalEventExecutor.java:94)
at io.netty.util.concurrent.GlobalEventExecutor$TaskRunner.run(GlobalEventExecutor.java:322)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-4" daemon prio=5 tid=0x00007fa592326800 nid=0x6303 runnable [0x000000010d98b000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183ee20> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f1848760> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183edd0> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-3" daemon prio=5 tid=0x00007fa5918c8800 nid=0x6203 runnable [0x000000010d888000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183ecb8> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f1846550> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183ec68> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-15" daemon prio=5 tid=0x00007fa596000000 nid=0x6103 runnable [0x000000010d785000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183fd98> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f185fe10> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183fd48> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-14" daemon prio=5 tid=0x00007fa592008000 nid=0x300b runnable [0x000000010d682000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183fc30> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f185dc00> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183fbe0> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-13" daemon prio=5 tid=0x00007fa591b94000 nid=0x2907 runnable [0x000000010d57f000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183fac8> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f185b9f0> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183fa78> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-12" daemon prio=5 tid=0x00007fa591b93800 nid=0x2707 runnable [0x000000010a7f8000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183f960> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f18597e0> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183f910> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-11" daemon prio=5 tid=0x00007fa593339000 nid=0x6003 runnable [0x000000010d47c000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183f7f8> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f18575d0> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183f7a8> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-10" daemon prio=5 tid=0x00007fa591b92800 nid=0x5f03 runnable [0x000000010ca5e000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183f690> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f18553c0> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183f640> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-9" daemon prio=5 tid=0x00007fa592bcc800 nid=0x5e03 runnable [0x000000010d379000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183f528> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f18531b0> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183f4d8> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-8" daemon prio=5 tid=0x00007fa591b91000 nid=0x5d03 runnable [0x000000010d276000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183f3c0> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f1850fa0> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183f370> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-7" daemon prio=5 tid=0x00007fa592bcc000 nid=0x5c03 runnable [0x000000010d173000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183f258> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f184ed90> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183f208> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-6" daemon prio=5 tid=0x00007fa591b90000 nid=0x5b03 runnable [0x000000010d070000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183f0f0> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f184cb80> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183f0a0> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-19" daemon prio=5 tid=0x00007fa595828000 nid=0x5a03 waiting on condition [0x000000010cf6d000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-18" daemon prio=5 tid=0x00007fa592ccb000 nid=0x5903 waiting on condition [0x000000010ce6a000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-17" daemon prio=5 tid=0x00007fa5922bb800 nid=0x5803 waiting on condition [0x000000010cd67000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-16" daemon prio=5 tid=0x00007fa5950a0800 nid=0x5703 waiting on condition [0x000000010cc64000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-15" daemon prio=5 tid=0x00007fa593338000 nid=0x5603 waiting on condition [0x000000010cb61000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-2" daemon prio=5 tid=0x00007fa592178800 nid=0x5303 runnable [0x000000010c95b000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183eb50> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f1844340> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183eb00> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-5" daemon prio=5 tid=0x00007fa591b8f800 nid=0x5203 runnable [0x000000010b8b7000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183ef88> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f184a970> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183ef38> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-14" daemon prio=5 tid=0x00007fa5932f5000 nid=0x5003 waiting on condition [0x000000010c7ec000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-13" daemon prio=5 tid=0x00007fa593346800 nid=0x4f03 waiting on condition [0x000000010c6e9000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-12" daemon prio=5 tid=0x00007fa592287000 nid=0x4e03 waiting on condition [0x000000010c5e6000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-11" daemon prio=5 tid=0x00007fa595811800 nid=0x4d03 waiting on condition [0x000000010c4e3000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-10" daemon prio=5 tid=0x00007fa595811000 nid=0x4c03 waiting on condition [0x000000010c3e0000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-9" daemon prio=5 tid=0x00007fa595808000 nid=0x4b03 waiting on condition [0x000000010c2dd000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-8" daemon prio=5 tid=0x00007fa59580e000 nid=0x4a03 waiting on condition [0x000000010c1da000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-7" daemon prio=5 tid=0x00007fa59400e000 nid=0x4903 waiting on condition [0x000000010c0d7000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-6" daemon prio=5 tid=0x00007fa592823000 nid=0x4803 waiting on condition [0x000000010bfd4000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-5" daemon prio=5 tid=0x00007fa591a7d800 nid=0x4703 waiting on condition [0x000000010bed1000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-0" daemon prio=5 tid=0x00007fa592822000 nid=0x4603 runnable [0x000000010bdce000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f181a898> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f182e2e8> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f181a848> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-4" daemon prio=5 tid=0x00007fa59224e000 nid=0x4503 waiting on condition [0x000000010bccb000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-3" daemon prio=5 tid=0x00007fa591a79800 nid=0x4403 waiting on condition [0x000000010bbc8000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-2" daemon prio=5 tid=0x00007fa591a7d000 nid=0x4303 waiting on condition [0x000000010bac3000]
   java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007eca502e8> (a java.util.concurrent.CountDownLatch$Sync)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1033)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1326)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:282)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrap.invoke(PojoMetaMethodSite.java:210)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
at org.test.web.ClientApi.sendHttpPost(ClientApi.groovy:53)
at org.test.web.ClientApi$sendHttpPost.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at org.test.web.HttpClientVerticle$_start_closure2.doCall(HttpClientVerticle.groovy:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
at groovy.lang.Closure.call(Closure.java:423)
at groovy.lang.Closure.call(Closure.java:439)
at org.vertx.groovy.core.eventbus.EventBus$_wrapHandler_closure3.doCall(EventBus.groovy:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
at groovy.lang.Closure.call(Closure.java:423)
at org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:51)
at org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:81)
at sun.proxy.$Proxy22.handle(Unknown Source)
at org.vertx.java.core.eventbus.impl.DefaultEventBus$11.run(DefaultEventBus.java:943)
at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
at org.vertx.java.core.impl.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:92)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-eventloop-thread-1" daemon prio=5 tid=0x00007fa592cd0000 nid=0x4203 runnable [0x000000010b9c2000]
   java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:159)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f183e9e8> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000007f1842130> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f183e998> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:618)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:306)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-1" daemon prio=5 tid=0x00007fa591aaa000 nid=0x4103 waiting on condition [0x000000010b65b000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"vert.x-worker-thread-0" daemon prio=5 tid=0x00007fa593320800 nid=0x4003 waiting on condition [0x000000010b4ed000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e9528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"process reaper" daemon prio=5 tid=0x00007fa591b71800 nid=0x3f03 waiting on condition [0x000000010afbf000]
   java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17e95f8> (a java.util.concurrent.SynchronousQueue$TransferStack)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

"Monitor Ctrl-Break" daemon prio=5 tid=0x00007fa592836000 nid=0x3e03 runnable [0x000000010ae5d000]
   java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:150)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
- locked <0x00000007ec6ec588> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:154)
at java.io.BufferedReader.readLine(BufferedReader.java:317)
- locked <0x00000007ec6ec588> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(BufferedReader.java:382)
at com.intellij.rt.execution.application.AppMain$1.run(AppMain.java:88)
at java.lang.Thread.run(Thread.java:722)

"Service Thread" daemon prio=5 tid=0x00007fa595000000 nid=0x3c03 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=5 tid=0x00007fa592805800 nid=0x3b03 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=5 tid=0x00007fa592801000 nid=0x3a03 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=5 tid=0x00007fa594001000 nid=0x3903 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=5 tid=0x00007fa593052000 nid=0x2603 in Object.wait() [0x000000010a6bc000]
   java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007f1131550> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
- locked <0x00000007f1131550> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)

"Reference Handler" daemon prio=5 tid=0x00007fa593051000 nid=0x2503 in Object.wait() [0x000000010a5b9000]
   java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007f11315e8> (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 <0x00000007f11315e8> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=0x00007fa593000000 nid=0x1703 waiting on condition [0x0000000106fa5000]
   java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007f17938e8> (a java.util.concurrent.CountDownLatch$Sync)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1033)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1326)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:282)
at org.vertx.maven.plugin.mojo.VertxRunModMojo.execute(VertxRunModMojo.java:72)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

"VM Thread" prio=5 tid=0x00007fa59304e800 nid=0x2403 runnable 

"VM Periodic Task Thread" prio=5 tid=0x00007fa594002000 nid=0x3d03 waiting on condition 

JNI global references: 183

Heap
 def new generation   total 9536K, used 5616K [0x00000007ec200000, 0x00000007ecc50000, 0x00000007f10a0000)
  eden space 8512K,  60% used [0x00000007ec200000, 0x00000007ec702098, 0x00000007eca50000)
  from space 1024K,  47% used [0x00000007eca50000, 0x00000007ecaca318, 0x00000007ecb50000)
  to   space 1024K,   0% used [0x00000007ecb50000, 0x00000007ecb50000, 0x00000007ecc50000)
 tenured generation   total 21016K, used 14638K [0x00000007f10a0000, 0x00000007f2526000, 0x00000007fae00000)
   the space 21016K,  69% used [0x00000007f10a0000, 0x00000007f1eebbd0, 0x00000007f1eebc00, 0x00000007f2526000)
 compacting perm gen  total 29248K, used 28992K [0x00000007fae00000, 0x00000007fca90000, 0x0000000800000000)
   the space 29248K,  99% used [0x00000007fae00000, 0x00000007fca50330, 0x00000007fca50400, 0x00000007fca90000)
No shared spaces configured.

[INFO] External service is responding to post request with {"response":{"status":"Success","message":"this is the external service post response"}}
[INFO] GOT POST RESPONSE WITH STATUS 200.
[INFO]  ======  SUCCESS - we got the response in the client  =======



mubbashar husain

unread,
Jun 15, 2014, 1:05:49 PM6/15/14
to ve...@googlegroups.com
getting null pointer exception in 

HttpClientResponse when run in worker verticle. but when i run in standard verticle it works fine. is this issue fixed already ?

<span class="Apple-tab
...

Maziz Esa

unread,
Aug 16, 2014, 2:28:10 AM8/16/14
to ve...@googlegroups.com
Hi Tim,

Is the fix included in 2.1.2?

Thanks.
Regards,
Maziz.

Maziz Esa

unread,
Aug 16, 2014, 3:04:06 AM8/16/14
to ve...@googlegroups.com
Sorry. Don't mind this message. It's working now. I off multithreaded option when deploying the worker Verticle.

Regards
Reply all
Reply to author
Forward
0 new messages