IBM Support

IJ13078: SIGNAL 11 AT RUNTIME WITH INLINE VIRTUAL FUNCTION CALL VIA TOC ENTRY WITH QMINIMALTOC

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • An application encounters a runtime signal 11 when calling an
    inline class method/function that uses a non-virtual thunk
    (function descriptor stored in the TOC).  Moving the method out
    of the class to be non-inline avoids the problem.  The inline
    method could look like:
    
    ================================================================
    class A : public B
    {
       ...
       virtual void mymethod() {}
    ================================================================
    
    When the application runs, the signal 11 gives a stack
    trace that ends in:
    
    ================================================================
    non-virtual thunk to A::mymethod() at 0x900000000bec8b0
    ...
    ================================================================
    
    The issue occurs when compiling with the -qminimaltoc option.
    

Local fix

  • Do not use -qminimaltoc
    

Problem summary

  • PROBLEM DESCRIPTION:
    The offset generated by the compiler for loading the thunk
    address from the TOC is not properly tagged as minimal toc,
    therefore the value is incorrect and a signal 11 occurs.
    
    USERS AFFECTED:
    Users of virtual functions with -qminimaltoc
    

Problem conclusion

  • The offset genreation was corrected.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ13078

  • Reported component name

    XL C/C++ FOR AI

  • Reported component ID

    5725C7200

  • Reported release

    G10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-01-29

  • Closed date

    2019-03-20

  • Last modified date

    2019-03-20

  • 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

    XL C/C++ FOR AI

  • Fixed component ID

    5725C7200

Applicable component levels

  • RG10 PSY

       UP

[{"Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGH3R","label":"XL C\/C++ for AIX"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"G10"}]

Document Information

Modified date:
24 August 2021