Re: [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 11:28:21
|
I tried upgrading to quickfix 1.14.3 and I am getting a similar crash:
(gdb) bt
#0 0x00007f8af46214b6 in std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::~basic_string() () from /usr/lib64/libstdc++.so.6
#1 0x0000000000575132 in FIX::FieldBase::~FieldBase (this=0x7f8ae0004f08,
__in_chrg=<value optimized out>) at
/home/hss/quickinstall14/include/quickfix/Field.h:91
#2 0x000000000060be1e in std::pair<int const, FIX::FieldBase>::~pair
(this=0x7f8ae0004f00, __in_chrg=<value optimized out>)
at
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_pair.h:68
#3 0x0000000000616292 in __gnu_cxx::new_allocator<std::pair<int const,
FIX::FieldBase> >::destroy (this=0x7f8aee5a947f, __p=0x7f8ae0004f00)
at
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/ext/new_allocator.h:115
#4 0x00000000006131eb in std::_Rb_tree<int, std::pair<int const,
FIX::FieldBase>, std::_Select1st<std::pair<int const, FIX::FieldBase> >,
FIX::message_order, std::allocator<std::pair<int const, FIX::FieldBase> >
>::_M_destroy_node (this=0x7f8ae00044c8, __p=0x7f8ae0004ee0) at
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_tree.h:383
#5 0x0000000000610f39 in std::_Rb_tree<int, std::pair<int const,
FIX::FieldBase>, std::_Select1st<std::pair<int const, FIX::FieldBase> >,
FIX::message_order, std::allocator<std::pair<int const, FIX::FieldBase> >
>::_M_erase (this=0x7f8ae00044c8, __x=0x7f8ae0004ee0) at
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_tree.h:972
#6 0x0000000000610f16 in std::_Rb_tree<int, std::pair<int const,
FIX::FieldBase>, std::_Select1st<std::pair<int const, FIX::FieldBase> >,
FIX::message_order, std::allocator<std::pair<int const, FIX::FieldBase> >
>::_M_erase (this=0x7f8ae00044c8, __x=0x7f8ae00045e0) at
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_tree.h:970
#7 0x00007f8af4eaa7de in clear (this=<value optimized out>) at
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_tree.h:726
#8 clear (this=<value optimized out>) at
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_multimap.h:562
#9 FIX::FieldMap::clear (this=<value optimized out>) at FieldMap.cpp:145
#10 0x00007f8af4eaaf6e in FIX::FieldMap::~FieldMap (this=0x7f8ae00044c0,
__in_chrg=<value optimized out>) at FieldMap.cpp:35
#11 0x000000000060cca1 in FIX::Group::~Group (this=0x7f8ae00044c0,
__in_chrg=<value optimized out>) at
/home/hss/quickinstall14/include/quickfix/fix44/../Group.h:41
#12 0x000000000060ccd0 in FIX::Group::~Group (this=0x7f8ae00044c0,
__in_chrg=<value optimized out>) at
/home/hss/quickinstall14/include/quickfix/fix44/../Group.h:41
#13 0x00007f8af4eaa827 in FIX::FieldMap::clear (this=0x7f8aee5a9640) at
FieldMap.cpp:152
#14 0x00007f8af4eaaf6e in FIX::FieldMap::~FieldMap (this=0x7f8aee5a9640,
__in_chrg=<value optimized out>) at FieldMap.cpp:35
#15 0x0000000000633ddc in FIX::Message::~Message (this=0x7f8aee5a9640,
__in_chrg=<value optimized out>) at
/home/hss/quickinstall14/include/quickfix/Message.h:68
#16 0x00007f8af4e5b2cf in FIX::Session::next (this=0x1374fd0, msg=
"8=FIX.4.4\001\071=166622\001\063\065=W\001\063\064=3\001\064\071=BCSG\001\065\062=20151110-11:24:45.464\001\065\066=BTFOREXCERT\001\065\065=LAN\001\061\066\067=CS\001\062\060\067=XSGO\001\062\066\062=2\001\062\066\070=938\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=1\001"...,
timeStamp=..., queued=<value optimized out>) at Session.cpp:1189
#17 0x00007f8af4e8238c in FIX::SocketConnection::readMessages
(this=0x7f8ae0000fd0, s=...) at SocketConnection.cpp:224
#18 0x00007f8af4e82575 in FIX::SocketConnection::read (this=0x7f8ae0000fd0,
s=...) at SocketConnection.cpp:113
#19 0x00007f8af4e73241 in FIX::ConnectorWrapper::onEvent
(this=0x7f8aee5a9d60, socket=19) at SocketConnector.cpp:59
#20 0x00007f8af4e8092d in FIX::SocketMonitor::processReadSet
(this=0xeee5e0, strategy=..., readSet=...) at SocketMonitor.cpp:260
#21 0x00007f8af4e8148d in FIX::SocketMonitor::block (this=0xeee5e0,
strategy=..., poll=false, timeout=<value optimized out>) at
SocketMonitor.cpp:219
#22 0x00007f8af4e730d8 in FIX::SocketConnector::block (this=<value
optimized out>, strategy=<value optimized out>, poll=<value optimized out>,
timeout=<value optimized out>)
at SocketConnector.cpp:114
#23 0x00007f8af4e7cc55 in FIX::SocketInitiator::onStart (this=0xeee330) at
SocketInitiator.cpp:92
#24 0x00007f8af4e7643a in FIX::Initiator::startThread (p=<value optimized
out>) at Initiator.cpp:286
#25 0x00007f8af48919d1 in start_thread () from /lib64/libpthread.so.0
#26 0x00007f8af3e3e8fd in clone () from /lib64/libc.so.6
On Tue, Nov 10, 2015 at 1:38 PM, Harwinder Sidhu <
har...@ut...> wrote:
> 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)
>
>
|