A fix is available
APAR status
Closed as program error.
Error description
The running task at the time of the dump will be CPIH and the last few kernel stack entries for the running task will be DFHPISN, DFHPIPM, DFHAPCR, IMPORT_ALL and IMPORT_CHANNEL. The trace entries will look similar to the following: AP 4E0F APCR *EXC* - Premature_end_of_data FUNCTION(IMPORT_ALL) COMMAND(SIBUS) RS_TOKEN(01000000 , 00000000) CHANNEL_TOKEN_IN(37695030) Additional bytes expected 8 The second data area (per the Trace Entries manual is) the buffer left; in this case it was 00000088. ME 0301 MEME ENTRY - FUNCTION(SEND_MESSAGE) MESSAGE_NUMBER(2) SYSTEM_DUMPCODE(APCR02) INSERT1(36735DA4 , 00000002) INSERT2(36735D68, 00000008) COMPONENT_ID(AP) The function that is detecting the error is IMPORT_ALL in DFHAPCR where it is putting the containers back together to form the channel. The problem is actually with the EXPORT_ALL function of DFHAPCR (IMPORT_ALL is just detecting the error). The channel being shipped between systems is the channel being used by the pipeline. It doesn't matter if the remote program is commarea or channel based, the entire pipeline channel will be shipped. What has happened is that the EXPORT_ALL function has acquired a buffer to hold the flattened channel. This buffer is not big enough to hold the data. This causes the data to be truncated. IMPORT_ALL expects all the data to be in the single buffer and gets an error when data is missing. The remote region needs to flatten the current channel and return it to the originating region. To do this DFHAPCR inquires what the total size of data in the container pool is. The size that is returned is incorrect. It is out by x'186' in the case of the reporting customer's dump. This length is then used to calculate the total length of the flattened channel. This ends up shorter than the actual data length and results in the error in IMPORT_ALL. The reason that the size of data in the container pool is wrong is because the COPY_CONTAINER function of DFHPGCR is not updating the container pool size (cpcb_pool_size). The COPY_CONTAINER function is only used by the pipeline code when the vendor interface is being used. The DFH-BODY container gets copied from the vendor channel into the current channel as DFHWS-BODY. This APAR is being take to correct the COPY_CONTAINER function.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All CICS users. * **************************************************************** * PROBLEM DESCRIPTION: DFHAP0002 A severe error (code X'4E0F') * * has occurred in module DFHAPCR. * **************************************************************** * RECOMMENDATION: * **************************************************************** A pipeline is setup to cause vendor code to run in a separate task. This is achieved by requesting a new userid, transaction id, or making the task remote. The channel being used by the pipeline is flattened, sent to the other task, then rebuilt. The same is done when returning to the original task. When a new container is added to the channel using the copy_container function of DFHPGCR, the cpcb_pool_size (size of all the data in the containers in the channel) is not updated. This means that when the pipeline is flattened using DFHAPCRM function(EXPORT_ALL) the buffer acquired for the channel will be too small and data will be truncated. When the DFHAPCRM function(IMPORT_ALL) is rebuilding the channel it finds that data is missing and gives the exception premature_end_of_data. Additional Keywords: MSGDFHAP0002 AP0002 DFH_VENDOR_CHA APCR02
Problem conclusion
DFHPGCR has been altered so it updates the cpcb_pool_size of the target container pool when doing a copy_container.
Temporary fix
FIX AVAILABLE BY PTF ONLY
Comments
**** PE06/09/28 FIX IN ERROR. SEE APAR PK28986 FOR DESCRIPTION
APAR Information
APAR number
PK20794
Reported component name
CICSTS 3.1 Z/OS
Reported component ID
5655M1500
Reported release
400
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2006-03-02
Closed date
2006-05-10
Last modified date
2006-10-12
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK14435
Modules/Macros
DESPGCR DFHPGCR
Fix information
Fixed component name
CICSTS 3.1 Z/OS
Fixed component ID
5655M1500
Applicable component levels
R400 PSY UK14435
UP06/05/16 P F605
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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"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":"3.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
12 October 2006