{{Quickfixn}} Exception while processing the FIX messages

Grant Birchmeier gbirchmeier at connamara.com
Tue Jul 14 06:30:12 PDT 2020


Great!  Glad we could take care of that bug so quickly.

On Tue, Jul 14, 2020 at 8:22 AM Veduruparthi Raju <rveduruparthi at gmail.com>
wrote:

> Campbell/Grant,
>
> A quick update.. the fix did work and we are now able to process the fix
> messages with NO issues.
>
> Thanks again.
>
> Thanks,
> --Raju.v
>
> On Mon, Jul 13, 2020 at 1:01 PM Veduruparthi Raju <rveduruparthi at gmail.com>
> wrote:
>
>> Thanks Grant.
>> Will download and see how it goes. will update you.
>>
>> Thanks,
>> --Raju.v
>>
>> On Mon, Jul 13, 2020 at 12:18 PM Grant Birchmeier <
>> gbirchmeier at connamara.com> wrote:
>>
>>> The fix is in, see https://github.com/connamara/quickfixn/pull/632
>>>
>>> Raju, please give it a shot.  I think if you download and build the
>>> latest source, your problem will go away.  (The version-specific dlls are
>>> in Messages/FIX*).
>>>
>>> Campbell, thanks for catching my diagnosis mistake.  I would have been
>>> mad at myself later!
>>>
>>> On Mon, Jul 13, 2020 at 10:22 AM Grant Birchmeier <
>>> gbirchmeier at connamara.com> wrote:
>>>
>>>> It's built as 64.
>>>>
>>>> I'm putting in a fix.  When it's done, you can build the latest
>>>> source.  (Don't need to generate code or anything, just download a build.)
>>>>
>>>> I should merge the fix within the hour unless I run into trouble.
>>>>
>>>> On Mon, Jul 13, 2020 at 10:15 AM Veduruparthi Raju <
>>>> rveduruparthi at gmail.com> wrote:
>>>>
>>>>> Thanks Campbell and Grant for your inputs.
>>>>> Just to add that. It was intermittent issue in the beginning but now
>>>>> the issue is serious as we were not able to process the trades at one go.
>>>>>
>>>>> Our product is a 64 bit application.
>>>>> Is QuickFix.dll a 64 bit or a 32 bit ?
>>>>>
>>>>> Will there be any fix for this ? so i can download the updated dll ?
>>>>>
>>>>> Thanks,
>>>>> --Raju.v
>>>>>
>>>>> On Mon, Jul 13, 2020 at 9:38 AM Grant Birchmeier <
>>>>> gbirchmeier at connamara.com> wrote:
>>>>>
>>>>>> Ohhhhhh..... my god.
>>>>>>
>>>>>> Campbell, I think you are right.  Looking again at Raju's stacktrace,
>>>>>> and it does originate in QF/n.  I was hasty.
>>>>>>
>>>>>> Here's the code in question:
>>>>>>             var factoryTypes = assemblies
>>>>>>                 .SelectMany(assembly => assembly.GetExportedTypes())
>>>>>>                 .Where(IsMessageFactory)
>>>>>>                 .ToList();
>>>>>>
>>>>>> Where assemblies is defined (and where I've added a potential fix):
>>>>>>             var assemblies = AppDomain
>>>>>>                 .CurrentDomain
>>>>>>                 .GetAssemblies()
>>>>>>                 .Where(assembly => !assembly.IsDynamic)
>>>>>>                 *.Where(assembly =>
>>>>>> assembly.GetName().Name.StartsWith("QuickFIXn"))  // FIX?*
>>>>>>                 .ToList()
>>>>>>
>>>>>> I think that bold part might fix the issue.  What do you think,
>>>>>> Campbell?
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Jul 13, 2020 at 9:04 AM Campbell Wild <
>>>>>> Campbell.Wild at ihsmarkit.com> wrote:
>>>>>>
>>>>>>> We had a very similar issue to this.
>>>>>>>
>>>>>>> The problem is that the QuickFIX/n library now dynamically scans
>>>>>>> all the static DLLs in the product to see which ones expose a
>>>>>>> return type of DefaultMessageFactory.  This seems pretty bad form to me, as
>>>>>>> it causes all libraries to load, and throws errors at the point where
>>>>>>> QuickFIX/n loads the default message factory instead of where that library
>>>>>>> is actually required.
>>>>>>>
>>>>>>> In our case, we were developing in 32-bit, and we had a DLL that
>>>>>>> accessed a third-party 64 bit DLL, and so I couldn't start up QuickFIX
>>>>>>> until I developed in 64 bit mode.
>>>>>>>
>>>>>>> My view is that GetMessageFactories should only be scanning the
>>>>>>> QuickFIX DLLs, and *NOT* all DLLs in the product, to see which ones return
>>>>>>> the DefaultMessageFactory type.
>>>>>>>
>>>>>>> Campbell
>>>>>>> ------------------------------
>>>>>>> *From:* Quickfixn <quickfixn-bounces at lists.quickfixn.com> on behalf
>>>>>>> of Grant Birchmeier <gbirchmeier at connamara.com>
>>>>>>> *Sent:* 13 July 2020 14:25
>>>>>>> *To:* Mailing list for QuickFIX/n <quickfixn at lists.quickfixn.com>
>>>>>>> *Subject:* Re: {{Quickfixn}} Exception while processing the FIX
>>>>>>> messages
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> *[CAUTION] EXTERNAL EMAIL .. *
>>>>>>> This has nothing to do with QF/n.  Your app can't find the
>>>>>>> "WeifenLuo.WinFormsUI.Docking" library.
>>>>>>>
>>>>>>> On Thu, Jul 9, 2020 at 1:35 PM Veduruparthi Raju <
>>>>>>> rveduruparthi at gmail.com> wrote:
>>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> I am using the QuickFix version 1.9 and using the below dll's in my
>>>>>>> project connecting to different exchanges one supporting the FIX44 and the
>>>>>>> other FIX50SP2.
>>>>>>> I am seeing the following exception while processing the messages.
>>>>>>> Does that assembly have anything to do with the quickfix engine I am
>>>>>>> using ?
>>>>>>> BTW i am using the .NET Framework 4.7.
>>>>>>> Appreciate any insight into this.
>>>>>>>
>>>>>>> QuickFix.dll
>>>>>>> QuickFix.FIX50SP2.dll
>>>>>>> QuickFix.FIX44.dll
>>>>>>>
>>>>>>> *Exception:*
>>>>>>>
>>>>>>> System.IO.FileNotFoundException: Could not load file or assembly
>>>>>>> 'WeifenLuo.WinFormsUI.Docking, Version=3.0.4.0, Culture=neutral,
>>>>>>> PublicKeyToken=5cded1a1a0a7b481' or one of its dependencies. The system
>>>>>>> cannot find the file specified.
>>>>>>>
>>>>>>> File name: 'WeifenLuo.WinFormsUI.Docking, Version=3.0.4.0,
>>>>>>> Culture=neutral, PublicKeyToken=5cded1a1a0a7b481'
>>>>>>>
>>>>>>>    at
>>>>>>> System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly
>>>>>>> assembly, ObjectHandleOnStack retTypes)
>>>>>>>
>>>>>>>    at System.Reflection.RuntimeAssembly.GetExportedTypes()
>>>>>>>
>>>>>>>    at System.Linq.Enumerable.<SelectManyIterator>d__17`2.MoveNext()
>>>>>>>
>>>>>>>    at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
>>>>>>>
>>>>>>>    at System.Collections.Generic.List`1..ctor(IEnumerable`1
>>>>>>> collection)
>>>>>>>
>>>>>>>    at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
>>>>>>>
>>>>>>>    at
>>>>>>> QuickFix.DefaultMessageFactory.GetMessageFactories(IEnumerable`1 assemblies)
>>>>>>>
>>>>>>>    at QuickFix.DefaultMessageFactory..ctor(String defaultApplVerId)
>>>>>>>
>>>>>>> Thanks,
>>>>>>> --Raju.v
>>>>>>> _______________________________________________
>>>>>>> Quickfixn mailing list
>>>>>>> Quickfixn at lists.quickfixn.com
>>>>>>> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>>>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.quickfixn.com%2Flistinfo.cgi%2Fquickfixn-quickfixn.com&data=02%7C01%7CCampbell.Wild%40ihsmarkit.com%7Cfdf77e34ecb14fcaf28508d82730331c%7Cc1156c2fa3bb4fc4ac073eab96da8d10%7C0%7C0%7C637302435254977115&sdata=mBvhlBIgbuKa4TPa%2FrjD9Mu9d%2Fx4CgoH3y8OfczCjEQ%3D&reserved=0>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Grant Birchmeier
>>>>>>> *Connamara Systems, LLC*
>>>>>>> *Made-To-Measure Trading Solutions.*
>>>>>>> Exactly what you need. No more. No less.
>>>>>>> http://connamara.com
>>>>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fconnamara.com%2F&data=02%7C01%7CCampbell.Wild%40ihsmarkit.com%7Cfdf77e34ecb14fcaf28508d82730331c%7Cc1156c2fa3bb4fc4ac073eab96da8d10%7C0%7C0%7C637302435254987114&sdata=FGgGbhmLHHk0BbxgXkB8XqWZYTOAADgFjP4flJFyPr0%3D&reserved=0>
>>>>>>>
>>>>>>> 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.
>>>>>>>
>>>>>>> ------------------------------
>>>>>>>
>>>>>>> This e-mail, including accompanying communications and attachments,
>>>>>>> is strictly confidential and only for the intended recipient. Any
>>>>>>> retention, use or disclosure not expressly authorised by IHSMarkit is
>>>>>>> prohibited. This email is subject to all waivers and other terms at the
>>>>>>> following link: https://ihsmarkit.com/Legal/EmailDisclaimer.html
>>>>>>>
>>>>>>> Please visit www.ihsmarkit.com/about/contact-us.html for contact
>>>>>>> information on our offices worldwide.
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Thanks,
>>>>> --Raju.v
>>>>> _______________________________________________
>>>>> 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
>>>>
>>>
>>>
>>> --
>>> 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
>>>
>>
>>
>> --
>> Thanks,
>> --Raju.v
>>
>
>
> --
> Thanks,
> --Raju.v
> _______________________________________________
> 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/20200714/cffae979/attachment.htm>


More information about the Quickfixn mailing list