We're updating the issue view to help you get more done. 

f8test doesn't work as expected

Description

I've been working on fixing strange behavior of f8test while debugging fixfor_fx-148_remove-kills branch. Gave it up and tried to check f8test at dev branch. And... it fails the same way.
First of all configs of f8test have typo: process_mode->process_model (see commit). Then, running in dev branch,

./f8test -sl server -c myfix_server.xml
vs
./f8test -rl client -c myfix_client.xml
or
./f8test -l client -c myfix_client.xml

the code hangs or immediately exists at second run, since server gives you:

header ("header")
BeginString (8): FIXT.1.1
BodyLength (9): 110
MsgType (35): 5
SenderCompID (49): DLD_TEX
TargetCompID (56): TEX_DLD
MsgSeqNum (34): 7
SendingTime (52): 20131213-06:29:34.123
Logout ("5")
Text (58): Invalid Sequence number, received: 10 expected: 8
trailer ("trailer")
CheckSum (10): 096

Session(1) finished.

So this problem exists in dev branch and is not related to cancellation token I hope.
David, could you please advise of how to fix that or fix that?
BTW, f8test looks like an outdated copy of hftest...

syegres commented 2 months ago
This is a fix for 148 (removing kills). Actually, it is a workaround for current thread implementation.
I hope I'll replace it by either Poco one or std or make it configurable like regex while moving to Win64.
David Dight

dakka commented 2 months ago
Did you manage to test this with f8test and hftest client/servers? Especially in the cases where either unexpectedly terminates.
Sergey Sedreev

syegres commented 2 months ago
No. I'd like to do so, but don't really know what to do. Could you please give me or publish somewhere a test script that has to be run before creating a pull request?
David Dight

dakka commented 2 months ago
I don't have a test script for these tests - but we could write one and add to unit tests.
Just use the client/server mode of each and sanity check.
Sergey Sedreev

syegres commented 2 months ago
I've ran unit tests, hftest in coromode, but haven't ran f8test....
Sergey Sedreev

syegres commented 2 months ago
working on f8test server...
Sergey Sedreev

syegres commented 2 months ago
Seems that f8test is not working in pipeline mode... looking into
Sergey Sedreev

syegres commented 2 months ago
I need help on this task... first of all configs of f8test have typo: process_mode->process_model.
Then, even running in dev branch,

./f8test -sl server -c myfix_server.xml
vs

./f8test -rl client -c myfix_client.xml
or
./f8test -l client -c myfix_client.xml
the code hangs or immediately exists at second run, since server gives you:

header ("header")
BeginString (8): FIXT.1.1
BodyLength (9): 110
MsgType (35): 5
SenderCompID (49): DLD_TEX
TargetCompID (56): TEX_DLD
MsgSeqNum (34): 7
SendingTime (52): 20131213-06:29:34.123
Logout ("5")
Text (58): Invalid Sequence number, received: 10 expected: 8
trailer ("trailer")
CheckSum (10): 096

Session(1) finished.
So this problem exists in dev branch and is not related to cancellation token I hope.
David, could you please advise of how to fix that or fix that?
BTW, f8test looks like an outdated copy of hftest...
Sergey Sedreev

syegres commented 2 months ago
Done clean build of dev. f8test works well, both client and server.
Run dev/client against my/server: first run was ok, second had 1 diff in sequence.
Run my/server against dev/client: first run was ok, second had 1 (unreliable session) or 2 (reliable session) diff in sequence.
Seems that race condition in saving sequence exists somewhere...
Sergey Sedreevsyegres closed the pull request a month ago
dakka and others added some commits 4 days ago
David Dight Merge pull request #63 from syegres/fixfor_fx-178_hanginfixreader-1 … 6af8c32
Sergey Sedreev added cancellation_token for thread exit 2c323e3
Sergey Sedreev made cancellation token a separate class, fixed typo in f8test configs 6277b1c
Sergey Sedreev Added cancellation token method as a parameter to thread construction b96d4eb
Sergey Sedreev merge from dev 26d2408
Sergey Sedreev fixed thread exiting on join() call ddffb2e
Sergey Sedreev

syegres commented 6 hours ago
Fixed the issue of early exit in f8test when running in reliable session mode. Opened a defect for seqnm mismatch https://fix8engine.atlassian.net/browse/FX-158.

Environment

Ubuntu 13.10 x64 gcc4.8

Status

Assignee

Sergey Sedreev

Reporter

Sergey Sedreev

Labels

None

Branch

master

Products

None

Fix versions

Affects versions

0.10.0

Priority

Blocker