[
https://issues.apache.org/jira/browse/SCXML-205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Johannes Wienke updated SCXML-205:
----------------------------------
Summary: finalStep gets called twice (was: finalStep gets called twice in
case of a statemachine with a single state)
> finalStep gets called twice
> ---------------------------
>
> Key: SCXML-205
> URL: https://issues.apache.org/jira/browse/SCXML-205
> Project: Commons SCXML
> Issue Type: Bug
> Affects Versions: 2.0
> Reporter: Johannes Wienke
> Priority: Critical
>
> In case of a statemachine that consists of only one state, the actions
> defined on this state get called twice. The following scxml explains the
> problem:
> {code:xml}
> <scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="Start"
> name="PublishEvent">
> <final id="Start">
> <onentry>
> <log expr="'Entering state Start'"></log>
> </onentry>
> <onexit>
> <log expr="'Leaving state Start'"></log>
> </onexit>
> </final>
> </scxml>
> {code}
> Both log messages appear twice when running this example.
> I digged a bit in the source code and through a debugger I could find the
> cause for this effect: The finalStep method of SCXMLSemanticsImpl gets called
> twice. One backtrace looks like this:
> {noformat}
> SCXMLSemanticsImpl.finalStep(SCXMLExecutionContext) line: 215
> SCXMLSemanticsImpl.firstStep(SCXMLExecutionContext) line: 132
> SCXMLExecutor.reset() line: 331
> SCXMLExecutor.go() line: 318
> {noformat}
> and the seconds looks like this:
> {noformat}
> SCXMLSemanticsImpl.finalStep(SCXMLExecutionContext) line: 215
> SCXMLExecutor.reset() line: 334
> SCXMLExecutor.go() line: 318
> {noformat}
> I am not sure about what should be the correct behavior, but to my mind, the
> second call looks suspicious.
--
This message was sent by Atlassian JIRA
(v6.2#6252)