Repository navigation
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #1348 +/- ##
============================================
- Coverage 70.79% 68.12% -2.67%
- Complexity 2270 2328 +58
============================================
Files 161 164 +3
Lines 9077 9672 +595
Branches 1192 1340 +148
============================================
+ Hits 6426 6589 +163
- Misses 2198 2574 +376
- Partials 453 509 +56 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
It seems like it still fails for SOCKS5 proxy with deadlock. This time only 2 threads involved after changing async flag, but it happens less frequently. |
|
Interesting. I only followed the code changes in MINA loosely, but I thought there were only SSL related changes... or is it proxy with SSL? |
|
I didn't look at all the change in detail, but mostly yes - only ssl related. I don't see a test in mina that combines proxy with ssl. We will have to recreate it in MINA, but it looks like the update is not go. |
|
The funny stuff is that some of the test that fail if you run them locally they pass. |
|
Does not sound too good. Thank you for your investigation. 👍 |
|
So I was trying to recreate it directly in MINA, but no luck - everything works fine. The bad news is I don't really understand how proxy + SSL works in QuickFIXj now. SSL filter should be installed after SSL handshake has completed in I slopped out a SOCKS 4/5 embedded proxy for this test in MINA I might to see how it behaves in QuickFIXj. This is going to be pain as with IDEA not working, simple things take hours / days . |
|
Now I remember - the magic autostart flag, but still not error... |
Sorry to hear that. From my experience it works when doing mvn install first. But can only tell for eclipse, netbeans, vs code. |
|
Thanks. I tried install before and it didn't help. I'm quite curious if this is something in MINA directly or the way the threads interact in QuickFIXj with some specific lock acquisition order. If we recreate it in MINA, assuming that API is properly used then it will be a lot easier. |
|
Hi @the-thing , I saw the MINA issue, thank you. Asked Claude to create a reproducer already yesterday, but did not have time to look at it in more detail. Maybe it is helpful, but maybe not. Please find it attached. |
|
Thanks. It seems that |
Hey, I tried to make this work and it worked for me with the following steps:
Then do the following steps:
NB: there was one test in Does this work for you? |
|
I will check it out tomorrow. Are you saying that after this you can run a single junit test from IDE? |
Exactly. |
|
It did work - thanks. |
|
Thanks for the feedback, will add it to the README. |
|
I prototyped the fix for G1 handler in MINA, but old G0 handler is still broken - it was already broken in 2.2.9. |
|
Also see apache/mina#84 |
There was a MINA bug https://issues.apache.org/jira/projects/DIRMINA/issues/DIRMINA-1199 that could lead to a race condition and unrecoverable SSL errors. This was fixed and tested, but introduced additional synchronization.
Additionally MINA 2.2.9 -> 2.2.10 changed a flag for
org.apache.mina.filter.ssl.SSLHandlerG1#ENABLE_ASYNC_TASKSfromfalsetotrue. Fororg.apache.mina.filter.ssl.SSLHandlerG0#ENABLE_ASYNC_TASKSwas already set to true in 2.2.9.This seems to be problematic. Either because there are some cases where this combination is failing and was missed by the whole MINA test suite or QuickFIX is using MINA in unsupported way and leads to these problems.
I will have to investigate further. If this flag interaction is the only thing we could make it settable to avoid copying the whole handler implementations.
This PR is not to be merged for the time being or at all...