Skip to content

Xronos fails to compile procedure containing sequence of if statements #2

@robstewart57

Description

@robstewart57

The following actor contains a procedure that implements a lookup table with a sequence of if statements:
https://gist.github.com/robstewart57/436cb0fb0dfd880a4c01

The complete project is here:
http://www.macs.hw.ac.uk/~rs46/files/xronos-example.zip

The compiler fails with either a heap exception or GC exception. This is the stack trace:

java.util.HashMap.keySet(HashMap.java:997), java.util.HashSet.iterator(HashSet.java:170),
java.util.AbstractCollection.retainAll(AbstractCollection.java:403),
org.xronos.openforge.schedule.GlobalResourceSequencer.addDependencies(GlobalResourceSequencer.java:544),
org.xronos.openforge.schedule.GlobalResourceSequencer.visit(GlobalResourceSequencer.java:288),
org.xronos.openforge.lim.Branch.accept(Branch.java:87),
org.xronos.openforge.schedule.GlobalResourceSequencer.processModule(GlobalResourceSequencer.java:247),
org.xronos.openforge.schedule.GlobalResourceSequencer.visit(GlobalResourceSequencer.java:184),
org.xronos.openforge.lim.Block.accept(Block.java:94),
org.xronos.openforge.schedule.GlobalResourceSequencer.visit(GlobalResourceSequencer.java:277),
org.xronos.openforge.lim.Branch.accept(Branch.java:87),
org.xronos.openforge.schedule.GlobalResourceSequencer.processModule(GlobalResourceSequencer.java:247),
org.xronos.openforge.schedule.GlobalResourceSequencer.visit(GlobalResourceSequencer.java:184),
org.xronos.openforge.lim.Block.accept(Block.java:94),
org.xronos.openforge.schedule.GlobalResourceSequencer.visit(GlobalResourceSequencer.java:277),
org.xronos.openforge.lim.Branch.accept(Branch.java:87),
org.xronos.openforge.schedule.GlobalResourceSequencer.processModule(GlobalResourceSequencer.java:247),
org.xronos.openforge.schedule.GlobalResourceSequencer.visit(GlobalResourceSequencer.java:184),
org.xronos.openforge.lim.Block.accept(Block.java:94)
org.xronos.openforge.schedule.GlobalResourceSequencer.visit(GlobalResourceSequencer.java:281),
org.xronos.openforge.lim.Branch.accept(Branch.java:87),
org.xronos.openforge.schedule.GlobalResourceSequencer.processModule(GlobalResourceSequencer.java:247),
org.xronos.openforge.schedule.GlobalResourceSequencer.visit(GlobalResourceSequencer.java:184),
org.xronos.openforge.lim.Block.accept(Block.java:94),
org.xronos.openforge.schedule.GlobalResourceSequencer.visit(GlobalResourceSequencer.java:277),
org.xronos.openforge.lim.Branch.accept(Branch.java:87),
org.xronos.openforge.schedule.GlobalResourceSequencer.processModule(GlobalResourceSequencer.java:247),
org.xronos.openforge.schedule.GlobalResourceSequencer.visit(GlobalResourceSequencer.java:184),
org.xronos.openforge.lim.Block.accept(Block.java:94),
org.xronos.openforge.schedule.GlobalResourceSequencer.visit(GlobalResourceSequencer.java:277),
org.xronos.openforge.lim.Branch.accept(Branch.java:87),
org.xronos.openforge.schedule.GlobalResourceSequencer.processModule(GlobalResourceSequencer.java:247)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions