PQ79071: HTRESPONSEGETCHUNK: FAILED TO SCAN THE CHUNK LENGTH LINE WHEN USING PLUGIN IHS390WASPLUGIN_HTTP.SO | |||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description Customer is using the ihs390WASPlugin_http.so plugin to communicate with the WebSphere J2EE HTTP Transport and when attempting to serve his application the plugin gets msg htresponseGetChunk: Failed to scan the chunk length line When comparing the chunks in the stream sent by the J2EE server to the plugin, with the parsing of the chunks by the plugin, the plugin is incorrectly reading the length field of a chunk that is 1d32 as being 1d3. which causes the error.Local fix the original V4 plugin works correctly ( was400plugin.so )Problem summary **************************************************************** * USERS AFFECTED: All users of the V4.0.1 WebSphere HTTP * * Plug-in for z/OS with the WebSphere * * Application Server V4.0.1 for z/OS * * and OS/390. * **************************************************************** * PROBLEM DESCRIPTION: The customer is using the * * ihs390WASPlugin_http.so plug-in to * * communicate with the WebSphere J2EE * * HTTP Transport. When attempting to * * serve his application the plug-in logs * * message "responseGetChunk: Failed to * * scan the chunk length line" and the * * plug-in does not send all the response * * data back to the client. * **************************************************************** * RECOMMENDATION: * **************************************************************** The customer is using the ihs390WASPlugin_http.so plug-in to communicate with the WebSphere J2EE HTTP Transport. The attempt to serve his application fails, and the plug-in logs the error "responseGetChunk: Failed to scan the chunk length line". The trace for the J2EE server shows that a chunk with length 1d32 is sent in a stream by the J2EE server to the plug-in. The trace for the plug-in shows that the chunk length field for the chunk is incorrectly read as length 1d3 instead of 1d32. The problem occurs in function lib_rio.rgets(). Function lib_rio.getdata() reads the data into a buffer. Function lib_stream.readline() parses the buffer, calling rgets() to find the chunk length line for the next chunk of data in the buffer. If the chunk length line, for example: 383f0d0a, is split over two data buffers, function regets() should call getdata() to get more data. This call to getdata() is not made due to an error in code added for z/OS SSL support.Problem conclusion The code added for z/OS SLL support in function lib_rio.rgets() has been corrected so that when a chunk length line is not completely contained in a data buffer, function getdata() is called to read more data and the correct chunk length is parsed. APAR PQ79071 is associated with SERVICE LEVEL W401604 of WebSphere Application Server version 4.0.1 for z/OS and OS/390.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: PQ79886 Modules/Macros
|
Document Information |
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 401
Software edition:
Reference #: PQ79071
IBM Group: Software Group
Modified date: Nov 2, 2003
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.