OMNeT++/OMNEST Bug Tracker - OMNeT++
View Issue Details
0000119OMNeT++IDE / sequence chartpublic2009-12-17 13:122010-05-06 09:55
andras 
andras 
normalminoralways
resolvedfixed 
4.0 
4.14.1b3 
0000119: Sequence Chart displays internal error when opened on log from SystemC examples
Sequence Chart displays internal error when opened on log produced by the SystemC "example2" simulation.

Stack:
java.lang.NullPointerException
    at org.omnetpp.sequencechart.widgets.SequenceChart.getAxisModuleIndexByModuleId(SequenceChart.java:3348)
    at org.omnetpp.sequencechart.widgets.SequenceChart.getInitializationEventYViewportCoordinate(SequenceChart.java:3373)
    at org.omnetpp.sequencechart.widgets.SequenceChart.access$39(SequenceChart.java:3371)
No tags attached.
Issue History
2009-12-17 13:12andrasNew Issue
2009-12-17 13:14andrasProduct Version => 4.0
2009-12-17 13:14andrasTarget Version => 4.1
2010-01-05 15:18levyNote Added: 0000202
2010-05-06 09:55andrasNote Added: 0000283
2010-05-06 09:55andrasStatusnew => resolved
2010-05-06 09:55andrasFixed in Version => 4.1b3
2010-05-06 09:55andrasResolutionopen => fixed
2010-05-06 09:55andrasAssigned To => andras

Notes
(0000202)
levy   
2010-01-05 15:18   
This problem is not strictly related to SystemC. There's an assumption in the sequence chart that each event (and method call) comes from a simple module and goes to a simple module. During initialization for example, simple modules may send messages or call other modules, but there must be always a simple context module.

In the SystemC example there's a message send at initialize event that comes from a "compound module". The exception is thrown because the "network" does not have an axis and "sends" (i.e. it is the context module) a message to a simple module during initialization. We could fix this by showing the corresponding axis on the sequence chart, but that would requite careful investigation of the invariant throughout the code.

Alternatively the SystemC examples could be modified to always ensure that messages are sent from simple modules.

IMPORTANT NOTE: in general, it is a bad idea to just send the message without actually changing the context. That would mean that the simple module processing the previous message would be the context module implicitly. The resulting sequence chart would be confusing.
(0000283)
andras   
2010-05-06 09:55   
Fixed NPE (by Levy).