PQ70679: FOLLOWING TERMINATION PROCESSING AFTER A TIMEOUT, MESSAGE "BBOU0055E FUNCTION PTHREAD_MUTEX_LOCK FAILED" OCCURRED | |||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description A timeout abend occurred (EC3/04130001) in a server region for an application server. The reason for the timeout is unrelated to this apar and was solved separately. This apar does not address nor solve timeouts (EC3/04130001). This apar will address a problem found in the cleanup processing after a timeout happened. In the cleanup processing after the timeout occurred, message "BBOU0055E Function pthread_mutex_lock failed with errno=116 EDC5116I Resource deadlock avoided." as well as minor code C9C21100 from function ACR_ExecutionThread::RemoveAndProcessWork were written to the WebSphere error log for the application server's control region. Recovery processing was being redriven on a separate code path that tried to obtain a lock already held which produced the error message and minor code.Local fix Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V4.0.1 for z/OS and OS/390 * **************************************************************** * PROBLEM DESCRIPTION: Following termination processing after * * a timeout, message "BBOU0055E Function * * pthread_mutex_lock failed" occurred. * **************************************************************** * RECOMMENDATION: * **************************************************************** A transaction timeout caused the "cleanupTransactionTimedOut" routine (bbooorrg.cpp) to get control in the Control Region. The "cleanupTransactionTimedOut" routine could not find any outstanding ORB_Requests (bbooorbr.cpp) running under the specified transaction. Since it could not find an active request under the expired transaction, it searched for the associated Server Region (SR). To search for the associated SR, it performed a lookup and held a lock on an GTID_Row (bboogtid.cpp). After scheduling an ABEND to the SR to progress the transaction cleanup, it attempted to remove the GTID_Row from the table by calling "context_disassociation" (bbooboai.cpp). The "context_disassociation" routine attempted to obtain the GTID_Row lock and received: "BBOU0055E Function pthread_mutex_lock failed with errno=116 EDC5116I Resource deadlock avoided." indicating the mutex was already held. This resulted in a SystemException with minor code C9C21100 being written to the WebSphere error log for the application server's control region.Problem conclusion Code has been modified to not issue the BOA "context_disassociation" from the "cleanupTransactionTimedOut" routine. APAR PQ70679 is associated with SERVICE LEVEL W401501 of WebSphere Application Server V4.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: 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 #: PQ70679
IBM Group: Software Group
Modified date: Apr 3, 2003
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.