On 03/01/2022 13:05, Rainer Jung wrote:

Am 03.01.2022 um 12:33 schrieb Mark Thomas:
On 03/01/2022 11:17, Rainer Jung wrote:
Thanks Marc.

In the meantime, I can also say, that it happens for TC 8.5 using JSSE or OpenSSL and NIO or NIO2. I did not try APR.

Unfortunately I can still reproduce on TC 8.5 even without the sync patch you mentioned below.

Drat. Can you post the stack trace for the deadlock you see in that case? Just to save me trying to recreate it.

Thanks,

Mark

Double checking revealed: although I did compile the new class the test ran with the unpatched one, line numbers in the stacks showed line 621 which is the synchronized line in the original Stream.java. Sorry for the confiusion. So you asuumption is confirmed, that that change triggers it.

Good news. Thanks for the update.

Will try with TC 9 original head code next.

I think you'll need to run with useAsyncIO="false" to be able to trigger this on 9.0.x.

I can reproduce this with a debugger on 8.5.x and I think I have a possible fix. If you replace:

synchronized (state) { ...

with

synchronized (this) { ...

can you still trigger the deadlock on 8.5.x?

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to