ErrorPageWriter fails with NotSerializableException
---------------------------------------------------
Key: MYFACES-2865
URL: https://issues.apache.org/jira/browse/MYFACES-2865
Project: MyFaces Core
Issue Type: Bug
Components: JSR-314
Affects Versions: 2.0.1
Environment: Java 6u20, Tomcat 6.0.20
Reporter: Christian Kaltepoth
My application is configured this way:
* server-side state saving
* disabled view state serialization
* custom Spring scope for a view scope as described in Cagatay's blog
(http://cagataycivici.wordpress.com/2010/02/17/port-jsf-2-0s-viewscope-to-spring-3-0/)
If the ErrorPageWriter creates an error page and a non-serializable bean is in
the view scope, the ErrorPageWriter fails with the following exception:
java.io.NotSerializableException: <one.of.my.beans>
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.HashMap.writeObject(HashMap.java:1001)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at
org.apache.myfaces.shared_impl.util.StateUtils.getAsByteArray(StateUtils.java:273)
at
org.apache.myfaces.renderkit.ErrorPageWriter._writeComponent(ErrorPageWriter.java:642)
at
org.apache.myfaces.renderkit.ErrorPageWriter.debugHtml(ErrorPageWriter.java:283)
at
org.apache.myfaces.renderkit.ErrorPageWriter.debugHtml(ErrorPageWriter.java:250)
at
org.apache.myfaces.renderkit.ErrorPageWriter.handleThrowable(ErrorPageWriter.java:417)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:274)
[...]
This exception completely masks the primary exception that caused the
ErrorPageWriter to jump in. This makes it very difficult to find the root cause
of the problem.
The current workaround is to disable the MyFaces error handler by setting
org.apache.myfaces.ERROR_HANDLING to 'false'.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.