[QFJ-976] GarbledMessage without MsgType Created: 16/May/19  Updated: 17/Jun/20  Resolved: 30/Jul/19

Status: Closed
Project: QuickFIX/J
Component/s: Engine
Affects Version/s: 2.1.1
Fix Version/s: 2.2.0

Type: Bug Priority: Default
Reporter: Hampus Bergström Assignee: Wojciech Zankowski
Resolution: Fixed Votes: 0
Labels: None


 Description   

I think there is an issue with letting garbledMessages(when the new RejectGarbledMessage property is set to Y) through the AbstractIoHandler. Its being passed here: https://github.com/quickfix-j/quickfixj/blob/master/quickfixj-core/src/main/java/quickfix/mina/AbstractIoHandler.java#L142 and if the reason is that the message is garbled because of missing MsgType it will crash here: https://github.com/quickfix-j/quickfixj/blob/master/quickfixj-core/src/main/java/quickfix/mina/initiator/InitiatorIoHandler.java#L64. Which means that the sequencenumber won't be incremented and the purpose with the property is neglected.

<20190516-14:30:21, FIX.4.4:SCILA5MD->FIXRFQTRADE, error> (Processing garbled message: Missing or garbled message type in 8=FIX.4.49=8034=149=FIXRFQTRADE52=20190516-14:29:47.67156=SCILA5MD98=0108=30141=Y10=174)
<20190516-14:30:32, FIX.4.4:SCILA5MD->FIXRFQTRADE, error> (quickfix.FieldNotFound: Field was not found in message, field=35
quickfix.FieldNotFound: Field was not found in message, field=35
at quickfix.FieldMap.getField(FieldMap.java:223)
at quickfix.FieldMap.getString(FieldMap.java:237)
at quickfix.mina.initiator.InitiatorIoHandler.processMessage(InitiatorIoHandler.java:64)
at quickfix.mina.AbstractIoHandler.messageReceived(AbstractIoHandler.java:142)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:858)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:947)
at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:398)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:234)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:947)
at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:535)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:703)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:659)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:648)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:68)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1120)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)



 Comments   
Comment by Christoph John [ 08/Jul/19 ]

Good catch. Do you have time for providing a pull request with a fix? https://github.com/quickfix-j/quickfixj/pulls

Cheers,
Chris.

Comment by Wojciech Zankowski [ 29/Jul/19 ]

I have created a pull request: https://github.com/quickfix-j/quickfixj/pull/225

Generated at Thu May 02 15:32:52 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.