Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 947396

Summary: jBPM Console's REST API broken because of Guvnor CXF library
Product: [JBoss] JBoss Enterprise BRMS Platform 5 Reporter: Marek Winkler <mwinkler>
Component: ConfigurationAssignee: Julian Coleman <jcoleman>
Status: CLOSED UPSTREAM QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: BRMS 5.3.1   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
EAP 6.0.1
Last Closed: 2025-02-10 03:27:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 873846    
Attachments:
Description Flags
Class cast exception from server.log none

Description Marek Winkler 2013-04-02 10:22:07 UTC
Created attachment 730672 [details]
Class cast exception from server.log

Description of problem:

This problem occurs on BRMS 5.3.1 roll-up #1: BZ-873846 on EAP 6.0.1. When user tries to log into jBPM Console, a class cast exception (see attachment) is thrown. It does not occur on BRMS 5.3.1.GA.

Further investigation leads to upgrade of Apache CXF from 2.4.8 to 2.4.10. Since 2.4.9, CXF contains the following static initializer in CXFNonSpringJaxrsServlet.java (**):

static {
  RuntimeDelegate runtimeDelegate = new  org.apache.cxf.jaxrs.impl.RuntimeDelegateImpl();
  RuntimeDelegate.setInstance(runtimeDelegate);
}

This could result in setting the jax-rs RuntimeDelegate to CXF implementation, even for the jBPM Console, which uses RestEasy.

Version-Release number of selected component (if applicable):

BRMS 5.3.1 roll-up #1: BZ-873846

How reproducible:

Deploy jboss-brms.war and jBPM console on EAP 6.0.1. Try to log into jBPM Console (business-central-server.war).
 
Actual results:

The class cast exception is thrown.

Expected results:

User logs in the jBPM Console without errors.

** http://grepcode.com/file_/repo1.maven.org/maven2/org.apache.cxf/cxf-rt-frontend-jaxrs/2.4.10/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java/?v=diff&id2=2.4.8

Comment 2 Marek Winkler 2013-04-02 11:46:11 UTC
How reproducible correction:

Deploy jboss-brms.war and jBPM console on EAP 6.0.1. Try to log into jBPM Console (business-central.war). (not business-central-server.war)

Comment 4 Marek Winkler 2013-04-04 07:08:59 UTC
I have found so far only one working workaround: removing the static initializer from org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.

It is possible to add a new servlet class to Guvnor with the contents of CXFNonSpringJaxrsServlet except the static initializer to avoid patching and rebuilding whole CXF jax-rs library.

Comment 5 Marek Winkler 2013-04-05 08:01:07 UTC
Verified last roll-up patch build which includes workaround described by the previous comment.

Comment 8 Red Hat Bugzilla 2025-02-10 03:27:38 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.