This issue tracker is closed. Please visit UPPAAL issue tracker at Github instead.

Bug 681 - Clocks on urgent edge: Simulator does not notify on error
Summary: Clocks on urgent edge: Simulator does not notify on error
Status: ASSIGNED
Alias: None
Product: UPPAAL Stratego
Classification: Unclassified
Component: GUI (show other bugs)
Version: unspecified
Hardware: PC Linux
: P5 normal
Assignee: Marius Mikučionis
URL:
Depends on:
Blocks:
 
Reported: 2020-06-08 10:07 CEST by Martin Kristjansen
Modified: 2021-01-21 14:25 CET (History)
0 users

See Also:
Architecture:


Attachments
Model with clock guard on urgent edge (11.33 KB, text/xml)
2020-06-08 10:07 CEST, Martin Kristjansen
Details
mixed guard crashes simulator (5.48 KB, text/xml)
2021-01-21 14:14 CET, Marius Mikučionis
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Kristjansen 2020-06-08 10:07:16 CEST
Created attachment 346 [details]
Model with clock guard on urgent edge

I am running the uppaal64-4.1.20-stratego-8-beta3.

I have a model, where there is a clock guard on a edge with an urgent transition. I know this is not allowed, and verifyta gives a correct message on the form:
` [warning] Clock guards are not allowed on urgent edges.`

In the simulator, however, a JSON exception is given when (I think) the bad transition is evaluated in the simulator. The exception is `Expected "START_OBJECT", got "EOF"`.

From the command line the stack trace is:
Expected "START_OBJECT", got "EOF"
        at com.uppaal.engine.protocol.JsonMessageParser.expectNullableJsonToken(JsonMessageParser.java:274)
        at com.uppaal.engine.protocol.JsonMessageParser.visitObject(JsonMessageParser.java:136)
        at com.uppaal.engine.protocol.JsonProtocol.getGenericResponse(JsonProtocol.java:432)
        at com.uppaal.engine.protocol.JsonProtocol.getTransitions(JsonProtocol.java:105)
        at com.uppaal.engine.EngineStub.getTransitions(EngineStub.java:687)
        at com.uppaal.engine.Engine.getTransitions(Engine.java:290)
        at on.gU.run(Unknown Source)

I have attached a model (of Multi-Core Rate-Monotic scheduling), which can be used to reproduce the error. Go into the simulator, press random, and when the last task instance is to go from its initial location, the exception is thrown.
Comment 1 Marius Mikučionis 2021-01-21 14:14:37 CET
Created attachment 347 [details]
mixed guard crashes simulator
Comment 2 Marius Mikučionis 2021-01-21 14:16:34 CET
the issue is not specific to urgent/broadcast.
the problem is in engine simulator code where it tries to determine if system has any urgent transitions enabled and crashes upon clock guard as it does not have the symbolic state context (only the discrete).
Comment 3 Marius Mikučionis 2021-01-21 14:25:33 CET
transfered to github:
https://github.com/UPPAALModelChecker/UPPAAL-Meta/issues/14