[Quickfix-developers] MS VC++ release builds
Brought to you by:
orenmnero
From: Timothy Y. <Tim...@pa...> - 2004-06-14 13:42:10
|
Has anyone else had problems with apparently random crashes and memory corruptions in quickfix when using MS VC++, specifically using the default release build options? We have a C++ production application that uses quickfix. We have had to build quickfix with all optimizations turned off. We were unable to track down the memory corruptions that occurred with a release build. Recently, I have been using the Java version of quickfix. I have a test application that generates MarketDataSnapshotFullRefresh messages and populates them with essentially random price data. The receiving application sends a subscribe message and the test application starts sending refresh messages at a rate of about 20 per second. When using a release build of quickfix_jni.dll, the receiving application often crashes after several hundred messages due to an access violation. This typically occurs in the destructor call from Message.finalize(), other times in Group.finalize(), and othertime some place else. I do a session reset between test runs. Sometimes the application does not crash at all. I have tried disabling all processing of refresh messages by the receiving application (so it just returns from fromApp without doing anything), and the crashes still happen. The random nature of the crashes leads me to suspect a threading issue. When I use a debug build of quickfix_jni.dll, I can never get it to crash. This might just be luck, or it might indicate a problem with compiler optimizations. I think this problem may have something to do with repeating groups as I have only started noticing it since implementing market data support. However, it could just be that I have started stressing quickfix more than before. Interestingly, the corruptions we were experiencing in our production C++ application also occurred when there was a large amount of market data traffic. I am using quickfix 1.7.0. Tim Yates Lead Developer Patsystems (US) LLC 141 West Jackson Boulevard Chicago 60604, USA Tel +1 (312) 542-1336 www.patsystems.com |