Skip to content

simplefix.errors.TagNotNumberError: invalid literal for int() with base 10: b'\x0110' #64

@Jack-Leo-CN

Description

@Jack-Leo-CN

I encountered the following issue: message reception is disordered.
According to the AI investigation results, when processing raw data fields such as tag 350/351, the condition for determining whether the "buffer is sufficient" is raw_len > available, without reserving 1 byte for the termination SOH. When the TCP packet boundary coincides with the end of the 351 data, the SOH of the next packet is mistakenly recognized as the tag byte of the next field, resulting in b'\x0110'

2026-05-20 01:13:27 [ERROR] modules.fix.session_simplefix: FIX Receive Error: invalid literal for int() with base 10: b'\x0110'
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/simplefix/parser.py", line 297, in get_message
tag = int(tag_string)
^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: b'\x0110'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/app/modules/fix/session_simplefix.py", line 277, in _receive_loop
msg = self._parser.get_message()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/simplefix/parser.py", line 299, in get_message
raise errors.TagNotNumberError(*e.args)
simplefix.errors.TagNotNumberError: invalid literal for int() with base 10: b'\x0110'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions