A fix is available
APAR status
Closed as program error.
Error description
Error message - FCXBAS199A Divide exception at FCXUSL+476 may occur when calculating CPU time for report FCX112 (USER).
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of Performance Toolkit. * **************************************************************** * PROBLEM DESCRIPTION: * **************************************************************** * RECOMMENDATION: APPLY PTF * **************************************************************** The problem occurred when Performance Toolkit was calculating CPU time for report FCX112 (USER). In FCXUCM, when processing a D4 R5 (Define CPU) monitor record, the code at label REST001 clears the 'logon time' (UCMOLOGN)in the 'User Data Buffer' corresponding the CPU being defined. Later, in the same sample interval, a D4 R3 (User Activity Data) monitor record is processed for a newly defined CPU, and near label NEWUSI2A the 'logon time' (UCMOLOGN) is checked to see if it has a non-zero value. If UCMOLOGN is zero, then the code continues, assuming there is valid data in the 'User Data Buffer'. If UCMOLOGN is non-zero, then the code assumes the device was created during the current sample interval and processes reset logic for a new session. When the initial D4 R3 record is processed, and the UCMOLOGN is zero, the delta CPU time for the current sample interval is calculated using invalid data that had not been cleared when the new CPU was defined. In FCXUSL, code at label LIMITCPU determines the delta CPU time for an interval in microseconds, then divides that result by 100 to compute the number of 0.1 milliseconds. The divide exception occurred because the quotient representing the number of 0.1 milliseconds was too large to fit in a single register. Performance Toolkit presents the error on the display as well as in the CONLOG and EXCPLOG.
Problem conclusion
Code at label REST001 in FCXUCM was changed to set UCMOLOGN to the TOD from the header of the monitor record when processing a D4 R5 monitor record. Code at label LIMITCPU in FCXUSL was changed to handle a quotient that is a double word (2 registers) in size.
Temporary fix
FOR RELEASE PERFKIT-6.4.0 : PREREQ: NONE CO-REQ: NONE IF-REQ: NONE FOR RELEASE PERFKIT-7.1.0 : PREREQ: NONE CO-REQ: NONE IF-REQ: NONE
Comments
×**** PE18/12/04 FIX IN ERROR. SEE APAR VM66234 FOR DESCRIPTION
APAR Information
APAR number
VM65647
Reported component name
PERF TOOLKIT
Reported component ID
568411218
Reported release
640
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2018-06-15
Closed date
2018-10-02
Last modified date
2020-11-25
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UM35137 UM35190
Modules/Macros
FCXUCM FCXUSL
Fix information
Fixed component name
PERF TOOLKIT
Fixed component ID
568411218
Applicable component levels
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27M","label":"APARs - z\/VM environment"},"Platform":[{"code":"PF054","label":"z\/OS"}],"Version":"640","Line of Business":{"code":"LOB16","label":"Mainframe HW"}}]
Document Information
Modified date:
26 November 2020