[Quickfix-users] Crash with quickfix 1.13.3 in dtor of FieldMap
Brought to you by:
orenmnero
From: Harwinder S. <har...@ut...> - 2015-11-10 08:40:24
|
Hi, We are facing a crash in the quickfix library, when we are receivng a very large message from the counterparty. I put a debug build on the machine and the crash dump is below the message. I am using quickfix version 1.13.3, gcc 4.4.7 on CentOS 6.x and when I looked at FieldMap:174, it is a delete statement. A similar issue with allocators is probably reported here: http://sourceforge.net/p/quickfix/mailman/message/10833533/ which seems to be have been fixed in 1.12.4. However, since I’m using a later version, this should not be the case here. The configure script on my machine gives the following output related to the allocators: checking for boost::pool_allocator... yes checking for boost::fast_pool_allocator... yes checking __gnu_cxx::__pool_alloc... yes checking __gnu_cxx::__mt_alloc... yes checking __gnu_cxx::bitmap_allocator... yes Any pointers on how can I go about fixing this issue? Best Regards, Harwinder Stack Trace: (gdb) bt #0 0x00007ffff6858084 in FIX::FieldMap::clear (this=0x7ffff5271630) at FieldMap.cpp:174 #1 0x00007ffff6858a49 in FIX::FieldMap::~FieldMap (this=0x7ffff5271630, __in_chrg=<value optimized out>) at FieldMap.cpp:35 #2 0x000000000061bf66 in FIX::Message::~Message (this=0x7ffff5271630, __in_chrg=<value optimized out>) at /usr/local/include/quickfix/Message.h:58 #3 0x00007ffff6806d14 in FIX::Session::next (this=0x9c6480, msg= "8=FIX.4.4\001\071=166387\001\063\065=W\001\063\064=3\001\064\071=BCSGATEWAY\001\065\062=20151109-21:10:23.243\001\065\066=MDFOREX\001\065\065=LAN\001\061\066\067=CS\001\062\060\067=XSGO\001\062\066\062=1\001\062\066\070=935\001\062\066\071=5\001\062\067\060=3998.8\001\062\067\062=20151109\001\062\070\066=6\001\062\071\060=1\001\062\066\071=7\001\062\067\060=4150\001\062\071\060=1\001\062\066\071=8\001\062\067\060=3950.1\001\062\071\060="..., timeStamp=..., queued=<value optimized out>) at Session.cpp:1309 #4 0x00007ffff682fecc in FIX::SocketConnection::readMessages (this=0x7fffe8000f90, s=...) at SocketConnection.cpp:234 #5 0x00007ffff682fff5 in FIX::SocketConnection::read (this=0x7fffe8000f90, s=...) at SocketConnection.cpp:124 #6 0x00007ffff6821e51 in FIX::ConnectorWrapper::onEvent (this=0x7ffff5271d60, socket=23) at SocketConnector.cpp:67 #7 0x00007ffff682e03d in FIX::SocketMonitor::processReadSet (this=0x9cb0a0, strategy=..., readSet=...) at SocketMonitor.cpp:287 #8 0x00007ffff682edcd in FIX::SocketMonitor::block (this=0x9cb0a0, strategy=..., poll=false, timeout=<value optimized out>) at SocketMonitor.cpp:243 #9 0x00007ffff6821cc8 in FIX::SocketConnector::block (this=<value optimized out>, strategy=<value optimized out>, poll=<value optimized out>, timeout=<value optimized out>) at SocketConnector.cpp:144 #10 0x00007ffff682b021 in FIX::SocketInitiator::onStart (this=0x9cadf0) at SocketInitiator.cpp:96 #11 0x00007ffff68247fa in FIX::Initiator::startThread (p=<value optimized out>) at Initiator.cpp:336 #12 0x0000003284c07a51 in start_thread () from /lib64/libpthread.so.0 #13 0x00000032848e893d in clone () from /lib64/libc.so.6 (gdb) |