IBM Support

PI73918: TEST CONDUCTOR COMPILATION FAILS DUE TO THE GENERATION OF SERIALIZATION CODE ON CUSTOM TYPES

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Customer tried to create code for a project specific class
    instead of artificial ones for TC. The operation
    timestamp::operator struct tm() is created by 8.0.2 and 8.1.5
    (for a TC test context configuration) differently:
    
    8.0.2 and 8.1.5 code, the application, not the test context:
    
    timestamp::operator struct tm() const {
        //#[ operation operator struct tm() const
        struct tm a;
    
        a.tm_sec  = sec;      /* Sekunden - [0,61] */
        a.tm_min  = mins;      /* Minuten - [0,59] */
        a.tm_hour = hour;     /* Stunden - [0,23] */
        a.tm_mday = day;     /* Tag des Monats - [1,31] */
        a.tm_mon  = month;      /* Monat im Jahr - [0,11] */
        a.tm_year = year;     /* Jahr seit 1900 */
    
        // die anderen Elemente der Struktur werden nicht bedient
    
        return (a);
        //#]
    }
    
    
    8.1.5 TestPkg of test context code:
    
    timestamp::operator struct tm() const {
        NOTIFY_OPERATION(operator struct tm, operator struct tm()
    const, 0, MtCommonPkg_TimeStampPkg_timestamp_operator_struct
    tm_SERIALIZE);
        //#[ operation operator struct tm() const
        struct tm a;
    
        a.tm_sec  = sec;      /* Sekunden - [0,61] */
        a.tm_min  = mins;      /* Minuten - [0,59] */
        a.tm_hour = hour;     /* Stunden - [0,23] */
        a.tm_mday = day;     /* Tag des Monats - [1,31] */
        a.tm_mon  = month;      /* Monat im Jahr - [0,11] */
        a.tm_year = year;     /* Jahr seit 1900 */
    
        // die anderen Elemente der Struktur werden nicht bedient
    
        return (a);
        //#]
    }
    
    As a result tm_SERIALIZE, which is not defined within the model,
    generates a compile error.
    
    Steps to Reproduce:
    STEPS
    1) Unzip the share folder from "10073,227,000.Share" to Rhapsody
    installation location (replace your default share folder)
    2) Unzip the project from "10073,227,000.foribm" and open the
    M5_Hardware/M5Hardware.rpy project
    3) Ignore the two missing msc files on loading
    4) Select the VacuumTest_Comp component and GMR, enable
    animation in the configuration and GMR to build the component.
    Ignore the missing .pl file error (press cancel)
    5) Build should complete successfully.
    6) Browse to HardwarePkg::VacuumObjectPkg::VacuumUnit and create
    Test architecture.
    7) Build TCon_VacuumUnit TestContext and observe errors.
    
    PS.
    The project builds using the VacuumTest_Comp component
    with/without animation. However, when creating test architecture
    the compilation fails due to the generation of serialization
    code on custom types (structs)
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Rhapsody                                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * When generate code with animation, there is animation macro  *
    * nbame that is wrong, in case that the operation is operator  *
    * of casting to struct. There is space in the midle of the     *
    * macto name.                                                  *
    * #define Default_A_operator_struct**space                     *
    * here**tMyTypename_SERIALIZE OM_NO_OP                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • Fixed by removing space from the name.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI73918

  • Reported component name

    TLOGIC RHAPSODY

  • Reported component ID

    5724V74RP

  • Reported release

    814

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-12-16

  • Closed date

    2017-06-12

  • Last modified date

    2017-06-12

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    TLOGIC RHAPSODY

  • Fixed component ID

    5724V74RP

Applicable component levels

  • R814 PSN

       UP



Document information

More support for: Rational Rhapsody

Software version: 8.1.4

Reference #: PI73918

Modified date: 12 June 2017