{{Quickfixn}} Exception while processing the FIX messages

Veduruparthi Raju rveduruparthi at gmail.com
Mon Jul 13 08:15:01 PDT 2020


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20200713/7e88de8f/attachment.htm>


More information about the Quickfixn mailing list