Hello,

I detected a deadlock when using Proxies and Ssl together. 

The SslFilter and the ProxyFilzter both have synchronized blocks, and when 
sending
and receiving messages you get deadlocks. 

The SslFilter hangs in "sslLock.lock()" in "SslHandler.flushScheduledEvents()",
while the ProxyFilter hangs in "synchronized(handler)" in 
"ProxyFilter.writeData".

That sending and receiving messages with both filters simultaneously leads to a 
deadlock
is clear, since both filters have locks and data flow direction is reversed 
when reading and writing:

Read direction:   Socket  --> ProxyFilter   ---> SslFilter  --> FixProtocol   
--> Application
Write direction:  Socket <-- ProxyFilter  <---  SslFilter  <--  FixProtocol  
<-- Application



Reply via email to