IBM Support

Explanation of Message MCH3402 from QC2IO

Troubleshooting


Problem

This document provides an explanation of message MCH3402 from QC2IO

Resolving The Problem

This document provides an explanation of message MCH3402 from QC2IO

Customer's may encounter errors similar to this from time to time:

MCH3402    Escape   40   04/24/13  01:21:30.682328  QC2IO QSYS *STMT QJVACMD QSYS *STMT
      From module . . . . . . . . :   QC2SMPUT
      From procedure  . . . . . . :   _C DM cheap putc
      Statement . . . . . . . . . :   313
      To module . . . . . . . . . :   QJVACMD
      To procedure  . . . . . . . :   Run_Java_Batch__Fv
      Statement . . . . . . . . . :   70           *PRCLT
      Message . . . . :   Tried to refer to all or part of an object that no longer exists.
      Cause . . . . . :   The most common cause is that a stored address to an object is no longer

                           correct because that object was deleted or part of the object was deleted.

In the instance referenced above, the Java code is calling C runtime code to print information to stdout or stderr. C runtime is trying to write to the stdout/stderr spooled file; however, the spooled file has been closed.

The reason for the message MCH3402 from QC2IO is that the underlying database file (or spooled file) has been closed, and the C runtime does not know about it.

This is the typical scenario: An application prints to stdout/stderr. The C runtime opens a database file (or spooled file) for the output. Output is generated to the file. Something closes the underlying database file or spooled file without using the C runtime fclose() function. This can happen in various ways; however, RCLRSC is the common cause of this. The next time the C runtime is called, it attempts to write to the underlying file; however, that file pointer is no longer valid, and a message MCH3402 occurs.

The C runtime code is activation group based, so once this occurs, all attempts to output to the file will get a message MCH3402 until the activation group is destroyed.

To solve the problem, it needs to be determined who is closing the file and prevent the close of the file.

The user will need to review their application or perhaps applications that interact with it, to determine what is closing/reclaiming these resources.

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.1.0"}]

Historical Number

668337865

Document Information

Modified date:
18 December 2019

UID

nas8N1010406