Hi,

We have a program that writes records into an externally defined database file that has received the following error...

MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
MCH3203 Escape 60 12/18/14 08:52:28.640853 DbReuseFind 000FB4 QDBPUT QSYS 06B1
Message . . . . : Function error X'1720' in machine instruction. Internal
dump identifier (ID) 0300167E.
Cause . . . . . : The machine instruction that was running failed. Time
stamp is 12/18/14 08:52:28, error code is X'1720', error class is 0, device
number is X'0000'. The error class indicates how the damage was detected:
0000-unspecified abnormal condition; 0002-logically invalid device sector;
0003-device failure; 0004-invalid operation performed. For error class 0003,
the device number identifies the failing device, or contains zero if main
storage failed. For error class 0004, an unsupported machine interface
instruction operation code was used. Recovery . . . : For error class
0004, remove the unsupported machine interface instruction operation code
from the program. For all other error classes, start problem analysis
(ANZPRB command).
CPF9999 Escape 40 12/18/14 08:52:28.819928 QMHUNMSG *N QDBPUT QSYS 06B1
Message . . . . : Function check. MCH3203 unmonitored by QDBPUT at statement
*N, instruction X'06B1'.
Cause . . . . . : An escape exception message was sent to a program which
did not monitor for that message. The full name of the program to which the
unmonitored message was sent is QDBPUT . At the time the message was sent
the program was stopped at higher level language statement number(s) *N. If
more than one statement number is shown, the program was a bound program.
Optimization does not allow a single statement number to be determined. If
*N is shown as a value, it means the actual value was not available.
Recovery . . . : See the low level messages previously listed to locate
the cause of the function check. Correct any errors, and then try the
request again.
CPF3698 Information 00 12/18/14 08:52:29.268278 QSCPUTR QSYS 005E QMHAPD QSYS 0500
Message . . . . : Dump output directed to spooled file 1, job
875639/JOBNAME/E206151053 created on system ITEAM on 12/18/14 08:52:29.
Cause . . . . . : Dump output is being directed to a spooled file.
CPF5257 Escape 70 12/18/14 08:52:30.277150 QDBSIGEX QSYS 0539 E20615105R WORKLIB *STMT
To module . . . . . . . . . : E20615105R
To procedure . . . . . . . : E20615105R
Statement . . . . . . . . . : 2123
Message . . . . : Failure for device or member E206151053 file E206151053 in
library WORKLIB.
Cause . . . . . : An error occurred during a read or write operation. If
this is a display file, the display may not be usable. Recovery . . . :
See the previously listed messages, correct the errors, and try the request
again. If the problem continues, report the problem (ANZPRB command).

I examined the file and could not determine if it was damaged. Then I noticed the 'DbReuseFind' reference (in the original MCH0203 message)
which made me check the maximum file size, and number of deleted records, as I know the file is configured to 'reuse deleted records'.
The file had some 2,500,000 records, and slightly more than 1,000,000 were deleted records, and the file has *NOMAX for Member Size.
So, I reorganized the file, just to see what would happen. It reorganized just fine, eliminated the deleted records, and I restarted the job.
Now the job runs fine.

*What do you think happened?*

BTW, another job, which only deletes records from this file, was failing with the same Machine Check error, with only a slightly different Error Code (hex 1716 instead of 1720, as above)

MCH3203 Escape 60 12/18/14 08:54:09.273373 #dbdelim 00343C QDBUDR QSYS 0C1D
Message . . . . : Function error X'1716' in machine instruction. Internal
dump identifier (ID) .
Cause . . . . . : The machine instruction that was running failed. Time
stamp is 12/18/14 08:54:08, error code is X'1716', error class is , device
number is . The error class indicates how the damage was detected:
0000-unspecified abnormal condition; 0002-logically invalid device sector;
0003-device failure; 0004-invalid operation performed. For error class 0003,
the device number identifies the failing device, or contains zero if main
storage failed. For error class 0004, an unsupported machine interface
instruction operation code was used. Recovery . . . : For error class
0004, remove the unsupported machine interface instruction operation code
from the program. For all other error classes, start problem analysis
(ANZPRB command).
Notice the only difference is the reference to #dbdelim on the MCH3203 and the hex error code, now '1716' instead of '1720'.

Both jobs are running fine now, after the reorg.

*Any thoughts?*


This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].