-
Bug
-
Resolution: Done
-
Minor
-
1.4.0.Beta1, 1.3.12.Final, 2.0.0.Alpha1
-
None
-
None
-
-
User Experience
When I run a performance benchmark and terminate the 'wrk' load generator,
Undertow produces lots of NPEs in class DeflatingStreamSinkConduit.
Can be reproduced in latest branches 1.3.x, 1.4.x and master (2.0.0.beta)
checked out as of today, 17th of January 2016.
Example log from running latest branch 1.4.x
Jan 17, 2016 3:27:37 PM io.undertow.server.Connectors executeRootHandler ERROR: UT005071: Undertow request failed HttpServerExchange{ GET /mos_stations.geojson request {Accept-Encoding=[gzip], Host=[localhost:8080]} response {Content-Encoding=[gzip], Connection=[keep-alive], Last-Modified=[Thu, 26 Nov 2015 18:30:02 GMT], Transfer-Encoding=[chunked], Content-Type=[application/octet-stream], Date=[Sun, 17 Jan 2016 14:27:37 GMT]}} java.lang.NullPointerException at io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired(DeflatingStreamSinkConduit.java:389) at io.undertow.conduits.DeflatingStreamSinkConduit.transferFrom(DeflatingStreamSinkConduit.java:163) at org.xnio.conduits.ConduitStreamSinkChannel.transferFrom(ConduitStreamSinkChannel.java:142) at io.undertow.channels.DetachableStreamSinkChannel.transferFrom(DetachableStreamSinkChannel.java:127) at io.undertow.server.HttpServerExchange$WriteDispatchChannel.transferFrom(HttpServerExchange.java:1951) at io.undertow.io.AsyncSenderImpl$TransferTask.run(AsyncSenderImpl.java:74) at io.undertow.io.AsyncSenderImpl$TransferTask.run(AsyncSenderImpl.java:103) at io.undertow.io.AsyncSenderImpl.transferFrom(AsyncSenderImpl.java:256) at io.undertow.server.handlers.resource.PathResource$1TransferTask.run(PathResource.java:217) at io.undertow.server.handlers.resource.PathResource.serveImpl(PathResource.java:247) at io.undertow.server.handlers.resource.PathResource.serve(PathResource.java:105) at io.undertow.server.handlers.resource.ResourceHandler$1.handleRequest(ResourceHandler.java:316) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)