Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This article provides information about log messages related to validation and parsing errors.

Validation errors

Validation collects the errors until the end of the message, groups them per type, and then reports each group in one row of the log file.

...

  • Component blocks are empty in the message

    Code Block
    languagebash
    The following required tag(s) is missing: <tag number1>, ..., <tag numberN>; block <block_name1> (<req_tag number1>, ..., <req_tag numberN>),... ,block <block_nameN> (<req_tag number1>, ..., <req_tag numberN>); <tag_numberNN> in Group <lead_tagNN>, Entry #=<entry_numberNN>[Nested group<lead_tagM>, Nested entry #=<entry_numberM>],[...]. Error(s) in message <message_type> with sequence number <seq_number>.

    Description: All empty component blocks in the message are reported in one row of the log file and displayed as part of the Required tags are missed error message.

WARN


  • Myricom DBL is not supported

    FIX protocol version in the message differs from the one in the session

    Code Block
    languagebash
    <Timestamp>Cannot send the given message: WARNthe version of  [Engine]  Myricom DBL is not supported. Cannot load dynamic library: 'dbltcp.dll'. The specified module could not be found. (Error code = 126)

    Description: These records in log file are about compiler options which were used to build FixAntenna library. FixAntenna checks if Myricom card is installed and available.

    Troubleshooting steps: This doesn't indicate an issue. Please, ignore them.

    Message queue was overflown

    Code Block
    languagebash
    <Timestamp>    WARN    [b2bits_mfix_instrument]  orders CURR CETS|USD000UTSTOM: Message queue was overflown.

    Description: This record appears when number of messages stored in recovery mode for the particular instrument becomes more than maximum.

    Troubleshooting stepsYou should increase MDApplicationParams::incrementQueueSize_ parameter or handle messages quicker.
    the message is <FIX version 1>, whereas session's version is <FIX version 2>.

    Description: The FIX protocol version in the message differs from the one in the session. Except the FIXT 1.1.

    Info

    The first found error during validation is written in the <SessionRejectReason>(373) field in Reject (3) message. The rest of found errors are enumerated in the <Text>(58) field in addition if any.

Parsing errors

All the parsing errors that prevent the work proceeding are not collected at all and reported immediately when occur.


  • The wrong tags positions in the message - outside an expected repeating group

    Code Block
    languagebash
    Tag 55 is on a wrong level. This tag must be in group with leading tag: 146. Parsing stopped at column: 126 at tag 55 in message V with sequence number 2.

    Description: Valid value is in the <SessionRejectReason> (373) field in case of parsing error. Detailed error description is in the <Text> (58) field in case of parsing error. A Reject message is received with <SessionRejectReason> = "Tag specified out of required order" (373=14).


  • Inconsistency between the declared and the expected numbers of entries in the repeating group

    Code Block
    languagebash
    Incorrect NumInGroup count for repeating group (tag 78). Declared entries count: 2. Entries count in fact: 1. Parsing stopped at column: 188 in tag N/A in message D with sequence number <2>.

    Description: A Reject message has the tag SessionRejectReason (373) equaled to <Incorrect NumInGroup count for repeating group> (16) if a repeating group has an incorrect number of tags.

Errors types

  1. Fatal errors. Parsing stops immediately without error collecting:
    • WrongSize (ParserException)
    • NoTagsDelimiterAtTheEnd (ParserException)
    • UnexpectedEOF (ParserException)
    • UnexpectedField (TagOutOfOrderException)
    • UnknownMsgType (InvalidMsgTypeException)
    • LastRootTagIsNotCheckSum (TagOutOfOrderException)
    • Invalid CheckSum (IncorrectCheckSumException)
    • ReperatingGroupBounds (IncorrectNumInGroupCountForRepeatingGroupException)
    • EncryptionExceptions (if an encryption method is being used) 
    • UnknownField (TagNotDefinedForThisMessageTypeException)
    • UnknownFieldInGroup (TagNotDefinedForThisMessageTypeException)
  2. Validation errors. The errors are collected instead of throwing an exception:
    • UnknownField (TagNotDefinedForThisMessageTypeException)
    • TagSpecifiedWithoutValueException
    • Incorrect field data format (ValidationException)
    • RequiredTagMissingException
    • Error while evaluating conditional required expression (ParserException)
    • RequiredBlockWithoutFieldsCharPtr