Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.7Beta1
-
Fix Version/s: 1.7.2
-
Component/s: None
-
Labels:None
-
Environment:JBoss 4.2.2.GA, JDK6
-
ICEsoft Forum Reference:
-
Support Case References:
Description
adding to home.xhtml a
<ice:form>
<ice:commandButton value="NPE" action="#{npe.npe}"/>
</ice:form>
and a
@Name("npe")
public class NPE {
public void npe() {
throw new NullPointerException("npe");
}
}
clicking the NPE hangs the application instead of redirecting according to the catch-all pages.xml exception handler
debug mode shows redirect to errors.xhtml and block/errors.xhtml but results in hang.
-
Hide
- Ice.zip
- 121 kB
- Nicklas Karlsson
-
- .classpath 2 kB
- .project 0.8 kB
- .settings/org.hibernate.eclipse.console.prefs 0.1 kB
- bootstrap/commons-logging.properties 0.4 kB
- bootstrap/conf/bootstrap-beans.xml 10 kB
- bootstrap/conf/jboss-service.xml 7 kB
- bootstrap/conf/jbossjta-properties.xml 9 kB
- bootstrap/conf/login-config.xml 3 kB
- bootstrap/.../messaging-roles.properties 0.0 kB
- bootstrap/.../messaging-users.properties 0.0 kB
- bootstrap/data/hypersonic/dvd.properties 0.4 kB
- bootstrap/data/hypersonic/localDB.log 0.5 kB
- bootstrap/data/.../localDB.properties 0.4 kB
- bootstrap/data/hypersonic/localDB.script 27 kB
- bootstrap/.../ejb3-interceptors-aop.xml 23 kB
- bootstrap/deploy/hsqldb-ds.xml 5 kB
- bootstrap/deploy/jboss-local-jdbc.rar 2 kB
- bootstrap/deploy/jboss-xa-jdbc.rar 2 kB
- bootstrap/deploy/jms-ra.rar 2 kB
- bootstrap/.../connection-factories-service.xml 6 kB
- bootstrap/.../destinations-service.xml 1 kB
- bootstrap/.../hsqldb-persistence-service.xml 5 kB
- bootstrap/deploy/messaging/jms-ds.xml 2 kB
- bootstrap/deploy/.../legacy-service.xml 0.5 kB
- bootstrap/deploy/.../messaging-service.xml 5 kB
- bootstrap/deploy/.../remoting-service.xml 3 kB
- bootstrap/deploy/remoting-service.xml 0.5 kB
- bootstrap/.../aspect-deployer-beans.xml 2 kB
- bootstrap/.../ejb-deployer-beans.xml 2 kB
- bootstrap/.../ejb3-deployers-beans.xml 11 kB
Issue Links
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
tested on jboss-4.2.3.GA as well. Requires Seam trunk (for Pete's fix) and ICEfaces fix will be in 1.7.2 release
This change is causing regressions in server-push with Seam:
08:28:18,568 ERROR [STDERR] Exception in thread "Render Thread - 22"
08:28:18,568 ERROR [STDERR] java.lang.StackOverflowError
08:28:18,568 ERROR [STDERR] at org.apache.catalina.connector.Request.setAttribute(Request.java:1424)
08:28:18,568 ERROR [STDERR] at org.apache.catalina.connector.RequestFacade.setAttribute(RequestFacade.java:503)
08:28:18,568 ERROR [STDERR] at javax.servlet.ServletRequestWrapper.setAttribute(ServletRequestWrapper.java:284)
08:28:18,568 ERROR [STDERR] at com.icesoft.faces.webapp.http.servlet.ServletRequestAttributes.setAttribute(ServletRequestAttributes.java:28)
08:28:18,568 ERROR [STDERR] at com.icesoft.faces.webapp.http.servlet.ServletEnvironmentRequest.setAttribute(ServletEnvironmentRequest.java:216)
08:28:18,568 ERROR [STDERR] at com.icesoft.faces.webapp.http.servlet.ServletRequestAttributeMap.setAttribute(ServletRequestAttributeMap.java:25)
08:28:18,568 ERROR [STDERR] at com.icesoft.faces.context.AbstractCopyingAttributeMap.put(AbstractCopyingAttributeMap.java:22)
08:28:18,568 ERROR [STDERR] at java.util.Collections$SynchronizedMap.put(Unknown Source)
08:28:18,568 ERROR [STDERR] at org.jboss.seam.contexts.BasicContext.set(BasicContext.java:85)
08:28:18,568 ERROR [STDERR] at org.jboss.seam.Component.newInstance(Component.java:2031)
Seems like the push issues are not related to this issue. New JIRA for those is ICE-3577.
Marking Fixed again.
for pre jboss-seam-2.1.0.GA releases, you can still do redirection with ICEfaces and Seam by configuring the following:_
1) in web.xml add the following, and ensure error.xhtml (or whatever extension is defined in context-param = javax.faces.DEFAULT_SUFFIX) is included in the project:-
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.seam</location>
</error-page>
Note that multiple exceptions may be listed going to numerous error pages that are defined.
2) Add the following to components.xml:-
<web:exception-filter url-pattern="*.seam"/>
and define the namespace for web:- xmlns:web="http://jboss.com/products/seam/web" with schema location= http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.0.xsd
(for 2.0.x)
That's it. You can't get the actual value of the exception, but if you defined an error page for each type of exception you wanted to capture as well as a general catch-all, you could have static pages to inform the user what had happened.
Just to make things clear(er?):-
what has been explained above is a "workaround" for versions of Seam previous to jboss-seam-2.1.0. The fix has been applied to both jboss-seam-2.1.0 as well as ICEfaces-1.7.2 to enable the seam redirection navigation (dependent on rules defined in pages.xml) to work.
seam-generated, libs removed