{{Quickfixn}} Sending Email Message Problem
Grant Birchmeier
gbirchmeier at connamara.com
Tue Jul 15 09:28:29 PDT 2025
Somnath,
I apologize, I see now that the issue you are facing is very real. It was
documented in issue #196, and finally fixed with PR #959 earlier this
year. It will be in the next release (1.14), which I hope to have out by
the end of August.
When I tried to reproduce your problem, I was using the latest repo source,
so of course I didn't replicate the bug, because it was fixed!
To get going, you can clone or download the current github repo and build
the dlls yourself. If you have any questions about building, you can ask
them here.
-Grant
On Mon, Jul 14, 2025 at 11:49 PM somnath pal <palsomnath at hotmail.com> wrote:
> THIS IS HAPPENING IN YOUR CODE BASE, NOT WITH NUGET PACKAGE
>
> Console.WriteLine("View Executor status:
> "+HttpServerPrefix);
> Console.WriteLine("press <enter> to quit");
> Console.Read();
>
> srv.Stop();
> acceptor.Stop();
>
> The above lines are from your executor sample.
> After the stop, session count is not 0. But if I use nuget package,
> session count is 0. This is what I told you earlier, why the sessions are
> not cleared after stop.
>
> To make sure, I downloaded the source code today again and found no
> difference.
>
> Just add the following line after acceptor.Stop() and error should come.
>
> acceptor = new ThreadedSocketAcceptor(executorApp,
> storeFactory, settings, logFactory);
>
> Thanks,
> Somnath
>
>
> ------------------------------
> *From:* Quickfixn <quickfixn-bounces at lists.quickfixn.com> on behalf of
> somnath pal <palsomnath at hotmail.com>
> *Sent:* Tuesday, July 15, 2025 09:15
> *To:* Mailing list for QuickFIX/n <quickfixn at lists.quickfixn.com>
> *Subject:* Re: {{Quickfixn}} Sending Email Message Problem
>
> Actually, this acceptor is for relay messages. For few cases, we use 2 FIX
> Engine.
> Remote Engine (with an Initiator)
> Dual Engine (with an Initiator and Acceptor).
> Dual Engine Receives the message in Acceptor session and send the same to
> broker via Initiator.
>
> We use very few messages, and know which has repeating groups and code
> accordingly. So, we don't want to use Data Dictionary and that is how it is
> working for last 20 years without any issues.
>
> It is good that you pointed out about CheckLatency. I could not find any
> information on this. Can you point me to any link or example where I could
> have details like the effect of CheckLatency=Y vs N.
>
> In our case, the engine runs as windows service. I can create a small app
> to reproduce the problem. Is there any way I can send that for you to
> reproduce?
>
> Thanks,
> Somnath
>
> *Sent:* Monday, July 14, 2025 22:06
> *To:* Mailing list for QuickFIX/n <quickfixn at lists.quickfixn.com>
> *Subject:* Re: {{Quickfixn}} Sending Email Message Problem
>
> Somnath,
>
> Your report had me worried that we had a problem with Acceptor Stop/Start,
> but I'm just not able to reproduce your issue.
>
> Methodology: I've hacked the "Executor" example app to let me invoke
> Stop/Start on the acceptor, and changed it to use a FileLogFactory and
> FileStoreFactory. I've changed its config to set every "ResetOn<X>"
> setting to =N. For an initiator, I used the "TradeClient" example, also
> configured with every "ResetOn<X>=N".
>
> I started up the Executor and called Start/Stop repeatedly with no
> problems. Then I restarted it and connected the TradeClient to it, and
> again called Start/Stop repeatedly. The TradeClient was able to reconnect
> after every time I called acceptor.Start(). I saw no exceptions on either
> side. The logs and store files contained nothing that I didn't expect to
> see.
>
> The Executor and TradeClient example sources are at:
> https://github.com/connamara/quickfixn/tree/master/Examples. I've
> attached my modified Executor Program.cs so you can see how I called
> Stop/Start.
>
> At this point I can only conclude that you are doing something unexpected
> in your code. I think you should have a look at the Executor, and then
> compare that to the functions you are calling when you setup your own
> acceptor. Anything you're doing that doesn't parallel a call in my example
> should be suspect.
>
> -Grant
>
>
> On Sat, Jul 12, 2025 at 12:20 AM somnath pal <palsomnath at hotmail.com>
> wrote:
>
> One more point I should mention. I am developing this software for a firm.
> Due to whatever reasons they might have, I don't know why, they told me not
> to use NeGet package, but use the source code of the package. So I am using
> the QuickFixn source code in a class library and not using NeGet package.
>
> Thanks,
> Somnath
> ------------------------------
> *From:* somnath pal <palsomnath at hotmail.com>
> *Sent:* 12 July 2025 10:30
> *To:* Mailing list for QuickFIX/n <quickfixn at lists.quickfixn.com>
> *Subject:* Re: {{Quickfixn}} Sending Email Message Problem
>
> I was not sure, why the email problem was happening. After investigation I
> am getting more and more information and sharing with you as I found.
> Answer of your questions:
>
> 1. Yes 1.13.1 (.Net 8) is used. I am migrating to .Net Core
>
> 2. Start button click:
> Creates the acceptor socket and starts
> DualEngineAcceptor = new ThreadedSocketAcceptor(application, storeFactory,
> settings, logFactory, messageFactory);
> DualEngineAcceptor.Start();
>
> 1.
>
> Stop button click: DualEngineAcceptor.Stop();
>
> 3. ConnectionType=acceptor, so it's acceptor. No need for counter party.
> Error happanes with or without connection to counter party initiator. So,
> counter party is not important here.
>
> To reproduce the problem, with or without connection to counter party
> initiator,
>
> A) Start button 1st click - all good
> B) Stop button 1st click - all good
> C) Start button 2nd click - error
> D) Start button 3rd click - all good
>
> So looks like, when the error happened at step C, all are reset and Step D
> worked. Probably, that reset hapenning at Step C, should have been also at
> Step B when Stopped.
>
> Thanks,
> Somnath
>
>
> ------------------------------
> *From:* Quickfixn <quickfixn-bounces at lists.quickfixn.com> on behalf of
> Grant Birchmeier <gbirchmeier at connamara.com>
> *Sent:* Saturday, July 12, 2025 04:59
> *To:* Mailing list for QuickFIX/n <quickfixn at lists.quickfixn.com>
> *Subject:* Re: {{Quickfixn}} Sending Email Message Problem
>
> Ok, now you're telling me new things that would have been useful to know
> earlier. You never said anyting about that File Store exception-- that's
> important! Your questions and answers are kind of disorganized, it's a
> little hard to follow.
>
> 1. Are you sure you're using the latest release v1.13.1? (".net8" is not
> a QF/n version.)
>
> 2. I don't need to know what your UI looks like. Are your buttons
> calling acceptor.Start and acceptor.Stop?
>
> 3. Is that config for your Initiator or for your Acceptor? What is the
> config on the other side?
>
> 4. The store error on stop/restart should not be happening. I will try
> and find time to spin up a sample app and see if I can replicate it.
>
> By the way, if you want to stick with your old C#-over-C++ wrapper until
> we figure this out, you could use Stunnel to wrap SSL around that
> connection.
>
> -Grant
>
> This email, along with any attachments, is confidential. If you believe
> you received this message in error, please contact the sender immediately
> and delete all copies of the message. Thank you from Connamara Systems, LLC.
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>
>
>
> --
> <https://www.connamara.com>
>
> Grant Birchmeier
>
> Director of Engineering, Connamara
>
> gbirchmeier at connamara.com
>
> This email, along with any attachments, is confidential. If you believe
> you received this message in error, please contact the sender immediately
> and delete all copies of the message. Thank you from Connamara Systems, LLC.
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>
--
<https://www.connamara.com>
Grant Birchmeier
Director of Engineering, Connamara
gbirchmeier at connamara.com
--
This email, along with any attachments, is confidential. If you believe you
received this message in error, please contact the sender immediately and
delete all copies of the message. Thank you from Connamara Systems, LLC.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20250715/7af48350/attachment-0001.htm>
More information about the Quickfixn
mailing list