Menu

#113 Assertion failed in QM version 3.2.2, module codec:326

QM
closed
nobody
None
1
2019-05-06
2015-05-20
Anonymous
No

This happens if a boolean which is used for if-else is written in guard field when using choice segment. I think QM shouldn't crash totally because of this.

Discussion

  • Quantum Leaps

    Quantum Leaps - 2015-05-20

    This assertion fires when you have more than 15 levels of indentation in your design. This is indicative of some sort of abuse. For example, you might nest several levels of choice segments (to generate a chain of if ... else if ... else if ... ). There are better ways of coding such things, such as the switch statement. But most likely, this is a poor design, in which you don't use the right granularity of the event signals. In other words, you have events that are too generic (kitchen sinks), and therefore later in the code you must evaluate what really happened by the complex if ... else if ... else if ....

    This assertion will be changed into an error message in the next QM release, but the check will still be there.

    --MMS

     
  • Quantum Leaps

    Quantum Leaps - 2015-05-20
    • status: open --> accepted
     
  • Quantum Leaps

    Quantum Leaps - 2017-11-15
     
  • Quantum Leaps

    Quantum Leaps - 2017-11-15

    This problem is closed, because it is caused by abuse of choice segments by the state machine designer.
    --MMS

     
  • Quantum Leaps

    Quantum Leaps - 2018-05-04
    • Group: QM --> QM4
     
  • Quantum Leaps

    Quantum Leaps - 2019-05-06
    • status: accepted --> closed
     
  • Quantum Leaps

    Quantum Leaps - 2019-05-06

    Fixed in QM 4.x.
    --MMS

     

Anonymous
Anonymous

Add attachments
Cancel