Several weird errors under high load with grizzly in glassfish

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Several weird errors under high load with grizzly in glassfish

wild
Hello,

On glassfish 2.1, I have the following errors the server.log files :

1./ java.lang.StackOverflowError

Very strange and scary error but it is printed as a warning in log files. Does anyone have already seen this error ?

WARNING|sun-appserver2.1|javax.enterprise.system.stream.err|_ThreadID=172;_ThreadName=httpWorkerThread-8280-466;_Reque
stID=355fd080-200e-4c78-b7c2-9186137e84fb;|
java.lang.StackOverflowError
        at org.apache.tomcat.util.http.MimeHeaders.setValue(MimeHeaders.java:304)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.prepareResponse(DefaultProcessorTask.java:1394)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.action(DefaultProcessorTask.java:863)
        at org.apache.coyote.Response.action(Response.java:235)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:360)
        at com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.flush(SocketChannelOutputBuffer.java:180)
        at com.sun.enterprise.web.connector.grizzly.async.AsynchronousOutputBuffer.flush(AsynchronousOutputBuffer.java:103)
        at com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.realWriteBytes(SocketChannelOutputBuffer.java:145)
        at com.sun.enterprise.web.connector.grizzly.async.AsynchronousOutputBuffer.realWriteBytes(AsynchronousOutputBuffer.java:70)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:378)
        at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:815)
        at org.apache.coyote.http11.InternalOutputBuffer.sendStatus(InternalOutputBuffer.java:502)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.prepareResponse(DefaultProcessorTask.java:1457)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.action(DefaultProcessorTask.java:863)
        at org.apache.coyote.Response.action(Response.java:235)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:360)
        at com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.flush(SocketChannelOutputBuffer.java:180)
        at com.sun.enterprise.web.connector.grizzly.async.AsynchronousOutputBuffer.flush(AsynchronousOutputBuffer.java:103)
        at com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.realWriteBytes(SocketChannelOutputBuffer.java:145)
        at com.sun.enterprise.web.connector.grizzly.async.AsynchronousOutputBuffer.realWriteBytes(AsynchronousOutputBuffer.java:70)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:378)
        at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:815)
        at org.apache.coyote.http11.InternalOutputBuffer.sendStatus(InternalOutputBuffer.java:502)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.prepareResponse(DefaultProcessorTask.java:1457)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.action(DefaultProcessorTask.java:863)
        at org.apache.coyote.Response.action(Response.java:235)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:360)
        at com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.flush(SocketChannelOutputBuffer.java:180)
        at com.sun.enterprise.web.connector.grizzly.async.AsynchronousOutputBuffer.flush(AsynchronousOutputBuffer.java:103)
        at com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.realWriteBytes(SocketChannelOutputBuffer.java:145)
        at com.sun.enterprise.web.connector.grizzly.async.AsynchronousOutputBuffer.realWriteBytes(AsynchronousOutputBuffer.java:70)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:378)
        at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:815)
        at org.apache.coyote.http11.InternalOutputBuffer.sendStatus(InternalOutputBuffer.java:502)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.prepareResponse(DefaultProcessorTask.java:1457)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.action(DefaultProcessorTask.java:863)
        at org.apache.coyote.Response.action(Response.java:235)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:360)
        at com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.flush(SocketChannelOutputBuffer.java:180)
        at com.sun.enterprise.web.connector.grizzly.async.AsynchronousOutputBuffer.flush(AsynchronousOutputBuffer.java:103)
        at com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.realWriteBytes(SocketChannelOutputBuffer.java:145)
        at com.sun.enterprise.web.connector.grizzly.async.AsynchronousOutputBuffer.realWriteBytes(AsynchronousOutputBuffer.java:70)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:378)
        at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:815)
        at org.apache.coyote.http11.InternalOutputBuffer.sendStatus(InternalOutputBuffer.java:502)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.prepareResponse(DefaultProcessorTask.java:1457)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.action(DefaultProcessorTask.java:863)
        at org.apache.coyote.Response.action(Response.java:235)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:360)
        at com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.flush(SocketChannelOutputBuffer.java:180)
        at com.sun.enterprise.web.connector.grizzly.async.AsynchronousOutputBuffer.flush(AsynchronousOutputBuffer.java:103)
        at com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.realWriteBytes(SocketChannelOutputBuffer.java:145)
        at com.sun.enterprise.web.connector.grizzly.async.AsynchronousOutputBuffer.realWriteBytes(AsynchronousOutputBuffer.java:70)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:378)
        at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:815)
        at org.apache.coyote.http11.InternalOutputBuffer.sendStatus(InternalOutputBuffer.java:502)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.prepareResponse(DefaultProcessorTask.java:1457)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.action(DefaultProcessorTask.java:863)
        at org.apache.coyote.Response.action(Response.java:235)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:360)
        at com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.flush(SocketChannelOutputBuffer.java:180)
        at com.sun.enterprise.web.connector.grizzly.async.AsynchronousOutputBuffer.flush(AsynchronousOutputBuffer.java:103)
        at com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.realWriteBytes(SocketChannelOutputBuffer.java:145)
        at com.sun.enterprise.web.connector.grizzly.async.AsynchronousOutputBuffer.realWriteBytes(AsynchronousOutputBuffer.java:70)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:378)
        at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:815)
        at org.apache.coyote.http11.InternalOutputBuffer.sendStatus(InternalOutputBuffer.java:502)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.prepareResponse(DefaultProcessorTask.java:1457)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.action(DefaultProcessorTask.java:863)
        at org.apache.coyote.Response.action(Response.java:235)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:360)
        at com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.flush(SocketChannelOutputBuffer.java:180)

2./ NPE on DefaultAsyncExecutor.postExecute :

SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=171;_ThreadName=httpWorkerThread-8280-86;_Requ
estID=73f0a3ee-5cfa-4bca-a70e-c3938863bc03;|The log message is null.
java.lang.NullPointerException
        at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.postExecute(DefaultAsyncExecutor.java:189)
        at com.sun.enterprise.web.connector.grizzly.async.AsyncProcessorTask.doTask(AsyncProcessorTask.java:99)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)


3./ NPE in CometEngine.handle

For this one, it seems that the selection key is null (by looking at the code). Can it be reproduced by a use case ?

SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=170;_ThreadName=httpWorkerThread-8280-43;_Requ
estID=1d902f71-86f0-46f7-9d66-7e9cb47f729f;|The log message is null.
java.lang.NullPointerException
        at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
        at com.sun.enterprise.web.connector.grizzly.comet.CometEngine.handle(CometEngine.java:346)
        at com.sun.enterprise.web.connector.grizzly.comet.CometAsyncFilter.doFilter(CometAsyncFilter.java:84)
        at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:175)
        at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:153)
        at com.sun.enterprise.web.connector.grizzly.async.AsyncProcessorTask.doTask(AsyncProcessorTask.java:92)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
|#]


Errors 2. and 3. seems to be related to async processing.... Do you have any idea why a selection key or a processor task could be null ?

4. NPE in a ressource bundle.

For the last one it seems that a bundle is missing but I don't know how to finf it in order to fix it.

SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=120;_ThreadName=httpWorkerThread-8280-234;_Req
uestID=84dd1cd9-036c-43fc-930a-af79dc664a6a;|StandardWrapperValve[update]: Cannot find message associated with key standardWrapper.acknowledgeExceptio
n
java.lang.NullPointerException
|#]


Thanks.

William.