{{Quickfixn}} Exception while processing the FIX messages

Veduruparthi Raju rveduruparthi at gmail.com
Mon Jul 13 11:01:50 PDT 2020


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


More information about the Quickfixn mailing list