PQ75318: ABENDS0C4 occuring in startPersistentTimer

 A fix is available

Obtain the fix for this APAR



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 information
APAR number PQ75318
Reported component name WEBSPHERE FOR Z
Reported component ID 5655I3500
Reported release 500
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Special Attention NoSpecatt
Submitted date 2003-06-16
Closed date 2003-07-03
Last modified date 2003-08-06

APAR is sysrouted FROM one or more of the following:
PQ73730

APAR is sysrouted TO one or more of the following:

Modules/Macros
BBOUBINF          

Publications Referenced

Fix information
Fixed component name WEBSPHERE FOR Z
Fixed component ID 5655I3500

Applicable component levels
R500 PSY UQ78241    UP03/07/11 P F307

  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.


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