{{Quickfixn}} OrderStatusRequest issue

Grant Birchmeier gbirchmeier at connamara.com
Thu Oct 8 10:21:37 PDT 2020


I'm not going to focus on TradingSessionStatus until I can verify that the
exception is really from TradingSessionStatus.  What you have shown me does
not convince me 100%.  It's very easy to confirm, but you are resisting.

Seeing a reject 35=j would confirm that, and it's misbehavior that I don't
see it.  I strongly suspect you're swallowing the exception, which is a bad
thing to do.  So before anything else, I want you stop doing this bad
thing, because it is bad and will always be bad.

For extra confirmation, in your FromApp, you could catch the
UnsupportedMessageType Exception and then print the message that is
triggering it (but then also re-throw the exception!).


On Thu, Oct 8, 2020 at 11:15 AM xmoon 2000 <xmoon2000 at googlemail.com> wrote:

> Sure Grant,
>
> Isn't this the first thing to fix?
>
> Cracker Exception: QuickFix.*UnsupportedMessageType*: Exception of type
> 'QuickFix.UnsupportedMessageType' was thrown.
>    at QuickFix.MessageCracker.Crack(Message message, SessionID sessionID)
>    at OMS1.OrdersInitiator.FromApp(Message msg, SessionID sessionID) in
> C:\Projects\OMS1\OMS1\OrdersInitiator.cs:line 1263
> OMS1
>
> This happens in FromApp on Crack() line
>
> Is this not the correct catch for 35=h?
>
> *public void OnMessage(QuickFix.FIX44.TradingSessionStatus message,
> SessionID sessionID)*
>
> This text in error message: "QuickFix.UnsupportedMessageType" says it is a
> cracking issue, not some other internal code issue doesn't it?
>
>
> On Thu, 8 Oct 2020 at 16:43, Grant Birchmeier <gbirchmeier at connamara.com>
> wrote:
>
>> One thing at a time.
>>
>> Your attempts to debug the issue may be clouding the real cause.  Let's
>> keep fixing wrong things until we get the right thing.
>>
>> On Thu, Oct 8, 2020 at 10:32 AM xmoon 2000 <xmoon2000 at googlemail.com>
>> wrote:
>>
>>> Hi Grant,
>>>
>>> Isn't the issue WHY there is an exception to 35=h message in the first
>>> place?
>>>
>>> My original code (which was working for years before new QuickFIXn) is
>>> this:
>>>
>>> public void OnMessage(QuickFix.FIX44.TradingSessionStatus message,
>>> SessionID sessionID)
>>> {
>>>       MyLog("Trading Message Status");
>>> }
>>>
>>> Why would this intermittently give Crack error?
>>>
>>> >> >> This message caused exception:
>>> >> >> 20201002-00:23:51.253 : 8=FIX.4.4 9=67 35=h 49=yyy 34=2
>>> >> >> 52=20201002-00:23:51.234 56=xxxxxxx 336=0 340=2 10=181
>>> >> >>
>>> >> >> This did not:
>>> >> >> 20201002-03:05:29.953 : 8=FIX.4.4 9=67 35=h 49=yyy 34=2
>>> >> >> 52=20201002-03:05:29.947 56=xxxxxxxt 336=0 340=2 10=200
>>>
>>> On Thu, 8 Oct 2020 at 16:18, Grant Birchmeier <gbirchmeier at connamara.com>
>>> wrote:
>>> >
>>> > Are you catching and swallowing that Exception in your FromApp()?
>>> That would explain the lack of 35=j.
>>> >
>>> > If you catch, you need to rethrow.  Just end your catch block with
>>> "throw();"
>>> >
>>> > On Thu, Oct 8, 2020 at 10:01 AM xmoon 2000 <xmoon2000 at googlemail.com>
>>> wrote:
>>> >>
>>> >> Hi Grant,
>>> >>
>>> >> Actually this email started with snippet from my fix log!
>>> >>
>>> >> Here is a fuller snippet:
>>> >> 20201008-00:24:26.799 : 8=FIX.4.4 9=86 35=A 34=1 49=yyyy
>>> >> 52=20201008-00:24:26.790 56=CCC 98=0 108=30 141=Y 554=xxxx 10=000
>>> >> 20201008-00:24:27.821 : 8=FIX.4.4 9=73 35=A 49=CCC 34=1
>>> >> 52=20201008-00:24:27.821 56=yyyy 98=0 108=30 141=Y 10=203
>>> >> 20201008-00:24:27.839 : 8=FIX.4.4 9=67 35=h 49=CCC 34=2
>>> >> 52=20201008-00:24:27.822 56=yyyy 336=0 340=2 10=194
>>> >> 20201008-00:24:56.861 : 8=FIX.4.4 9=55 35=0 34=2 49=yyyy
>>> >> 52=20201008-00:24:56.860 56=CCC 10=122
>>> >> 20201008-00:24:57.822 : 8=FIX.4.4 9=55 35=0 49=CCC 34=3
>>> >> 52=20201008-00:24:57.823 56=yyyy 10=123
>>> >> 20201008-00:25:27.824 : 8=FIX.4.4 9=55 35=0 49=CCC 34=4
>>> >> 52=20201008-00:25:27.825 56=yyyy 10=124
>>> >> 20201008-00:25:32.213 : 8=FIX.4.4 9=55 35=0 34=3 49=yyyy
>>> >> 52=20201008-00:25:30.211 56=CCC 10=106
>>> >> 20201008-00:25:57.825 : 8=FIX.4.4 9=55 35=0 49=CCC 34=5
>>> >> 52=20201008-00:25:57.826 56=yyyy 10=129
>>> >> 20201008-00:26:02.234 : 8=FIX.4.4 9=55 35=0 34=4 49=yyyy
>>> >> 52=20201008-00:26:00.233 56=CCC 10=109
>>> >> 20201008-00:26:27.827 : 8=FIX.4.4 9=55 35=0 49=CCC 34=6
>>> >> 52=20201008-00:26:27.827 56=yyyy 10=129
>>> >>
>>> >> Line 1263 is in FromApp():
>>> >> 1263                               Crack(msg, sessionID);
>>> >>
>>> >> As you can see, there is no 35=j message. For your info, this issue
>>> >> has never occurred until I upgraded to the latest quikFIXn version -
>>> >> all else works fine.
>>> >>
>>> >> On Thu, 8 Oct 2020 at 14:57, Grant Birchmeier <
>>> gbirchmeier at connamara.com> wrote:
>>> >> >
>>> >> > 1) Don't catch-and-swallow that exception!  If you need to catch
>>> and read it, after you log it make sure to call `throw();` to re-throw it
>>> up the stack so the engine can catch it and send appropriate rejects.
>>> >> >
>>> >> > 2) Regarding your exception: Line 1263 isn't from your OnMessage,
>>> is it?  I doubt it.  I suspect that you are missing an OnMessage() call for
>>> some other message type.  Your app is probably sending a 35=j when this
>>> happens.  Look at your message log, find the 35=j, and read it to see what
>>> message type you're forgetting to handle.
>>> >> >
>>> >> > 3) Your message log is the most important thing you have for
>>> diagnosing message problems.  Not console prints, not the event log, but
>>> the *message* logs that record every FIX message that is sent and
>>> received.  I get the impression that you aren't looking at it.  Make sure
>>> you are using a FileLogFactory, and look at your message logs!
>>> >> >
>>> >> >
>>> >> >
>>> >> >
>>> >> >
>>> >> >
>>> >> > On Thu, Oct 8, 2020 at 8:20 AM xmoon 2000 <xmoon2000 at googlemail.com>
>>> wrote:
>>> >> >>
>>> >> >> Grant,
>>> >> >>
>>> >> >> I have this:
>>> >> >>
>>> >> >>      public void OnMessage(QuickFix.FIX44.TradingSessionStatus
>>> >> >> message, SessionID sessionID)
>>> >> >>         {
>>> >> >>             try
>>> >> >>             {
>>> >> >>                 MyLog("Trading Message Status");
>>> >> >>             }
>>> >> >>             catch (Exception err)
>>> >> >>             {
>>> >> >>                 MyLog("Trading Message Status issue:
>>> "+err.Message+"
>>> >> >> "+err.StackTrace);
>>> >> >>             }
>>> >> >>         }
>>> >> >>
>>> >> >> And I get this error early in day, and no error an hour later:
>>> >> >>
>>> >> >> Cracker Exception: QuickFix.UnsupportedMessageType: Exception of
>>> type
>>> >> >> 'QuickFix.UnsupportedMessageType' was thrown.
>>> >> >>    at QuickFix.MessageCracker.Crack(Message message, SessionID
>>> sessionID)
>>> >> >>    at OMS1.OrdersInitiator.FromApp(Message msg, SessionID
>>> sessionID)
>>> >> >> in C:\Projects\OMS1\OMS1\OrdersInitiator.cs:line 1263
>>> >> >> OMS1
>>> >> >>
>>> >> >> On Fri, 2 Oct 2020 at 16:38, Grant Birchmeier <
>>> gbirchmeier at connamara.com> wrote:
>>> >> >> >
>>> >> >> > It's not an admin message, and it's not one of the message types
>>> that the engine automatically handles.
>>> >> >> >
>>> >> >> > Unless you've implemented "OnMessage(TradingSessionStatus msg)",
>>> I'd expect your app to respond with a 35=j reject (with
>>> 380=3/UnsupportedMessageType).  If you just want to ignore it, then
>>> implement that method with an empty body.
>>> >> >> >
>>> >> >> > If you have observed that your app has been silently ignoring
>>> this message in the past, then I cannot explain that.  I would first
>>> suggest that you might be mistaken :)
>>> >> >> >
>>> >> >> > On Fri, Oct 2, 2020 at 4:10 AM xmoon 2000 <
>>> xmoon2000 at googlemail.com> wrote:
>>> >> >> >>
>>> >> >> >> Hi,
>>> >> >> >>
>>> >> >> >> I always receive a 35=h message from a particular server
>>> straight after logon.
>>> >> >> >>
>>> >> >> >> I have not written any code to handle this message - I assume
>>> it is
>>> >> >> >> handled by QuickFIXn automatically like a heartbeat?
>>> >> >> >>
>>> >> >> >> Today, for the first time, this message caused a Cracker
>>> exception. On
>>> >> >> >> restarting the connecting, the message did NOT generate a
>>> Cracker
>>> >> >> >> exception as usual.
>>> >> >> >>
>>> >> >> >> What might have happened to cause the message to create a
>>> Cracker exception?
>>> >> >> >>
>>> >> >> >> This message caused exception:
>>> >> >> >> 20201002-00:23:51.253 : 8=FIX.4.4 9=67 35=h 49=yyy 34=2
>>> >> >> >> 52=20201002-00:23:51.234 56=xxxxxxx 336=0 340=2 10=181
>>> >> >> >>
>>> >> >> >> This did not:
>>> >> >> >> 20201002-03:05:29.953 : 8=FIX.4.4 9=67 35=h 49=yyy 34=2
>>> >> >> >> 52=20201002-03:05:29.947 56=xxxxxxxt 336=0 340=2 10=200
>>> >> >> >> _______________________________________________
>>> >> >> >> Quickfixn mailing list
>>> >> >> >> Quickfixn at lists.quickfixn.com
>>> >> >> >> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>> >> >> >
>>> >> >> >
>>> >> >> >
>>> >> >> > --
>>> >> >> > Grant Birchmeier
>>> >> >> > Connamara Systems, LLC
>>> >> >> > Made-To-Measure Trading Solutions.
>>> >> >> > Exactly what you need. No more. No less.
>>> >> >> > http://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
>>> >> >> _______________________________________________
>>> >> >> Quickfixn mailing list
>>> >> >> Quickfixn at lists.quickfixn.com
>>> >> >> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>> >> >
>>> >> >
>>> >> >
>>> >> > --
>>> >> > Grant Birchmeier
>>> >> > Connamara Systems, LLC
>>> >> > Made-To-Measure Trading Solutions.
>>> >> > Exactly what you need. No more. No less.
>>> >> > http://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
>>> >> _______________________________________________
>>> >> Quickfixn mailing list
>>> >> Quickfixn at lists.quickfixn.com
>>> >> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>> >
>>> >
>>> >
>>> > --
>>> > Grant Birchmeier
>>> > Connamara Systems, LLC
>>> > Made-To-Measure Trading Solutions.
>>> > Exactly what you need. No more. No less.
>>> > http://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
>>> _______________________________________________
>>> Quickfixn mailing list
>>> Quickfixn at lists.quickfixn.com
>>> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>>
>>
>>
>> --
>> Grant Birchmeier
>> *Connamara Systems, LLC*
>> *Made-To-Measure Trading Solutions.*
>> Exactly what you need. No more. No less.
>> http://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
>>
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>


-- 
Grant Birchmeier
*Connamara Systems, LLC*
*Made-To-Measure Trading Solutions.*
Exactly what you need. No more. No less.
http://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/20201008/84d33d77/attachment.htm>


More information about the Quickfixn mailing list