PQ73730: ABENDS0C4 occuring in startPersistentTimer

 A fix may be 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    *
*                 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 information
APAR number PQ73730
Reported component name WASKBASE
Reported component ID 5655A9801
Reported release 401
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2003-04-30
Closed date 2003-07-09
Last modified date 2003-08-06

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:
PQ75318 UQ78363

Modules/Macros
BBOCCFMT BBOCHSES BBOCHSSS BBOCSESS BBOCSSES BBOCWBAL
BBOOBOAT BBOOCOMH BBOODCTX BBOOORBP BBOOORBX BBOOOUTP
BBOORDTA BBOROBML BBOROBMS BBOROMDL BBOROSMD BBORTRCD
BBOTRNX BBOTRPCX BBOTSURS BBOTTDEL BBOUBINF BBOZ0812
BBOZ0813          

Fix information
Fixed component name WASKBASE
Fixed component ID 5655A9801

Applicable component levels
R401 PSY UQ78363    UP03/07/15 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


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