Repository navigation
Conversation
1ca6657 to
e6469bf
Compare
3768266 to
f2d3ce6
Compare
f2d3ce6 to
631e82f
Compare
|
I'll take some time this week-end to review this fix. Do you consider this fix serious enough that it requires a release? Seems so to me... |
|
I think this PR is stable now and I will mark it for review as soon as the sluggish ubuntu will pick up the job. Additional deadlock flow graphs attached to JIRA. Notes
Possibly, but as mentioned for G0 handler + PROXY combination is an existing bug. We detected this in QuickFIXj end-to-end proxy test suite (we had only G1 handler covered). |
|
I'll check this later but I would like to caution everyone. This is the exact class of problem that was brought up two years ago that led to the experimentation branch which introduced the buggy concurrency. |
Are you referring to Obviously the issue is there and needs to be addressed in one way or another. Possibly causing some other, undiscovered issues in the meantime until we get it right. My first attempt was to fix it inside G0 / G1 handlers, but I don't really want to touch G0 especially. |
I'm referring to my work in G1 and the removal of the synchronized blocks which led to #77 you brought up. G0 would never support the pattern of having an same-thread consumer blocking on the write operation because it essentially holds both the read and write locks simultaneously. I'd appreciate a week or so for us to discuss and review the problem. I have a little bit of a time availability problem the next few days. |
|
Sure. This is more complex problem and I will not merge it without a proper review. Have a look especially at the test + the attachments https://issues.apache.org/jira/projects/DIRMINA/issues/DIRMINA-1205 - the flow will be easier to understand. G0 + proxy is also broken (before 2.2.10). |
While updating MINA 2.2.10 in QuickFIXj we encountered a deadlock in end-to-end SOCKS proxy tests.
quickfix-j/quickfixj#1347
quickfix-j/quickfixj#1348
It looks like this was introduced by #77 however all combinations of tests fail with a deadlock, which also means that there is an existing problem with
org.apache.mina.filter.ssl.SSLHandlerG0implementation.Currently I was only able to confirm SSL + SOCKS proxy combination failures, but some of the failures in mentioned QuickFIXj PRs look suspicious. It will be easier to investigate if we solve this problem first.
Notes