PQ75318: 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 * * V5.0 for z/OS * **************************************************************** * PROBLEM DESCRIPTION: ABENDS0C4/ABEND0C4 in class * * Server_HTTPSession method * * startPersistentTimer in module * * bbochses.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 was not 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. A change to WebSphere V5.0 for z/OS: Messages, GA22-7915-00 will be available in the next refresh of the documentation. To access the atest online documentation, go to the product library page at: www.ibm.com/software/webservers/appserv/zos_os390/library/ ________________________________________________________________ Chapter 3, pg. 80 (new message) C9C20D34 Explanation: IBM Internal Only User Response: Contact the IBM Support Center. ________________________________________________________________ Chapter 3, pg. 80 (new message) C9C20D35 Explanation: IBM Internal Only User Response: Contact the IBM Support Center. ________________________________________________________________ Chapter 3, pg. 80 (new message) C9C20D36 Explanation: IBM Internal Only User Response: Contact the IBM Support Center. ________________________________________________________________ Chapter 3, pg. 80 (new message) C9C20D37 Explanation: IBM Internal Only User Response: Contact the IBM Support Center. ________________________________________________________________ Chapter 3, pg. 80 (new message) C9C20D38 Explanation: IBM Internal Only User Response: Contact the IBM Support Center. ________________________________________________________________ Chapter 3, pg. 80 (new message) C9C20D39 Explanation: IBM Internal Only User Response: Contact the IBM Support Center. ________________________________________________________________ APAR PQ75318 is associated with SERVICE LEVEL W500102 of WebSphere Application Server V5.0 for z/OS.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: PQ73730 APAR is sysrouted TO one or more of the following: Modules/Macros
Publications Referenced
|
Document Information |
Current web document: swg1PQ75318.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 #: PQ75318
IBM Group: Software Group
Modified date: Aug 6, 2003
(C) Copyright IBM Corporation 2000, 2009. All Rights Reserved.