IBM Support

IV64297: TPROF DUMPS CORE ON DEMANGLE APPLIES TO AIX 7100-02

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Invocation of /usr/bin/tprof -Call -skeuz -r trace
    resulted in a core dump.
    The tprof crashes when it processes huge trace data. The
    crash happened in the C++ demangler code.
    
    
    (dbx) t
    Qualifier::Qualifier(Qualifier::Class**,unsigned
    long,bool,bool)() at 0x90000000088b428
    ValidQualifier(char*,unsigned
    long&,bool,ClassName::ObjectModelKind&,bool)() at
    0x90000000088dad4
    ValidQualifier(char*,unsigned long&,bool,bool)() at
    0x90000000088d89c
    BufferedDemangle(char*,char*&,unsigned long)() at
    0x90000000088a65c
    Demangle(char*,char*&,unsigned long)() at
    0x90000000088ecec
    DeMangle@AF23_1(??, ??, ??) at 0x90000000114b7bc
    ReportProfile(0x9001000a0449f70, 0x0, 0x2198de6b0) at
    0x100025dd0
    PrintReport(0x2198de6b0) at 0x100039108
    
    tprof is multi threaded program which invoke c++'s
    demangle function without serializing call to demangle.
    As the demangle library is not thread safe core dump
    occurred with above stack.
    

Local fix

Problem summary

  • Invocation of /usr/bin/tprof -Call -skeuz -r trace resulted in
    a core dump. The tprof crashes when it processes huge trace
    data. The crash happened in the C++ demangler code.
    
    
    (dbx) t Qualifier::Qualifier(Qualifier::Class**,unsigned
    long,bool, bool)() at 0x90000000088b428
    ValidQualifier(char*,unsigned long&,bool,ClassName::
    ObjectModelKind&,bool)() at 0x90000000088dad4
    ValidQualifier(char*,unsigned long&,bool,bool)() at
     0x90000000088d89c BufferedDemangle(char*,char*&,unsigned
    long)() at 0x90000000088a65c Demangle(char*,char*&,unsigned
    long)() at 0x90000000088ecec DeMangle@AF23_1(??, ??, ??) at
    0x90000000114b7bc ReportProfile(0x9001000a0449f70, 0x0,
    0x2198de6b0) at 0x100025dd0 PrintReport(0x2198de6b0) at
    0x100039108
    
    tprof is multi threaded program which invoke c++'s demangle
    function without serializing call to demangle. As the demangle
    library is not thread safe core dump occurred with above
    stack.
    

Problem conclusion

  • Modified the tprof code to serialize the calls to demangle
    function.
    

Temporary fix

Comments

  • 6100-08 - use AIX APAR IV64479
    6100-09 - use AIX APAR IV63111
    7100-02 - use AIX APAR IV64297
    7100-03 - use AIX APAR IV62981
    

APAR Information

  • APAR number

    IV64297

  • Reported component name

    AIX V7.1

  • Reported component ID

    5765H4000

  • Reported release

    710

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Submitted date

    2014-08-29

  • Closed date

    2014-08-29

  • Last modified date

    2016-05-11

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

    IV62981

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

Fix information

  • Fixed component name

    AIX V7.1

  • Fixed component ID

    5765H4000

Applicable component levels

  • R710 PSY U865333

       UP15/01/19 I 1000

PTF to Fileset Mapping



Document information

More support for: AIX Enterprise Edition

Software version: 710

Operating system(s): AIX

Reference #: IV64297

Modified date: 11 May 2016