Skip to content

Azure linux - Incorrect BeginString (FIX.4.4) - Sometimes when receiving simultenuous messages of type (35=8 and 150=F) #983

@ahossny

Description

@ahossny

Technical Issue Description:

Our FIX Engine intermittently disconnects due to an error message stating “Incorrect BeginString (FIX.4.4)”, even though the BeginString field is received correctly and shows no formatting or content issues upon inspection. As a result, our FIX server experiences temporary disconnections during message handling.

We are currently using QuickFIX/n.Core version 1.13.1, and our implementation functions exclusively as a FIX initiator (not an acceptor).

Based on our internal analysis and logs, this issue appears to occurs periodically under high message throughput, specifically when multiple simultaneous messagss are received at nearly the same time. What makes this behavior particularly unusual is that it tends to happen during the reception of certain message types — specifically messages with the following criteria:

MsgType (35) = 8 (Execution Report)

ExecType (150) = F (Trade Cancel)

Although the root cause remains unclear, our theory is that when multiple messages of this type are received concurrently, a race condition or message parsing conflict may occur within the QuickFIX/n engine, resulting in the temporary “Incorrect BeginString” error and subsequent disconnects.

Here is all information needed to replicate our issue:

Incoming Message:
8=FIX.4.4�9=383�35=8�34=5�49=FIXBRIDGETT�52=20250904-09:01:09.727�56=EVV-VMD-TST�128=VDM�1=786381253695�6=102.34�11=ORD.59.0�14=144.099837�15=CHF�17=OTR252470000231�22=4�31=102.34�32=1.40805�37=AUF250825-13328158�39=1�40=1�48=CH03481111111�54=D�55=CH0348067338�59=1�60=20250903-09:00:19.000�64=20250905�75=20250903�150=F�151=0.000163�152=144.1000000�423=2�526=AUF250825-13328158�528=R�10=116�

Outgoing Message:
8=FIX.4.4�35=5�34=2�49=EVV-VMD-TST�52=20250904-09:01:09.791�56=FIXBRIDGETT�58=Incorrect BeginString (FIX.4.4)�

Initiator.cfg :

[DEFAULT]
ConnectionType=initiator
ReconnectInterval=30
FileStorePath=store
FileLogPath=log
StartTime=00:00:00
EndTime=23:59:59
UseDataDictionary=Y
DataDictionary=specs/FIX44.xml
SocketConnectHost=1.1.1.1
SocketConnectPort=8080
ResetOnLogon=Y
ResetOnDisconnect=Y

[SESSION]
BeginString=FIX.4.4
SenderCompID=EVV-VMD-TST
TargetCompID=FIXBRIDGETT
HeartBtInt=30

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions