Date   
Code change(s) just landed on origin/next (Successful)

ci@...
 

Some changes have just been added to the origin/next branch!

[fquinn.ni] PLAT-1474: getNumBidLevels and getNumAskLevels wrong on some occasions
	mamda/c_cpp/src/cpp/orderbooks/MamdaOrderBookListener.cpp


Results for OpenMAMA_Snapshot_Linux CI run with latest changes:

  • CI Project Name: OpenMAMA_Snapshot_Linux
  • Build Number: #244
  • Build Status: Successful
  • Build Warnings: 0
  • Total Amount of Tests: 1858
  • Passed: 1858
  • Failed: 0
  • Skipped / Disabled: 0

You may also check CI console output to view the full results.

OpenMAMA_Snapshot_RPM - Build # 643 - Failure!

ci@...
 

Some changes have just been added to the origin/next branch!

[fquinn.ni] PLAT-1474: getNumBidLevels and getNumAskLevels wrong on some occasions
	mamda/c_cpp/src/cpp/orderbooks/MamdaOrderBookListener.cpp


Results for OpenMAMA_Snapshot_RPM CI run with latest changes:

  • CI Project Name: OpenMAMA_Snapshot_RPM
  • Build Number: #643
  • Build Status: Failure
  • Build Warnings:
  • Total Amount of Tests:
  • Passed:
  • Failed:
  • Skipped / Disabled:

You may also check CI console output to view the full results.

Code change(s) just landed on origin/next (Still Failing)

ci@...
 

Some changes have just been added to the origin/next branch!

[noreply] Add cross platform docker builds (#388)
	common/c_cpp/src/gunittest/c/strutilstest.cpp
	.appveyor.yml
	release_scripts/ci-run.py
	release_scripts/install-dependencies.sh
	mama/c_cpp/src/c/fielddesc.c
	cmake/FindAPR.cmake
	release_scripts/Dockerfile
	mama/c_cpp/src/c/CMakeLists.txt
	mama/c_cpp/src/c/dictionary.c
	common/c_cpp/src/gunittest/c/CMakeLists.txt


Results for OpenMAMA_Snapshot_Windows CI run with latest changes:

  • CI Project Name: OpenMAMA_Snapshot_Windows
  • Build Number: #237
  • Build Status: Still Failing
  • Build Warnings:
  • Total Amount of Tests:
  • Passed:
  • Failed:
  • Skipped / Disabled:

You may also check CI console output to view the full results.

Code change(s) just landed on origin/next (Successful)

ci@...
 

Some changes have just been added to the origin/next branch!

[noreply] Add cross platform docker builds (#388)
	release_scripts/install-dependencies.sh
	mama/c_cpp/src/c/dictionary.c
	.appveyor.yml
	common/c_cpp/src/gunittest/c/CMakeLists.txt
	release_scripts/ci-run.py
	mama/c_cpp/src/c/fielddesc.c
	common/c_cpp/src/gunittest/c/strutilstest.cpp
	mama/c_cpp/src/c/CMakeLists.txt
	cmake/FindAPR.cmake
	release_scripts/Dockerfile


Results for OpenMAMA_Snapshot_Linux CI run with latest changes:

  • CI Project Name: OpenMAMA_Snapshot_Linux
  • Build Number: #245
  • Build Status: Successful
  • Build Warnings: 0
  • Total Amount of Tests: 1858
  • Passed: 1858
  • Failed: 0
  • Skipped / Disabled: 0

You may also check CI console output to view the full results.

Re: openmama 6.2 crash with dqstrategy disabled for subscription with multiple initials

Frank Quinn
 

Aaron / Vela, could someone have a look please?

On 12 Nov 2018 19:36, Frank Quinn <frank@...> wrote:
Thanks Igor,

This was part of Vela's DQ strategy changes - Aaron could you have a look please?

Cheers,
Frank

On Mon, Nov 12, 2018 at 1:32 PM Igor Kovalenko <igor.kovalenko@...> wrote:

Classification: Public

Hi openmama team,

 

I see that commit 6de60350f40b4d9b0f181b7e64e0d192798b9f97 accidentally removed one conditional expression from around current line 393 of listenermsgcallbacks.c

 

Now if group subscription, or in fact any allowing multiple initials, receives first initial, then

- with dqstrategy disabled listenerMsgCallback_processMsg will unconditionally call mamaSubscription_stopWaitForResponse

- with dqstrategy enabled dqstrategy plugin implementation would only call mamaSubscription_stopWaitForResponse if mamaSubscription_getAcceptMultipleInitials() returns false

 

The code that stops waiting for response destroys related inbox object. This leads to easy crash with group subscriptions and dqstrategy disabled.

 

Hope it will be not hard to restore the conditional for openmama-6.2.x and later.

 

Thank you!

 

Kind regards,

Igor Kovalenko

 

--

 



---
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

Please refer to https://www.db.com/disclosures for additional EU corporate and regulatory disclosures and to http://www.db.com/unitedkingdom/content/privacy.htm for information about privacy.


Re: openmama 6.2 crash with dqstrategy disabled for subscription with multiple initials [I]

Igor Kovalenko
 

Classification: For internal use only

Thank you Aaron, I will give your suggestion a try.

 

To reproduce the issue you will need a transport returning multiple initial snapshots for your group subscription. Without that conditional I was referring to and with DQ strategy disabled crash will happen handling second snapshot from the group.

 

--

Kind regards,
Igor Kovalenko
____________________________________________________



Igor Kovalenko

OOO "Deutsche Bank TechCentre"
Global Technology
Business Center Aquamarine, Ozerkovskaya naberezhnaya 24, 115184 Moscow, Russia
Tel. +7 495 783-0313
Email igor.kovalenko@...

 

From: Aaron Sneddon [mailto:asneddon@...]
Sent: 18 декабря 2018 г. 17:06
To: Igor Kovalenko <igor.kovalenko@...>; Frank Quinn <fquinn@...>; openmama-dev@...
Cc: Gary Molloy <gmolloy@...>; Philip McCausland <pmccausland@...>
Subject: FW: [Openmama-dev] openmama 6.2 crash with dqstrategy disabled for subscription with multiple initials

 

Hey Igor,

I find I am unable to reproduce your issue. I am using group subscriptions (to a feed handler) and have disabled dq.

I tried the various config options to reproduce the issue (as there are transport specific and global config options for disabling dq strategy). With regards to the missing conditional:  I can see that around the line of the change we have taken out the following conditional which I assume you are referring to:

 

I would just point out that this conditional statement hasn’t been removed, but was relocated to mamaPlugin_fireSubscriptionPreMsgHook.

Certainly, the return statement activated by that conditional now returns you to this function, from mamaPlugin_fireSubscriptionPreMsgHook. With previous functionality, this conditional would ensure you skip the code that you say causes the problem you are seeing, and that makes sense.

 

I cannot recommend duplicating the conditional statement, as this would be unnecessary and as I cannot reproduce your issue I can only make a suggestion that hopefully you could try?

 

At present mamaPlugin_fireSubscriptionPreMsgHook returns MAMA_STATUS_OK in all cases. My suggestion is, in dqstrategyplugin.c, at line 478, change MAMA_STATUS_OK to MAMA_STATUS_INVALID_ARG (for example).

Then, in listenermsgcallback.c, on line 380, add in a check to the return type, and if you do not receive MAMA_STATUS_OK, return from this function. This would look like:
    if (MAMA_STATUS_OK != mamaPlugin_fireSubscriptionPreMsgHook(subscription, msgType, msg))

    {

        return;

    }

 

This would now emulate the previous functionality (but does not duplicate the conditional).

 

I have done this myself and performed a quick check that it does not break anything and it looks fine. But as I say, I cannot replicate your issue and so cannot do a full check. I would therefore say that if it suits, you could change that single line in dqstrategyplugin.c and add the check in listenermsgcallback, and run a test to see if this fixes your issue.

 

I am still concerned as to why I cannot reproduce the same issue, but please let me know what you think.

 

Regards,

Aaron

 

From: Frank Quinn [mailto:fquinn@...]
Sent: 11 December 2018 17:16
Cc: igor.kovalenko@...; Aaron Sneddon <asneddon@...>; openmama-dev <openmama-dev@...>
Subject: Re: [Openmama-dev] openmama 6.2 crash with dqstrategy disabled for subscription with multiple initials

 

Aaron / Vela, could someone have a look please?

 

On 12 Nov 2018 19:36, Frank Quinn <frank@...> wrote:

Thanks Igor,

 

This was part of Vela's DQ strategy changes - Aaron could you have a look please?

 

Cheers,

Frank

 

On Mon, Nov 12, 2018 at 1:32 PM Igor Kovalenko <igor.kovalenko@...> wrote:

Classification: Public

Hi openmama team,

 

I see that commit 6de60350f40b4d9b0f181b7e64e0d192798b9f97 accidentally removed one conditional expression from around current line 393 of listenermsgcallbacks.c

 

Now if group subscription, or in fact any allowing multiple initials, receives first initial, then

- with dqstrategy disabled listenerMsgCallback_processMsg will unconditionally call mamaSubscription_stopWaitForResponse

- with dqstrategy enabled dqstrategy plugin implementation would only call mamaSubscription_stopWaitForResponse if mamaSubscription_getAcceptMultipleInitials() returns false

 

The code that stops waiting for response destroys related inbox object. This leads to easy crash with group subscriptions and dqstrategy disabled.

 

Hope it will be not hard to restore the conditional for openmama-6.2.x and later.

 

Thank you!

 

Kind regards,

Igor Kovalenko

 

--

 



---
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

Please refer to https://www.db.com/disclosures for additional EU corporate and regulatory disclosures and to http://www.db.com/unitedkingdom/content/privacy.htm for information about privacy.

 


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Systems LLC



---
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

Please refer to https://www.db.com/disclosures for additional EU corporate and regulatory disclosures and to http://www.db.com/unitedkingdom/content/privacy.htm for information about privacy.

OpenMAMA Simplified Base Middleware Bridge Implementation

Frank Quinn
 

Hi Folks,

As you may have heard recently, we have been working on reducing the burden of implementing each of the middleware bridge methods when writing bridges.

The solution we're working on involves:

1. Adding a "base" implementation bridge. This includes io, timer and queue as well as some sane default implementations of methods. This will be dynamically linked by the bridge that wants to make use of the base implementation.
2. The base bridge includes timer, queue and io implementations which will be modified to ensure they're properly encapsulated across middleware bridges (i.e. heap allocated state associated with each bridge).
3. The implementation bridge may then simply declare in its init function that it wants to make use of the base implementaion bridge, then any method which is not implemented by the bridge itself will fall back to the base bridge implementation.
4. Reducing the number of methods which need to be implemented in the bridge from 86 to 20

It's basically inheritance for C structs of function pointers.

You can find the latest development branch here:


We have an implementation currently working with ZeroMQ, and will be updating qpid to support it soon too. It mostly involves migrating methods to the base implementation to avoid duplication.


In the next release this will bump the middle part of the version number (which reflects bridge compatibility). This is because although it is entirely backwards compatible, bridges making use of this functionality will not be backwards compatible.

Cheers,
Frank

-- 
Frank Quinn 
Cascadium 
T: +44 (0) 28 8678 8015 

change openmama linux platform implementation to call dlopen with RTLD_LOCAl flag

Igor Kovalenko
 

Classification: Public

Hi openmama team,

 

I see that on linux platform openmama uses dlopen() with RTLD_GLOBAL flag to load bridge implementations.

What do you think about changing that dlopen() call to use RTLD_LOCAL instead?

Using dlopen() with RTLD_LOCAL naturally provides named symbol isolation behavior one would expect from a system which dynamically loads implementations.

 

I cannot post a patch here yet but otherwise it is a trivial change to src/common/c_cpp/src/c/linux/platform.c line 65

 

Using RTLD_GLOBAL creates a problem if any two bridge implementations provide the same global symbol name. If loaded simultaneously these will share the same underlying object resolved through the library loaded first.

For instance a crash can be reproduced with just loading tick42blp and tick42rmds bridges, and then closing mama. While mama is closing first bridge shutting down will destroy gTimerHeap object, and then last bridge shutting down will attempt to destroy the same gTimerHeap once again.

 

A workaround would be to carefully examine non-local symbols from each bridge implementation and fix accordingly if bridge sources are available.

We can amend either blp or rmds bridge implementation - but this is not always possible and is obviously very inconvenient.

 

Note that on windows platform implementation already is behaving as non-global due to the fact that you always need explicitly loaded library handle to resolve a symbol.

 

Thank you!

 

--

Kind regards,
Igor Kovalenko
____________________________________________________



Igor Kovalenko

OOO "Deutsche Bank TechCentre"
Global Technology
Business Center Aquamarine, Ozerkovskaya naberezhnaya 24, 115184 Moscow, Russia
Tel. +7 495 783-0313
Email igor.kovalenko@...

 



---
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

Please refer to https://www.db.com/disclosures for additional EU corporate and regulatory disclosures and to http://www.db.com/unitedkingdom/content/privacy.htm for information about privacy.

Re: change openmama linux platform implementation to call dlopen with RTLD_LOCAl flag

Frank Quinn
 

Hi Igor,

Yes I'm open to the suggestion I can't see any negative side effects of this.

As an aside, the new split-bridge changes will also fix your timerheap issue since each bridge will have its own distinct heap allocated object in each bridge if it's used and would be best practice overall since it isolates each bridge and doesn't depend on static externs.

Cheers,
Frank

On Jan 15 2019, at 10:03 am, Igor Kovalenko <igor.kovalenko@...> wrote:
 
Classification: Public

Hi openmama team,

 

I see that on linux platform openmama uses dlopen() with RTLD_GLOBAL flag to load bridge implementations.

What do you think about changing that dlopen() call to use RTLD_LOCAL instead?

Using dlopen() with RTLD_LOCAL naturally provides named symbol isolation behavior one would expect from a system which dynamically loads implementations.

 

I cannot post a patch here yet but otherwise it is a trivial change to src/common/c_cpp/src/c/linux/platform.c line 65

 

Using RTLD_GLOBAL creates a problem if any two bridge implementations provide the same global symbol name. If loaded simultaneously these will share the same underlying object resolved through the library loaded first.

For instance a crash can be reproduced with just loading tick42blp and tick42rmds bridges, and then closing mama. While mama is closing first bridge shutting down will destroy gTimerHeap object, and then last bridge shutting down will attempt to destroy the same gTimerHeap once again.

 

A workaround would be to carefully examine non-local symbols from each bridge implementation and fix accordingly if bridge sources are available.

We can amend either blp or rmds bridge implementation - but this is not always possible and is obviously very inconvenient.

 

Note that on windows platform implementation already is behaving as non-global due to the fact that you always need explicitly loaded library handle to resolve a symbol.

 

Thank you!

 

--

Kind regards,
Igor Kovalenko
____________________________________________________



Igor Kovalenko

OOO "Deutsche Bank TechCentre"
Global Technology
Business Center Aquamarine, Ozerkovskaya naberezhnaya 24, 115184 Moscow, Russia
Tel. +7 495 783-0313

 


---
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

Please refer to https://www.db.com/disclosures for additional EU corporate and regulatory disclosures and to http://www.db.com/unitedkingdom/content/privacy.htm for information about privacy.

Re: change openmama linux platform implementation to call dlopen with RTLD_LOCAl flag

Igor Kovalenko
 

Classification: Public

Thank you Frank,

 

I confirm changing the dlopen() call to use RTLD_LOCAL fixes the problem for us here, none of our tests are otherwise affected.

Have not looked at split-bridge changes yet but I’m sure that is a good thing to have.

 

--

Kind regards,
Igor Kovalenko
____________________________________________________



Igor Kovalenko

OOO "Deutsche Bank TechCentre"
Global Technology
Business Center Aquamarine, Ozerkovskaya naberezhnaya 24, 115184 Moscow, Russia
Tel. +7 495 783-0313
Email igor.kovalenko@...

 

From: Openmama-dev@... [mailto:Openmama-dev@...] On Behalf Of Frank Quinn
Sent: 15 января 2019 г. 13:11
To: Igor Kovalenko <igor.kovalenko@...>
Cc: openmama-dev@...
Subject: Re: [Openmama-dev] change openmama linux platform implementation to call dlopen with RTLD_LOCAl flag

 

Hi Igor,

 

Yes I'm open to the suggestion I can't see any negative side effects of this.

 

As an aside, the new split-bridge changes will also fix your timerheap issue since each bridge will have its own distinct heap allocated object in each bridge if it's used and would be best practice overall since it isolates each bridge and doesn't depend on static externs.

 

Cheers,

Frank

 

On Jan 15 2019, at 10:03 am, Igor Kovalenko <igor.kovalenko@...> wrote:

 

Classification: Public

 

Hi openmama team,

 

 

 

I see that on linux platform openmama uses dlopen() with RTLD_GLOBAL flag to load bridge implementations.

 

What do you think about changing that dlopen() call to use RTLD_LOCAL instead?

 

Using dlopen() with RTLD_LOCAL naturally provides named symbol isolation behavior one would expect from a system which dynamically loads implementations.

 

 

 

I cannot post a patch here yet but otherwise it is a trivial change to src/common/c_cpp/src/c/linux/platform.c line 65

 

 

 

Using RTLD_GLOBAL creates a problem if any two bridge implementations provide the same global symbol name. If loaded simultaneously these will share the same underlying object resolved through the library loaded first.

 

For instance a crash can be reproduced with just loading tick42blp and tick42rmds bridges, and then closing mama. While mama is closing first bridge shutting down will destroy gTimerHeap object, and then last bridge shutting down will attempt to destroy the same gTimerHeap once again.

 

 

 

A workaround would be to carefully examine non-local symbols from each bridge implementation and fix accordingly if bridge sources are available.

 

We can amend either blp or rmds bridge implementation - but this is not always possible and is obviously very inconvenient.

 

 

 

Note that on windows platform implementation already is behaving as non-global due to the fact that you always need explicitly loaded library handle to resolve a symbol.

 

 

 

Thank you!

 

 

 

--

 

Kind regards,

Igor Kovalenko

____________________________________________________

 

Igor Kovalenko

 

OOO "Deutsche Bank TechCentre"

Global Technology

Business Center Aquamarine, Ozerkovskaya naberezhnaya 24, 115184 Moscow, Russia

Tel. +7 495 783-0313

 

 

 

---

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

 

Please refer to https://www.db.com/disclosures for additional EU corporate and regulatory disclosures and to http://www.db.com/unitedkingdom/content/privacy.htm for information about privacy.



---
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

Please refer to https://www.db.com/disclosures for additional EU corporate and regulatory disclosures and to http://www.db.com/unitedkingdom/content/privacy.htm for information about privacy.

Code change(s) just landed on origin/next (Still Failing)

ci@...
 

Some changes have just been added to the origin/next branch!

[fquinn.ni] Restored conditional in listenermsgcallback.c
	mama/c_cpp/src/c/listenermsgcallback.c


Results for OpenMAMA_Snapshot_Windows CI run with latest changes:

  • CI Project Name: OpenMAMA_Snapshot_Windows
  • Build Number: #238
  • Build Status: Still Failing
  • Build Warnings:
  • Total Amount of Tests:
  • Passed:
  • Failed:
  • Skipped / Disabled:

You may also check CI console output to view the full results.

Code change(s) just landed on origin/next (Successful)

ci@...
 

Some changes have just been added to the origin/next branch!

[fquinn.ni] Restored conditional in listenermsgcallback.c
	mama/c_cpp/src/c/listenermsgcallback.c


Results for OpenMAMA_Snapshot_Linux CI run with latest changes:

  • CI Project Name: OpenMAMA_Snapshot_Linux
  • Build Number: #246
  • Build Status: Successful
  • Build Warnings: 0
  • Total Amount of Tests: 1858
  • Passed: 1858
  • Failed: 0
  • Skipped / Disabled: 0

You may also check CI console output to view the full results.

Two Mamda libraries exporting the same symbol

Slade, Michael J
 

Hi all,

 

We have noticed that both mamda/c_cpp/src/cpp/MamdaQuoteListener.cpp and mamda/c_cpp/src/orderbooks/MamdaQuoteToBookListener have implementations of a QuoteCache struct in the Wombat namespace. Therefore, both libmamda and libmamdabook are exporting the same symbol.

 

This is an issue when linking against the two libraries since the order they are dynamically linked determines which one is used. If the wrong QuoteCache struct is used this causes a segfault during construction of the object as the two implementations are different.

 

To me this seems like a bug and one of the two QuoteCache structs should be renamed.

 

Has anyone had an issue with this before / can anyone shed some light on this?

 

Thanks,

 


Mike Slade | Corporate & Investment Bank | Market Data Services | J.P. Morgan

 

This message is confidential and subject to terms at: https://www.jpmorgan.com/emaildisclaimer including on confidentiality, legal privilege, viruses and monitoring of electronic messages. If you are not the intended recipient, please delete this message and notify the sender immediately. Any unauthorized use is strictly prohibited.

Re: Two Mamda libraries exporting the same symbol

Frank Quinn
 

Hi Mike,

 

This isn’t something that I have seen before but it does look like a bug to me… and one which I imagine you had all sorts of fun tracking down.

 

On the upside, it looks like the struct in question isn’t referenced in the public headers so at least it can be renamed in relative isolation. Is this something that you are in the progress of doing or you want me to have a look?

 

I have raised https://github.com/OpenMAMA/OpenMAMA/issues/392 for tracking.

 

Cheers,

Frank

 

From: Openmama-dev@... <Openmama-dev@...> On Behalf Of Slade, Michael J via Lists.Openmama.Org
Sent: 26 April 2019 09:23
To: Openmama-dev@...
Cc: Openmama-dev@...
Subject: [Openmama-dev] Two Mamda libraries exporting the same symbol

 

Hi all,

 

We have noticed that both mamda/c_cpp/src/cpp/MamdaQuoteListener.cpp and mamda/c_cpp/src/orderbooks/MamdaQuoteToBookListener have implementations of a QuoteCache struct in the Wombat namespace. Therefore, both libmamda and libmamdabook are exporting the same symbol.

 

This is an issue when linking against the two libraries since the order they are dynamically linked determines which one is used. If the wrong QuoteCache struct is used this causes a segfault during construction of the object as the two implementations are different.

 

To me this seems like a bug and one of the two QuoteCache structs should be renamed.

 

Has anyone had an issue with this before / can anyone shed some light on this?

 

Thanks,

 


Mike Slade | Corporate & Investment Bank | Market Data Services | J.P. Morgan

 

This message is confidential and subject to terms at: https://www.jpmorgan.com/emaildisclaimer including on confidentiality, legal privilege, viruses and monitoring of electronic messages. If you are not the intended recipient, please delete this message and notify the sender immediately. Any unauthorized use is strictly prohibited.

Re: Two Mamda libraries exporting the same symbol

Slade, Michael J
 

Hi Frank,

 

Thanks for your message, and for raising the associated issue in Github.

 

We have discovered that the MamdaQuoteToBookListener.cpp file is not present in the SConscript.win build configuration file – it is only included in the Linux build. For now we are working around this issue by excluding the file from the non-windows SConscript file too.

 

If you could have a look at this issue, that would be great.

 

Many thanks,

 


Mike Slade | Corporate & Investment Bank | Market Data Services | J.P. Morgan

 

From: Frank Quinn [mailto:fquinn@...]
Sent: 30 April 2019 14:04
To: Slade, Michael J <michael.j.slade@...>; openmama-dev@...
Subject: RE: Two Mamda libraries exporting the same symbol

 

Hi Mike,

 

This isn’t something that I have seen before but it does look like a bug to me… and one which I imagine you had all sorts of fun tracking down.

 

On the upside, it looks like the struct in question isn’t referenced in the public headers so at least it can be renamed in relative isolation. Is this something that you are in the progress of doing or you want me to have a look?

 

I have raised https://github.com/OpenMAMA/OpenMAMA/issues/392 for tracking.

 

Cheers,

Frank

 

From: Openmama-dev@... <Openmama-dev@...> On Behalf Of Slade, Michael J via Lists.Openmama.Org
Sent: 26 April 2019 09:23
To: Openmama-dev@...
Cc: Openmama-dev@...
Subject: [Openmama-dev] Two Mamda libraries exporting the same symbol

 

Hi all,

 

We have noticed that both mamda/c_cpp/src/cpp/MamdaQuoteListener.cpp and mamda/c_cpp/src/orderbooks/MamdaQuoteToBookListener have implementations of a QuoteCache struct in the Wombat namespace. Therefore, both libmamda and libmamdabook are exporting the same symbol.

 

This is an issue when linking against the two libraries since the order they are dynamically linked determines which one is used. If the wrong QuoteCache struct is used this causes a segfault during construction of the object as the two implementations are different.

 

To me this seems like a bug and one of the two QuoteCache structs should be renamed.

 

Has anyone had an issue with this before / can anyone shed some light on this?

 

Thanks,

 


Mike Slade | Corporate & Investment Bank | Market Data Services | J.P. Morgan

 

This message is confidential and subject to terms at: https://www.jpmorgan.com/emaildisclaimer including on confidentiality, legal privilege, viruses and monitoring of electronic messages. If you are not the intended recipient, please delete this message and notify the sender immediately. Any unauthorized use is strictly prohibited.

This message is confidential and subject to terms at: https://www.jpmorgan.com/emaildisclaimer including on confidentiality, legal privilege, viruses and monitoring of electronic messages. If you are not the intended recipient, please delete this message and notify the sender immediately. Any unauthorized use is strictly prohibited.

Proposal to make the cut for OpenMAMA 6.3.0 RC1

Frank Quinn
 

Hi Folks,

 

It’s that time again where I think we need to consider making a new OpenMAMA release.

 

I’ve just raised a pull request for Docker which was the last main piece of new functionality that I wanted to get into this release. There is also the https://github.com/OpenMAMA/OpenMAMA/issues/392 issue which I hope to resolve next week.

 

So if anyone else is mid-flight with any changes or has any major showstoppers that they want to include in this release please let me know, otherwise I’ll take a cut towards the end of next week with a mind to release before the summer holidays kick in.

 

Note that this release bumps to version 6.3.0 because APIs which integrate with the new modular bridge functionality will not be backwards compatible with 6.2.x.

 

Also note that this release will finally remove scons in favour of cmake so please test these new builds in RC stage for any missing headers etc.

 

Cheers,

Frank

 

Frank Quinn

Cascadium

T: +44 (0) 28 8678 8015

E: fquinn@...

W: http://cascadium.io

 

Re: Proposal to make the cut for OpenMAMA 6.3.0 RC1

Damian Maguire
 

My two cents here, the Docker PR looks solid and I think is good to merge. I suspect the MAMDA QuoteCache fix (392) should be landed before any cut, even if it means a delay, but apart from that I think this is probably a solid time to begin the release process.

All for the removal of scons though, cmake all the way makes sense.

Cheers,

D


On Thu, 23 May 2019 at 23:11, Frank Quinn <fquinn@...> wrote:

Hi Folks,

 

It’s that time again where I think we need to consider making a new OpenMAMA release.

 

I’ve just raised a pull request for Docker which was the last main piece of new functionality that I wanted to get into this release. There is also the https://github.com/OpenMAMA/OpenMAMA/issues/392 issue which I hope to resolve next week.

 

So if anyone else is mid-flight with any changes or has any major showstoppers that they want to include in this release please let me know, otherwise I’ll take a cut towards the end of next week with a mind to release before the summer holidays kick in.

 

Note that this release bumps to version 6.3.0 because APIs which integrate with the new modular bridge functionality will not be backwards compatible with 6.2.x.

 

Also note that this release will finally remove scons in favour of cmake so please test these new builds in RC stage for any missing headers etc.

 

Cheers,

Frank

 

Frank Quinn

Cascadium

T: +44 (0) 28 8678 8015

E: fquinn@...

W: http://cascadium.io

 

OpenMAMA-6.3.0-rc1 Now Available

Frank Quinn
 

Hi Folks,

Sorry for the delay I hit a few snags trying to get the release together, but it’s finally ready!

https://github.com/OpenMAMA/OpenMAMA/releases/tag/OpenMAMA-6.3.0-rc1

Note that this changes the minor revision number which reflects a bridge change. This is because although this release doesn’t in itself do anything to break the bridge compatibility, new bridges being built using the new “base bridge” functionality would not be backwards compatible, so the version is being bumped to reflect this.

This is a maintenance release which fixes several outstanding bugs and introduces some new functionality.

For a complete list of all 20 issues included in this release, please see here: https://github.com/OpenMAMA/OpenMAMA/milestone/9?closed=1

Please test rigorously particularly for bridge based functionality and feel free to try out the new docker images and ping the mailing list if you have any queries! I’ll leave testing open for 6 weeks, making the aspirational release date be 20th August.

For help on how to raise a ticket, please see:

https://openmama.github.io/openmama_raising_issues.html

Good hunting.

Cheers,
Frank

 

Frank Quinn

Cascadium

T: +44 (0) 28 8678 8015

E: fquinn@...

W: http://cascadium.io

 

Re: OpenMAMA-6.3.0-rc1 Now Available

Frank Quinn
 

Sorry just as a quick correction, the list of issues is in this link, not the one in the previous email:

 

https://github.com/OpenMAMA/OpenMAMA/milestone/10?closed=1

 

(thanks Chris)

 

Cheers,

Frank

 

Frank Quinn, Cascadium | +44 (0) 28 8678 8015 | http://cascadium.io

 

From: Openmama-dev@... <Openmama-dev@...> On Behalf Of Frank Quinn via Lists.Openmama.Org
Sent: 09 July 2019 19:36
To: openmama-dev@...; openmama-users@...
Cc: Openmama-dev@...
Subject: [Openmama-dev] OpenMAMA-6.3.0-rc1 Now Available

 

Hi Folks,

Sorry for the delay I hit a few snags trying to get the release together, but it’s finally ready!

https://github.com/OpenMAMA/OpenMAMA/releases/tag/OpenMAMA-6.3.0-rc1

Note that this changes the minor revision number which reflects a bridge change. This is because although this release doesn’t in itself do anything to break the bridge compatibility, new bridges being built using the new “base bridge” functionality would not be backwards compatible, so the version is being bumped to reflect this.

This is a maintenance release which fixes several outstanding bugs and introduces some new functionality.

For a complete list of all 20 issues included in this release, please see here: https://github.com/OpenMAMA/OpenMAMA/milestone/9?closed=1

Please test rigorously particularly for bridge based functionality and feel free to try out the new docker images and ping the mailing list if you have any queries! I’ll leave testing open for 6 weeks, making the aspirational release date be 20th August.

For help on how to raise a ticket, please see:

https://openmama.github.io/openmama_raising_issues.html

Good hunting.

Cheers,
Frank

 

Frank Quinn

Cascadium

T: +44 (0) 28 8678 8015

E: fquinn@...

W: http://cascadium.io