[Quickfix-developers] [CVS] ThreadedSocketAcceptor crashes on version mismatch
Brought to you by:
orenmnero
From: Caleb E. <cal...@gm...> - 2005-03-09 14:09:35
|
Using CVS code as-of 2005-02-25. If a client connects to a QF acceptor which is using the ThreadedSocketAcceptor and there is a mismatch between the FIX BeginStrings for that session, the acceptor application crashes. Using the single-threaded SocketAcceptor, no crash happens; the acceptor closes the connection gracefully (though nothing is logged). Thread 1 is the thread that crashed the app: (gdb) thread 1 [Switching to thread 1 (process 15182)]#0 0x400c2b78 in FIX::ThreadedSocketConnection::read (this=0x808c1f0) at Session.h:130 130 Log* getLog() { return &m_state; } (gdb) thread apply all where Thread 4 (process 15023): #0 0x40000c32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x4046cd36 in __nanosleep_nocancel () from /lib/tls/libc.so.6 #2 0x4010f59c in FIX::process_sleep (s=0) at Utility.cpp:374 #3 0x0806f95f in wait () at executor.cpp:89 #4 0x080700ec in main (argc=3, argv=0xbfff8c24) at executor.cpp:202 Thread 3 (process 15024): #0 0x40000c32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x404a0438 in accept () from /lib/tls/libc.so.6 #2 0x4010f0cf in FIX::socket_accept (s=8) at Utility.cpp:135 #3 0x400b74a6 in FIX::ThreadedSocketAcceptor::onStart (this=0xbfff8a30) at ThreadedSocketAcceptor.cpp:85 #4 0x400a2851 in FIX::Acceptor::startThread (p=0xfffffe00) at Acceptor.cpp:228 #5 0x40607dac in start_thread () from /lib/tls/libpthread.so.0 #6 0x4049fa8a in clone () from /lib/tls/libc.so.6 Thread 2 (process 15183): #0 0x40000c32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x4060a3aa in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0 #2 0x404ac9cd in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/libc.so.6 #3 0x400c316b in FIX::ThreadedSocketConnection::readQueue (this=0x808c1f0) at Event.h:78 #4 0x400c39ff in FIX::ThreadedSocketConnection::queueThread (p=0xfffffffc) at ThreadedSocketConnection.cpp:219 #5 0x40607dac in start_thread () from /lib/tls/libpthread.so.0 #6 0x4049fa8a in clone () from /lib/tls/libc.so.6 Thread 1 (process 15182): #0 0x400c2b78 in FIX::ThreadedSocketConnection::read (this=0x808c1f0) at Session.h:130 #1 0x400b79b8 in FIX::ThreadedSocketAcceptor::socketThread (p=0x0) at ThreadedSocketAcceptor.cpp:168 #2 0x40607dac in start_thread () from /lib/tls/libpthread.so.0 #3 0x4049fa8a in clone () from /lib/tls/libc.so.6 #0 0x40000c32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 -- Caleb Epstein caleb dot epstein at gmail dot com |