PQ80032: BBOS0112E WITH RUNAS ENABLED CAUSES CONNECTION TO DB2 TO FAIL WITH BPX1TLS/9D/BE80511 IF SERVLET INIT CALLS GETCONNECTION() | |||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description In WebSphere V5.0 if RunAs is enabled on the J2EE server and an application containing a servlet init() method that makes a call to getConnection() (could be to DB2,MQ,etc) is deployed on the server, then the following failure may occur when any application deployed on that server is run and attempts a getConnection() to DB2, MQ, etc. . In the servant you may see: Trace: 2003/10/22 11:53:50.211 01 t=9CBCE0 c=1.2 key=P8 Description: Log Boss/390 Error from filename: ./bbossrun.cpp at line: 1504 error message: BBOS0112E Credential handling function RunAsSetSpecCred failed in USS callable serviceBPX1TLS with Return Value (hex): ffffffff, Return Code (hex): 9d, and Reason Code (hex): be80511. . The USS reason code explains that if the BPX1TLS service cannot be called by the IPT and then also by a pthread. This is a USS restriction. . During WebSphere server initialization the main thread (IPT) does initialization work and the webcontainer starts the servlet init() methods for the applications deployed on the server. In the case when any of these init() methods have a getConnection() coded (which may be the case) the EJBRunAs.setCredential is triggered (since RunAs is enabled) and this triggers BPX1TLS on the main thread. After initialization completes when an app that attempts to connect to DB2/MQ is run, the getConnection is issued on the pthread and this again triggers EJBRunAs which triggers BPX1TLS - this is when the failure occurs due to the USS restriction and the connection to DB2/MQ fails.Local fix Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V5.0 for z/OS * **************************************************************** * PROBLEM DESCRIPTION: BBOS0112E Credential handling function * * RunAsSetSpecCred failed in USS callable * * serviceBPX1TLS with Return Value(hex): * * ffffffff, Return Code (hex): 9d, and * * Reason Code (hex): be80511. * **************************************************************** * RECOMMENDATION: * **************************************************************** During WebSphere server initialization the main thread (IPT) does initialization work and the webcontainer starts the servlet init() methods for the applications deployed on the server. In the case when any of these init() methods have a getConnection() coded (which may be the case) the EJBRunAs.setCredential is triggered (since RunAs is enabled) and this triggers BPX1TLS on the main thread. After initialization completes when an app that attempts to connect to DB2/MQ is run, the getConnection is issued on the pthread and this again triggers EJBRunAs which triggers BPX1TLS - this is when the failure occurs due to the USS restriction and the connection to DB2/MQ fails.Problem conclusion The servlet autoload phase of WebContainer intialization has been changed to run on a separate thread so that when the call to BP1XTLS is issued it is not from the main thread and subsequent calls to the service will not violate the USS restriction. APAR PQ80032 is associated with SERVICE LEVEL W502000 of WebSphere Application Server V5.0 for z/OS.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
Publications Referenced
|
Document Information |
Current web document: swg1PQ80032.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 #: PQ80032
IBM Group: Software Group
Modified date: Jan 3, 2004
(C) Copyright IBM Corporation 2000, 2009. All Rights Reserved.