commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ate Douma (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (SCXML-285) Before executing invoke handlers after a macrostep all internal events must have been processed
Date Wed, 17 Oct 2018 23:02:00 GMT

     [ https://issues.apache.org/jira/browse/SCXML-285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Ate Douma resolved SCXML-285.
-----------------------------
    Resolution: Fixed

> Before executing invoke handlers after a macrostep all internal events must have been
processed
> -----------------------------------------------------------------------------------------------
>
>                 Key: SCXML-285
>                 URL: https://issues.apache.org/jira/browse/SCXML-285
>             Project: Commons SCXML
>          Issue Type: Bug
>    Affects Versions: 2.0
>            Reporter: Ate Douma
>            Assignee: Ate Douma
>            Priority: Major
>             Fix For: 2.0
>
>
> I discovered a tricky bug in SCXMLSemanticsImpl#macroStep where it doesn't comply with
the SCXML specification, part 3.13, which defines the following rules (among many others):
>  * A _macrostep_ is a series of one or more microsteps ending in a configuration where
the internal event queue is empty [...]
>  * After completing a macrostep, the SCXML Processor _must_ execute in document order
the <invoke> handlers [...]
> The tricky bug is that the current implementation does check for internal events first,
but only processes the first event!
> In case of more than 1 internal event, the invoke handlers will be executed *before* (thereafter)
processing any remaining internal events.
> The  [SCXML IRP Tests|https://www.w3.org/Voice/2013/scxml-irp/] didn't catch/test this
condition, and it only in special scenarios will actually make a difference.
> I'll add a dedicated test for this, and then apply a fix proving it.  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message