[Quickfix-developers] BodyLength or CheckSum missing
Brought to you by:
orenmnero
From: Brian E. <Br...@ma...> - 2003-10-14 15:11:38
|
I seem to be having a problem where I get an InvalidMessage("BodyLength or CheckSum missing") exception thrown from Message::validate(). When I look at my logs, or even re-parse the message, everything is in tact. I can't see any reason why this exception is being thrown. I only get this with one venue, and it only happens every couple of days or so. Has anyone else had this problem before? I've added some more logging to this area, and I think I will figure it out soon. The item that concerns me more is that this exception does not get handled, and the EH eventually calls terminate() or abort() and the program ends. I'm using version 1.6, and I have two suggestions. 1) "bool SocketConnection::read( SocketAcceptor& a, SocketServer& s )" has an exception handler, while bool "SocketConnection::read( SocketConnector& s )" does not. My exception occurs in the latter case. I copied the exception code from the one read to the other to make them consistent. 2) I added try {} catch(...) statement to the onStart() procedures, to trap any unhanded exceptions. I'd rather have the thread safely terminate than for my whole app to end. If these changes are worthwhile, I'll try to merge them in CVS. -Brian |