Red Hat Bugzilla – Bug 1027372
Updated jsf-impl 1.2 in ER7 breaks backwards compatibility, Seam 2.2 examples won't run
Last modified: 2016-10-31 21:37:00 EDT
Created attachment 820567 [details]
Description of problem:
Seam 2.2 examples fail to run on EAP 6.2.0.ER7 (they do deploy), throwing StackOverflowErrors, FacesExceptions and ServletExceptions, all related to JSF.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Deploy a Seam 2.2 example (migrated to EAP6 as per EAP documentation), e.g. the blog example (EAR attached)
2. Open http://localhost:8080/seam-blog/
HTTP 500 error, javax.servlet.ServletException: java.lang.IllegalArgumentException: no file extension in servlet path: /
The index page of the blog example is loaded.
The problem seems to be related to the updated JSF implementation (jsf-impl-1.2_15-b01-redhat-4 in ER6, jsf-impl-1.2_15-b01-redhat-6 in ER7). If the -redhat-4 version is used in ER7, the problem doesn't appear.
It's actually jsf-impl-1.2_15-b01-redhat-3 in ER6.
Created attachment 820568 [details]
I'm reassigning this one to Farah.
The only reason JSF 1.2 exists in EAP6 is to support old Seam 2 apps. So I don't have a problem with going back to an old release if that's what makes Seam 2 work.
However, I can't recall why the version was updated in the first place. So somebody needs to do some research to find out why the JSF 1.2 version was upgraded. My only hesitation with downgrading is that we might break whatever it was that prompted the upgrade to jsf-impl-1.2_15-b01-redhat-6.
The other strange thing is that we should be talking about the same code base. All these versions we are talking about are based on Mojarra 1.2_15-b01. So what is the difference between readhat-3, redhat-4, redhat-5, and redhat-6?
Farah, please take point on this. I'll be available to answer questions.
I tracked down the PR that upgraded from jsf-impl-1.2_15-b01-redhat-3 to jsf-impl-1.2_15-b01-redhat-6:
The PR references Bug #957687 (an issue with differences in the contents of jsf-impl.jar when comparing an RPM install to a ZIP install). This issue was marked as a blocker for EAP 6.2.0.
David, please provide some more information about the upgrade to jsf-impl-1.2_15-b01-redhat-6. What is the difference between redhat-3 and redhat-6?
Similar errors can be reproduced with a Spring application using RichFaces 3.3, so it is not Seam-specific.
There was an issue with the jsf-impl-1.2_15-b01-redhat-6 JAR itself. I talked to David about this yesterday and he mentioned that they recently switched to using a Maven build and a patch didn't get applied cleanly. He created a new redhat-7 version and the Seam example now works for me with the JARs from this build:
Reassigning this one to David to try to get the updated build included in EAP 6.2.0 CR1.
Created pull request: <https://github.com/jbossas/jboss-eap/pull/677>.
This was a conflict between <https://issues.jboss.org/browse/WFLY-685> and <https://issues.jboss.org/browse/JBPAPP-6414> which are fixes for the same issue, but apparently WFLY-685 does not work for EAP.
I can confirm that the redhat-8 version fixes the issue for Seam.
This issue was verified using the 6.2.0.CR1 preview bits.