APAR status
Closed as program error.
Error description
If a multi-threaded program creates XExecutable objects for one or more XSLT stylesheets, XQuery expressions or XPath expressions, and two or more threads attempt to invoke any of the executable methods of the XExecutable objects, a deadlock condition may result. If this condition occurs, no call to an execute method will complete.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of the IBM WebSphere Application * * Server v7.0 Feature Pack for XML 1.0. * **************************************************************** * PROBLEM DESCRIPTION: If an application prepares one or more * * XExecutable objects for XSLT * * stylesheets, XQuery expressions or * * XPath expressions, and then the * * application attempts to invoke an * * execute method of one or more of those * * XExecutable objects on more than one * * thread, a deadlock might occur on the * * first invocation of an execute * * method that occurs in the * * application. All subsequent attempts * * to call execute methods will also be * * stopped by the deadlock. * * * * The same symptoms might occur on the * * first invocation of the * * XItemFactory.item(Source) method if * * more than one thread in an application * * attempts to invoke that method. * **************************************************************** * RECOMMENDATION: * **************************************************************** The IBM WebSphere Application Server Feature Pack for XML supports input from StreamSource, DOMSource, SAXSource or StAXSource objects. It has several different "data adapters" that each supports one or more of these forms of input. When a Source object is first supplied on the execute method of an XExecutable object or on the item(Source) method of an XItemFactory object, the Feature Pack for XML initializes a registry of information about the data adapters and will create instances of factory classes for each data adapter to process the Source objects supplied. The Feature Pack for XML contains synchronization code to ensure only one thread at a time would attempt to create instances of the data adapter factory classes or initialize the registry of information about data adapters, and synchronization to ensure that only one thread at a time attempts to retrieve or update information about XML schemas that have been registered by the application. The deadlock occurs if one thread acquires the lock on the registry of information about data adapters (in order to create an instance of a data adapter factory class) and then tries to acquire a lock on the XML schemas that have been registered, while a second thread acquires the lock on the XML schemas that have been registered and then tries to acquire the lock on the registry of information about data adapters to record other information in the registry.
Problem conclusion
The problem was resolved by making the synchronization on the registry of information about data adapters more specific. Rather than synchronizing on one object, each specific piece of information to which access must be synchronized uses a different object for synchronization. This allows asynchronous access to unrelated pieces of information in the registry to proceed without any risk of a deadlock situation. The fix for this APAR is currently targeted for inclusion in fix pack 1.0.0.7. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
Temporary fix
Comments
APAR Information
APAR number
PM15027
Reported component name
XML FEATUREPACK
Reported component ID
5724J0856
Reported release
700
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2010-05-21
Closed date
2010-06-01
Last modified date
2010-06-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
XML FEATUREPACK
Fixed component ID
5724J0856
Applicable component levels
R700 PSY
UP
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SUPPORT","label":"IBM Worldwide Support"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"1.0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
09 February 2022