Details
Description
When message grammar validation fails (Invalid tag number, or similar errors) on any message before Logon messages are exchanged (including Logon message itself), Quickfix/J attempts to send Reject message which causes "Tried to send a reject while not logged on" SessionException
quickfix.SessionException: Tried to send a reject while not logged on: Invalid tag number (field 9001)
at quickfix.Session.generateReject(Session.java:1050)
at quickfix.Session.next(Session.java:733)
at quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:106)
at quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:70)
at quickfix.mina.SingleThreadedEventHandlingStrategy$1.run(SingleThreadedEventHandlingStrategy.java:86)
at java.lang.Thread.run(Thread.java:595)
As the result, is a counterparty happens to send an incorrect or undefined tag inside Logon message, the response Logon is never sent, and the connection is never dropped, so the counterparty is only learns of the problem via timeout.