Commons SCXML
  1. Commons SCXML
  2. SCXML-58

SCXML not stateless because of State class

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.6
    • Fix Version/s: 0.7
    • Labels:
      None
    • Environment:

      nightly build 20070730

      Description

      The State class is not stateless because of the "done" property. This can cause incorrect firing of the parallel state done transition when sharing an SCXML object between multiple SCXMLExecutors.

      1. stateless-parallel01.xml
        0.8 kB
        Mike Tillberg
      2. statelessTest.patch
        4 kB
        Mike Tillberg

        Activity

        Mike Tillberg created issue -
        Hide
        Mike Tillberg added a comment -

        Patch to StatelessModelText and accompanying state model to test this problem.

        Show
        Mike Tillberg added a comment - Patch to StatelessModelText and accompanying state model to test this problem.
        Mike Tillberg made changes -
        Field Original Value New Value
        Attachment stateless-parallel01.xml [ 12364953 ]
        Attachment statelessTest.patch [ 12364952 ]
        Hide
        Rahul Akolkar added a comment -

        Indeed, and thanks for the test case (haven't run it yet, but the issue seems obvious). I intend to look at this in a week's time. If you want to take a stab at it, probably the best solution would be to hand off this book-keeping to the o.a.c.scxml.SCInstance class which manages the state for every executor instance.

        Setting fix version to next release (v0.7).

        Please note that the "Affects Version/s" field should generally be set to the latest release (in this case, v0.6 – I've changed that here).

        Show
        Rahul Akolkar added a comment - Indeed, and thanks for the test case (haven't run it yet, but the issue seems obvious). I intend to look at this in a week's time. If you want to take a stab at it, probably the best solution would be to hand off this book-keeping to the o.a.c.scxml.SCInstance class which manages the state for every executor instance. Setting fix version to next release (v0.7). Please note that the "Affects Version/s" field should generally be set to the latest release (in this case, v0.6 – I've changed that here).
        Rahul Akolkar made changes -
        Affects Version/s 0.7 [ 12312252 ]
        Affects Version/s 0.6 [ 12312019 ]
        Fix Version/s 0.7 [ 12312252 ]
        Hide
        Rahul Akolkar added a comment -

        Fixed in SVN, thanks for the tests, they have been added to the test suite.

        Show
        Rahul Akolkar added a comment - Fixed in SVN, thanks for the tests, they have been added to the test suite.
        Rahul Akolkar made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Rahul Akolkar made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Mike Tillberg
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development