{{Quickfixn}} OrderStatusRequest issue

xmoon 2000 xmoon2000 at googlemail.com
Thu Oct 8 14:06:26 PDT 2020


Hey Grant,

Many thanks for your comprehensive analysis and suggestions.

Printing the message alongside the exception is a good idea. I will try
that now.

On Thu, 8 Oct 2020 at 18:21, Grant Birchmeier <gbirchmeier at connamara.com>
wrote:

> 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.
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20201008/0dda9399/attachment.htm>


More information about the Quickfixn mailing list