PQ79886: HTRESPONSEGETCHUNK: FAILED TO SCAN THE CHUNK LENGTH LINE WHEN USING PLUGIN IHS390WAS50PLUGIN_HTTP.SO | |||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description Customer is using the ihs390WAS50Plugin_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 Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V5.0 for z/OS * **************************************************************** * PROBLEM DESCRIPTION: The customer is using the * * ihs390WAS50Plugin_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 ihs390WAS50Plugin_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 rgets() should call getdata() to get more data. This call to getdata() is inadvertantly not made.Problem conclusion The code 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 PQ79886 is associated with SERVICE LEVEL W502000 of WebSphere Application Server V5.0 for z/OS.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: PQ79071 APAR is sysrouted TO one or more of the following: Modules/Macros
Publications Referenced
|
Document Information |
Current web document: swg1PQ79886.html
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 500
Software edition:
Reference #: PQ79886
IBM Group: Software Group
Modified date: Jan 3, 2004
(C) Copyright IBM Corporation 2000, 2009. All Rights Reserved.