users@glassfish.java.net

[gf-users] Re: Two GF4 issues I've discovered that may not be good enough for the issue tracker

From: Oleksiy Stashok <oleksiy.stashok_at_oracle.com>
Date: Wed, 04 Jun 2014 15:44:08 -0700

Hi Dan,

sorry for the late response. I just realized I can try to help you with
one of the issues you observed.
The GF4 and mod_jk problem, can you pls. try to apply these patches and
see if it's still reproducible?

https://dl.dropboxusercontent.com/u/7319744/glassfish-grizzly-extra-all.jar
https://dl.dropboxusercontent.com/u/7319744/nucleus-grizzly-all.jar

If yes - I'll need a testcase to reproduce this problem locally to be
able to fix it.

Thanks.

WBR,
Alexey.

>
> I don't have much more info than that. These 500 responses caused us
> to go back to GF3 where the error is not happening. They also don't
> happen in the stable GF4 either, but we couldn't use the stable GF4
> because it has another error with how mod_jk interacted with it. I
> did not experience this bug directly, but I'll paste what a coworker
> found:
>
> I get this exception when hitting <our app> through the Apache
> mod_jk proxy. It happens very reliably if you Shift+Reload, maybe
> that's a clue. I tried switching from mod_jk to to mod_proxy_ajp (same
> AJP protocol used) but it didn't help. Switching to just straight up
> mod_proxy (i.e. http proxying) doesn't trigger it.
>
> [2014-03-14T23:59:33.076+0000] [glassfish 4.0] [WARNING] []
> [org.glassfish.grizzly.ProcessorExecutor] [tid: _ThreadID=134
> _ThreadName=jk-connector(3)] [timeMillis: 1394841573076] [levelValue:
> 900] [[
> Error during Processor execution.
> Connection=TCPNIOConnection{localSocketAddress={/127.0.0.1:11009
> <http://127.0.0.1:11009/>}, peerSocketAddress={/127.0.0.1:50396
> <http://127.0.0.1:50396/>}} ioEvent=WRITE
> processor=org.glassfish.grizzly.filterchain.DefaultFilterChain_at_440b300f
> java.lang.IllegalStateException: HeapBuffer has already been disposed
> at
> org.glassfish.grizzly.memory.HeapBuffer.checkDispose(HeapBuffer.java:802)
> at org.glassfish.grizzly.memory.HeapBuffer.position(HeapBuffer.java:188)
> at org.glassfish.grizzly.memory.BuffersBuffer.get(BuffersBuffer.java:881)
> at org.glassfish.grizzly.memory.BuffersBuffer.get(BuffersBuffer.java:59)
> at org.glassfish.grizzly.memory.BuffersBuffer.get(BuffersBuffer.java:869)
> at org.glassfish.grizzly.memory.BuffersBuffer.get(BuffersBuffer.java:842)
> at org.glassfish.grizzly.memory.BuffersBuffer.get(BuffersBuffer.java:59)
> at
> org.glassfish.grizzly.nio.transport.TCPNIOAsyncQueueWriter.fillByteBuffer(TCPNIOAsyncQueueWriter.java:206)
> at
> org.glassfish.grizzly.nio.transport.TCPNIOAsyncQueueWriter.writeComposite0(TCPNIOAsyncQueueWriter.java:151)
> at
> org.glassfish.grizzly.nio.transport.TCPNIOAsyncQueueWriter.write0(TCPNIOAsyncQueueWriter.java:80)
> at
> org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.processAsync(AbstractNIOAsyncQueueWriter.java:458)
> at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:110)
> at
> org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
> at
> org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
> at
> org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
> at
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
> at
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
> at
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
> at
> org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
> at
> org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
> at java.lang.Thread.run(Thread.java:744)
> ]]
>
> When I google for this error, I don't find anything.
>
> Anyway, I'm posting this here and not on the issue tracker because I
> don't have much more info than this. Do you think I should create
> issues for this, or is this not enough information?
>
> --
> Thanks,
> Dan
>
> CONFIDENTIALITY NOTICE: The information contained in this electronic
> transmission may be confidential. If you are not an intended
> recipient, be aware that any disclosure, copying, distribution or use
> of the information contained in this transmission is prohibited and
> may be unlawful. If you have received this transmission in error,
> please notify us by email reply and then erase it from your computer
> system.