PQ73730: ABENDS0C4 occuring in startPersistentTimer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description ABENDS0C4 occuring in startPersistentTimer caused by serialization problems in timer processing. This apar addresses the following to fix: - remove free session from the timer exit - remove the m_SessionState flag and all users - split the session timer pointer into 3 pointers and update setters to set the right one and the stop function to require you to say which one you want to stop - update outbound response to set the persist timer BEFORE setting the async read (with attention to the complications that causes).Local fix Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * version 4.0.1 for z/OS and OS/390 * **************************************************************** * PROBLEM DESCRIPTION: ABENDS0C4/ABEND0C4 in class::method * * Server_HTTPSession:: * * startPersistentTimer * * in module bochses.cpp using HTTP * * transport * **************************************************************** * RECOMMENDATION: * **************************************************************** There are 3 separate HTTP Timers that share the same alarm anchor address. At any given time only 1 of the three timers (input, output, or persistent) may be active. The SnoozeAlarm object, Server_HTTPSessionSnoozeAlarm (bbochses.cpp), that represents the current timer is anchored to the HTTP Session object--Server_HTTPSession. As the HTTP Session is used the individual HTTP timers are started and stopped--each start and stop of the HTTP Timer requires an update to the single HTTP Session anchor field, m_SnoozeAlarmPtr. In this case, in the HTTP response code after sending the response, the async_read_msg routine was invoked prior to setting the "persistent" timer. The async_read_msg routine allowed another HTTP Request to be received on another thread at the same time that the HTTP response was trying to set the "persistent" timer. This exposed as serialization problem in managing the SnoozeAlarm objects. The inbound HTTP request invoked the stopTimer routine to cleanup the "persistent" timer, which wasn't set yet. It then proceeded to set the "input" timer. At this time the start "persistent" timer ran into problems. In this middle of the startPersistentTimer method, after it detected that an existing timer was still present and it was going to trace this unexpected condition, the "input" timer was cancelled and its Server_HTTPSessionSnoozeAlarm object was cleaned up. This caused the ABEND 0C4 in the startPersistentTimer when trying to trace the now deleted "input" alarm.Problem conclusion Code has been modified to start the "persistent" timer before allowing another inbound HTTP request. Also, additional serialization code has added to better manage the 3 HTTP timers. APAR PQ73730 requires changes to WebSphere V4.0.1 for z/OS and OS/390: Messages and Diagnosis, GA22-7837-06 which will be available in the next refresh of the documentation. To access the latest online documentation, go to the product library page at: www.ibm.com/software/webservers/appserv/zos_os390/library/ ________________________________________________________________ Chapter 16, pg. 299 (new message) C9C20D34 Explanation: IBM Internal Only User Response: Contact the IBM Support Center. ________________________________________________________________ Chapter 16, pg. 299 (new message) C9C20D35 Explanation: IBM Internal Only User Response: Contact the IBM Support Center. ________________________________________________________________ Chapter 16, pg. 299 (new message) C9C20D36 Explanation: IBM Internal Only User Response: Contact the IBM Support Center. ________________________________________________________________ Chapter 16, pg. 299 (new message) C9C20D37 Explanation: IBM Internal Only User Response: Contact the IBM Support Center. ________________________________________________________________ Chapter 16, pg. 299 (new message) C9C20D38 Explanation: IBM Internal Only User Response: Contact the IBM Support Center. ________________________________________________________________ Chapter 16, pg. 299 (new message) C9C20D39 Explanation: IBM Internal Only User Response: Contact the IBM Support Center. ________________________________________________________________ APAR PQ73730 is associated with SERVICE LEVEL W401509 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: PQ75318 UQ78363 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 #: PQ73730
IBM Group: Software Group
Modified date: Aug 6, 2003
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.