APAR status
Closed as unreproducible in next release.
Error description
Customer application written in C++ gets an exception (expected). The C++ methods are all in source modules that were compiled with the debug / test option. LE produces a CEEDUMP of the exception. While trying to write variables associated with a C++ method, LE takes an 0C4 in AppendScalarValue+650 due to an invalid scalar value passed to it in a LISTINFO_T structure. The CEEDUMP output does produce a list of the single variable in the particular C++ method, but then tries to write out the data fields and values associated with the 'this' (current instantiation of the class) structure. Since the C++ method involved was a static method - there is no 'this'. LE's logic to with the 'this' data is in error. First, routine AddVariableToList write 'this->' to the output when there is no 'this' structure. Furthermore, AddVariableToList calls DisplayList to try to ascertain the data fields and values associated with the 'this'. The BMC structures created from Compiler data appear intact. Routine AddVariableTolist (before it calls DisplayList) has to create an array of variables/values to display... so it first calls GetSymInfoForObject. If the Level 2 block indicates C++ Class we call a routine called GetThisSymbol. GetThisSymbol takes the Level 2 class bmr structure and looks for the child method level3 structure and finds it OK. Then it takes the symbol table associated with THAT method.. and we loop through all of the symbols.. until we find one of name len '4' and name value 'this'. When we exit this routine (found 'this' else hit end of symbols)... we ASSUME that we're exiting..pointing to the symbol information for 'this'.. and we really don't. Moreover - what we actually found in the symbol table for this method is variable 'eventCode' - which is correct.. but no this. When we exit - we're actually pointing to the variable eventCode (last variable defined) and NOT an address of 'this'.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Users of the C/C++ compiler's TEST option * * with a C++ application that uses a * * Static Method. * **************************************************************** * PROBLEM DESCRIPTION: While creating a CEEDUMP, incorrect * * output and/or an ABEND 0C4 may result * * from trying to list variables like * * this->xxxx * **************************************************************** * RECOMMENDATION: * **************************************************************** See the problem description.
Problem conclusion
Temporary fix
Comments
This APAR is being closed UR1 with concurrence from the submitting customer. This means that a fix to this APAR is expected to be delivered from IBM in a release (if any) to be available within the next 24 months.
APAR Information
APAR number
PM68947
Reported component name
LE FOR MVS & VM
Reported component ID
568819805
Reported release
780
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2012-07-16
Closed date
2012-10-17
Last modified date
2012-10-17
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
LE FOR MVS & VM
Fixed component ID
568819805
Applicable component levels
R780 PSN
UP
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVSBD","label":"Runtime"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"780","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"780","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"780","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
17 October 2012