[Quickfix-developers] qf crashes on logout callback
Brought to you by:
orenmnero
From: H. S. <st...@un...> - 2006-10-26 08:52:00
|
hi oren, it seems that the logout callback is triggered too late on "irregular" disconnections. if e.g. you get a timeout while waiting for a logon response or timeout waiting for a reply on a test request, the logout callback is triggered normally. if you try to access data from the sessionid - e.g. sessionID.getSenderCompID().getValue() - quickfix crashes. seems like the session was removed before the callback is triggered (this is just an assumption as i did not investigate code) thread(135282688): at Session::lookupSession(Session.cpp:1448) thread(135544832): at process_sleep(Utility.cpp:501) at ThreadedSocketInitiator::onStart(ThreadedSocketInitiator.cpp:76) at Initiator::startThread(Initiator.cpp:302) thread(135545856): at ThreadedSocketConnection::read(ThreadedSocketConnection.cpp:81) at ThreadedSocketInitiator::socketThread(ThreadedSocketInitiator.cpp:203) thread(135586816): at socket_close(Utility.cpp:170) at ThreadedSocketConnection::disconnect(ThreadedSocketConnection.cpp:72) at Session::disconnect(Session.cpp:542) at Session::next(Session.cpp:122) at ThreadedSocketConnection::read(ThreadedSocketConnection.cpp:81) at ThreadedSocketInitiator::socketThread(ThreadedSocketInitiator.cpp:203) thread(135599104): at ThreadedSocketConnection::read(ThreadedSocketConnection.cpp:81) at ThreadedSocketInitiator::socketThread(ThreadedSocketInitiator.cpp:203) thread(135822336): at Initiator::setDisconnected(Initiator.cpp:157) at ThreadedSocketInitiator::socketThread(ThreadedSocketInitiator.cpp:203) zsh: abort (core dumped) let me know if i can help. cheers, heri hi oren, it seems that the logout callback is triggered too late on "irregular" disconnections. if e.g. you get a timeout while waiting for a logon response or timeout waiting for a reply on a test request, the logout callback is triggered normally. if you try to access data from the sessionid - e.g. sessionID.getSenderCompID().getValue() - quickfix crashes. seems like the session was removed before the callback is triggered (this is just an assumption as i did not investigate code) thread(135282688): at Session::lookupSession(Session.cpp:1448) thread(135544832): at process_sleep(Utility.cpp:501) at ThreadedSocketInitiator::onStart(ThreadedSocketInitiator.cpp:76) at Initiator::startThread(Initiator.cpp:302) thread(135545856): at ThreadedSocketConnection::read(ThreadedSocketConnection.cpp:81) at ThreadedSocketInitiator::socketThread(ThreadedSocketInitiator.cpp:203) thread(135586816): at socket_close(Utility.cpp:170) at ThreadedSocketConnection::disconnect(ThreadedSocketConnection.cpp:72) at Session::disconnect(Session.cpp:542) at Session::next(Session.cpp:122) at ThreadedSocketConnection::read(ThreadedSocketConnection.cpp:81) at ThreadedSocketInitiator::socketThread(ThreadedSocketInitiator.cpp:203) thread(135599104): at ThreadedSocketConnection::read(ThreadedSocketConnection.cpp:81) at ThreadedSocketInitiator::socketThread(ThreadedSocketInitiator.cpp:203) thread(135822336): at Initiator::setDisconnected(Initiator.cpp:157) at ThreadedSocketInitiator::socketThread(ThreadedSocketInitiator.cpp:203) zsh: abort (core dumped) let me know if i can help. cheers, heri |