Bug 1117424
Summary: | Dashbuilder log4j classloading conflict when CA SiteMinder TAI is installed in WAS 8 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Retired] JBoss BPMS Platform 6 | Reporter: | Josh West <jowest> | ||||||
Component: | BAM | Assignee: | David Gutierrez <dgutierr> | ||||||
Status: | CLOSED WONTFIX | QA Contact: | Radovan Synek <rsynek> | ||||||
Severity: | unspecified | Docs Contact: | |||||||
Priority: | high | ||||||||
Version: | 6.0.2 | CC: | alazarot, kverlaen, mwinkler | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | |||||||||
: | 1119512 (view as bug list) | Environment: | |||||||
Last Closed: | 2014-07-22 17:30:34 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: | 1119512 | ||||||||
Bug Blocks: | 1115481 | ||||||||
Attachments: |
|
Description
Josh West
2014-07-08 16:36:35 UTC
> To work around the issue > a) copy the log4j file > from `./business-central.war/WEB-INF/lib/log4j-1.2.16-redhat-2.jar` > to `./dashbuilder.war/WEB-INF/lib/log4j-1.2.16-redhat-2.jar` > b) configure the Dashbuilder.war file to have parent last classloading Josh, I am not sure that changing classloading to "parent last" is a suitable workaround, this setting is not advised to change. Please see bug 1095391 and corresponding bug 1095363, comment 6 You are right. We just did more testing and the ProxyObject class cast exception comes up. The issue still remains, but the workaround is mentioned is no good. This customer has two test environments. One basic vanilla WAS installtion, and a second configured for SSO with CA SiteMinder TAI. The Log4j trace exception is only happening in the SSO environment. Created attachment 916867 [details]
Dashbuilder boot with SSO and parent *First* classloading
Created attachment 916868 [details]
Dashbuilder boot with SSO and parent *Last* classloading
Additional findings from analysis/testing/troubleshooting with the customer. The Log4j exception is being caused only in an environment with CA SiteMinder TAI (SMTAI) installed. SMTAI includes an old version of log4j at a higher level of the classpath than the dashbuilder.war that does not have the Level.TRACE enum field defined. Since log4j is initialized by SMTAI Hibernate's jboss logging detects it and uses attempts to use it - causing the initialization of a hibernate session to fail. Hibernate is intended to use the "jdk" logger instead of log4j. The fix for this issue is to set the java system property "org.jboss.logging.provider" to "jdk" in WebSphere. This forces hibernate within dashbuilder to not use log4j. Testing on the customer side confirms that Dashbuilder boots in environments with CA Siteminder TAI installed. For this BZ we should consider: a) adding the java system property update to the installation directions, or b) setting the `org.jboss.logging.provider` property through a property file embedded in the WAS8 WAR file that we ship. This has raised the following documentacion BZ https://bugzilla.redhat.com/show_bug.cgi?id=1119512 As the fix did not require any source code modifications I'm closing this BZ. |