Uploaded image for project: 'fix8'
  1. fix8
  2. FX-158

f8test doesn't work as expected

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Cannot Reproduce
    • Affects Version/s: 0.10.0
    • Fix Version/s: 1.0.0
    • Component/s: None
    • Labels:
      None
    • Environment:

      Ubuntu 13.10 x64 gcc4.8

    • Branch:
      master

      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.

        Attachments

          Issue links

            Activity

              People

              • Assignee:
                syegres Sergey Sedreev
                Reporter:
                syegres Sergey Sedreev
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Who's Looking?