You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Werner Punz (JIRA)" <de...@myfaces.apache.org> on 2010/12/12 16:17:01 UTC

[jira] Created: (MYFACES-3000) Viewstate occasionally not restored

Viewstate occasionally not restored
-----------------------------------

                 Key: MYFACES-3000
                 URL: https://issues.apache.org/jira/browse/MYFACES-3000
             Project: MyFaces Core
          Issue Type: Bug
    Affects Versions: 2.0.2
         Environment: Deployment running under glassfish  or Google App engine but probably happens on all app servers.

            Reporter: Werner Punz


This is a tricky one. I made a small testing app thanks to the commentary of a user who wanted to run MyFaces in GAE and caused a condition which occasionally occurs, which prevents the ViewState to be found.
Here is the mechanis. I have a small test app which loads a page. The page triggers a jsf.ajax request from time to time with render none, periodically but not connected to the session timeout I am getting single error returns from my ajax request from the server:

Working Request before:
Request
j_id1631913672_61450686	j_id1631913672_61450686
j_id1631913672_61450686_S...	1
javax.faces.ViewState	XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMulyF7vG3zU1dN9lR7tFYcOwrVKKk107jlZKitmWUhl9XeNBb34eh5bt8QyDTVM=
javax.faces.partial.ajax	true
javax.faces.partial.execu...	menu @this
javax.faces.source	menu
menu	1
menu2	1

Response
<?xml version="1.0" encoding="utf-8"?><partial-response><changes><update id="javax.faces.ViewState"><![CDATA[XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMulyOsU+YvfYynFlR7tFYcOwrVKKk107jlZKdUuJGd3B0bumy+XxfxY80nPViy4=]]></update></changes></partial-response>

After that following error request:
j_id1631913672_61450686	j_id1631913672_61450686
j_id1631913672_61450686_S...	1
javax.faces.ViewState	XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMulyOsU+YvfYynFlR7tFYcOwrVKKk107jlZKdUuJGd3B0bumy+XxfxY80nPViy4=
javax.faces.partial.ajax	true
javax.faces.partial.execu...	menu @this
javax.faces.source	menu
menu	1
menu2	1


<?xml version="1.0" encoding="utf-8"?><partial-response><error><error-name>javax.faces.application.ViewExpiredException</error-name><error-message><![CDATA[/welcome.jsfNo saved view state could be found for the view identifier: /welcome.jsf]]></error-message></error></partial-response>

And aftert hat I am getting a normal answer again:

j_id1631913672_61450686	j_id1631913672_61450686
j_id1631913672_61450686_S...	1
javax.faces.ViewState	XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMulyOsU+YvfYynFlR7tFYcOwrVKKk107jlZKdUuJGd3B0bumy+XxfxY80nPViy4=
javax.faces.partial.ajax	true
javax.faces.partial.execu...	menu @this
javax.faces.source	menu
menu	1
menu2	1

<?xml version="1.0" encoding="utf-8"?><partial-response><changes><update id="javax.faces.ViewState"><![CDATA[XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMuly5RE5nlKK54RlR7tFYcOwrVKKk107jlZK6f7NdUZRuvvbL7VYnmj4v8VmnIQ=]]></update></changes></partial-response>


As it is visible here the viewstate between the error and the visible request are the same, it is just that in the first instance it was not able to restore the view

The error I have gotten on the console is as follows:

javax.faces.application.ViewExpiredException: /welcome.jsfNo saved view state could be found for the view identifier: /welcome.jsf
        at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:128)
        at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
        at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
        at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
        at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
        at java.lang.Thread.run(Thread.java:680)

The web.xml is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>

    <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
    </context-param>


     <!--
           We need to set annotation lifecycyle provider manually as org.apache.myfaces.config.annotation.NoInjectionAnnotationLifecycleProvider.
           Other providers use some classes that are restricted on Google App Engine.
        -->
    <context-param>
        <param-name>org.apache.myfaces.config.annotation.LifecycleProvider</param-name>
        <param-value>org.apache.myfaces.config.annotation.NoInjectionAnnotationLifecycleProvider</param-value>
    </context-param>

        <!--
            Need to set a secret to avoid javax.crypto.BadPaddingException.
            "param-value" must be Base64 encoded.
            More details: http://wiki.apache.org/myfaces/Secure_Your_Application
         -->
    <!--
    <context-param>
        <param-name>org.apache.myfaces.SECRET</param-name>
        <param-value>NzY1NDMyMTA=</param-value>
    </context-param>
    -->
     <!-- Defines the secret (Base64 encoded) used to initialize the secret key
         for encryption algorithm. The size of it depends on the algorithm used for encryption -->
   

    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>server</param-value>
    </context-param>

    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

  
</web-app>

So the use encryption param is on default and no key overrides are set!

The link to the app is as follows:
http://people.apache.org/~werpu/tesinck4040.tar.bz2 (note that you have to remove the encryption param there from the web.xml)



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (MYFACES-3000) Viewstate occasionally not restored

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12970658#action_12970658 ] 

Werner Punz commented on MYFACES-3000:
--------------------------------------

Ok I am still trying to reproduce the error here locally with default settings, I am not entirely sure if the error was not caused by a broken config which might have carried over by a broken deployment.
So please do not do anything on this issue until I come to a clear conclusion.


> Viewstate occasionally not restored
> -----------------------------------
>
>                 Key: MYFACES-3000
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3000
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.0.2
>         Environment: Deployment running under glassfish  or Google App engine but probably happens on all app servers.
>            Reporter: Werner Punz
>            Priority: Critical
>
> This is a tricky one. I made a small testing app thanks to the commentary of a user who wanted to run MyFaces in GAE and caused a condition which occasionally occurs, which prevents the ViewState to be found.
> Here is the mechanis. I have a small test app which loads a page. The page triggers a jsf.ajax request from time to time with render none, periodically but not connected to the session timeout I am getting single error returns from my ajax request from the server:
> Working Request before:
> Request
> j_id1631913672_61450686	j_id1631913672_61450686
> j_id1631913672_61450686_S...	1
> javax.faces.ViewState	XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMulyF7vG3zU1dN9lR7tFYcOwrVKKk107jlZKitmWUhl9XeNBb34eh5bt8QyDTVM=
> javax.faces.partial.ajax	true
> javax.faces.partial.execu...	menu @this
> javax.faces.source	menu
> menu	1
> menu2	1
> Response
> <?xml version="1.0" encoding="utf-8"?><partial-response><changes><update id="javax.faces.ViewState"><![CDATA[XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMulyOsU+YvfYynFlR7tFYcOwrVKKk107jlZKdUuJGd3B0bumy+XxfxY80nPViy4=]]></update></changes></partial-response>
> After that following error request:
> j_id1631913672_61450686	j_id1631913672_61450686
> j_id1631913672_61450686_S...	1
> javax.faces.ViewState	XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMulyOsU+YvfYynFlR7tFYcOwrVKKk107jlZKdUuJGd3B0bumy+XxfxY80nPViy4=
> javax.faces.partial.ajax	true
> javax.faces.partial.execu...	menu @this
> javax.faces.source	menu
> menu	1
> menu2	1
> <?xml version="1.0" encoding="utf-8"?><partial-response><error><error-name>javax.faces.application.ViewExpiredException</error-name><error-message><![CDATA[/welcome.jsfNo saved view state could be found for the view identifier: /welcome.jsf]]></error-message></error></partial-response>
> And aftert hat I am getting a normal answer again:
> j_id1631913672_61450686	j_id1631913672_61450686
> j_id1631913672_61450686_S...	1
> javax.faces.ViewState	XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMulyOsU+YvfYynFlR7tFYcOwrVKKk107jlZKdUuJGd3B0bumy+XxfxY80nPViy4=
> javax.faces.partial.ajax	true
> javax.faces.partial.execu...	menu @this
> javax.faces.source	menu
> menu	1
> menu2	1
> <?xml version="1.0" encoding="utf-8"?><partial-response><changes><update id="javax.faces.ViewState"><![CDATA[XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMuly5RE5nlKK54RlR7tFYcOwrVKKk107jlZK6f7NdUZRuvvbL7VYnmj4v8VmnIQ=]]></update></changes></partial-response>
> As it is visible here the viewstate between the error and the visible request are the same, it is just that in the first instance it was not able to restore the view
> The error I have gotten on the console is as follows:
> javax.faces.application.ViewExpiredException: /welcome.jsfNo saved view state could be found for the view identifier: /welcome.jsf
>         at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:128)
>         at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
>         at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
>         at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
>         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
>         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
>         at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
>         at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
>         at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
>         at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
>         at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
>         at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
>         at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
>         at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
>         at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
>         at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
>         at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
>         at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
>         at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
>         at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
>         at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
>         at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
>         at java.lang.Thread.run(Thread.java:680)
> The web.xml is as follows:
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
>     <context-param>
>         <param-name>javax.faces.PROJECT_STAGE</param-name>
>         <param-value>Development</param-value>
>     </context-param>
>     <context-param>
>         <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
>         <param-value>.xhtml</param-value>
>     </context-param>
>      <!--
>            We need to set annotation lifecycyle provider manually as org.apache.myfaces.config.annotation.NoInjectionAnnotationLifecycleProvider.
>            Other providers use some classes that are restricted on Google App Engine.
>         -->
>     <context-param>
>         <param-name>org.apache.myfaces.config.annotation.LifecycleProvider</param-name>
>         <param-value>org.apache.myfaces.config.annotation.NoInjectionAnnotationLifecycleProvider</param-value>
>     </context-param>
>         <!--
>             Need to set a secret to avoid javax.crypto.BadPaddingException.
>             "param-value" must be Base64 encoded.
>             More details: http://wiki.apache.org/myfaces/Secure_Your_Application
>          -->
>     <!--
>     <context-param>
>         <param-name>org.apache.myfaces.SECRET</param-name>
>         <param-value>NzY1NDMyMTA=</param-value>
>     </context-param>
>     -->
>      <!-- Defines the secret (Base64 encoded) used to initialize the secret key
>          for encryption algorithm. The size of it depends on the algorithm used for encryption -->
>    
>     <context-param>
>         <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
>         <param-value>server</param-value>
>     </context-param>
>     <servlet>
>         <servlet-name>Faces Servlet</servlet-name>
>         <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
>         <load-on-startup>1</load-on-startup>
>     </servlet>
>     <servlet-mapping>
>         <servlet-name>Faces Servlet</servlet-name>
>         <url-pattern>*.jsf</url-pattern>
>         <url-pattern>/faces/*</url-pattern>
>     </servlet-mapping>
>     <session-config>
>         <session-timeout>
>             30
>         </session-timeout>
>     </session-config>
>     <welcome-file-list>
>         <welcome-file>index.jsp</welcome-file>
>     </welcome-file-list>
>   
> </web-app>
> So the use encryption param is on default and no key overrides are set!
> The link to the app is as follows:
> http://people.apache.org/~werpu/tesinck4040.tar.bz2 (note that you have to remove the encryption param there from the web.xml)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (MYFACES-3000) Viewstate occasionally not restored

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/MYFACES-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Werner Punz resolved MYFACES-3000.
----------------------------------

       Resolution: Invalid
    Fix Version/s: 2.0.3-SNAPSHOT

Ok I did another set of testruns, the error is not reproducable anymore with the default crypto settings. I guess it was a broken local deployment which triggered it.
I am setting this one to invalid, since GAE seems to run also stable.


> Viewstate occasionally not restored
> -----------------------------------
>
>                 Key: MYFACES-3000
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3000
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.0.2
>         Environment: Deployment running under glassfish  or Google App engine but probably happens on all app servers.
>            Reporter: Werner Punz
>            Priority: Critical
>             Fix For: 2.0.3-SNAPSHOT
>
>
> This is a tricky one. I made a small testing app thanks to the commentary of a user who wanted to run MyFaces in GAE and caused a condition which occasionally occurs, which prevents the ViewState to be found.
> Here is the mechanis. I have a small test app which loads a page. The page triggers a jsf.ajax request from time to time with render none, periodically but not connected to the session timeout I am getting single error returns from my ajax request from the server:
> Working Request before:
> Request
> j_id1631913672_61450686	j_id1631913672_61450686
> j_id1631913672_61450686_S...	1
> javax.faces.ViewState	XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMulyF7vG3zU1dN9lR7tFYcOwrVKKk107jlZKitmWUhl9XeNBb34eh5bt8QyDTVM=
> javax.faces.partial.ajax	true
> javax.faces.partial.execu...	menu @this
> javax.faces.source	menu
> menu	1
> menu2	1
> Response
> <?xml version="1.0" encoding="utf-8"?><partial-response><changes><update id="javax.faces.ViewState"><![CDATA[XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMulyOsU+YvfYynFlR7tFYcOwrVKKk107jlZKdUuJGd3B0bumy+XxfxY80nPViy4=]]></update></changes></partial-response>
> After that following error request:
> j_id1631913672_61450686	j_id1631913672_61450686
> j_id1631913672_61450686_S...	1
> javax.faces.ViewState	XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMulyOsU+YvfYynFlR7tFYcOwrVKKk107jlZKdUuJGd3B0bumy+XxfxY80nPViy4=
> javax.faces.partial.ajax	true
> javax.faces.partial.execu...	menu @this
> javax.faces.source	menu
> menu	1
> menu2	1
> <?xml version="1.0" encoding="utf-8"?><partial-response><error><error-name>javax.faces.application.ViewExpiredException</error-name><error-message><![CDATA[/welcome.jsfNo saved view state could be found for the view identifier: /welcome.jsf]]></error-message></error></partial-response>
> And aftert hat I am getting a normal answer again:
> j_id1631913672_61450686	j_id1631913672_61450686
> j_id1631913672_61450686_S...	1
> javax.faces.ViewState	XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMulyOsU+YvfYynFlR7tFYcOwrVKKk107jlZKdUuJGd3B0bumy+XxfxY80nPViy4=
> javax.faces.partial.ajax	true
> javax.faces.partial.execu...	menu @this
> javax.faces.source	menu
> menu	1
> menu2	1
> <?xml version="1.0" encoding="utf-8"?><partial-response><changes><update id="javax.faces.ViewState"><![CDATA[XsWFBIdJ3cAipIW1n5/t3iVN5WSwWxZx2zbF0fTt/gvRo//LO3glFrGpAY8IMuly5RE5nlKK54RlR7tFYcOwrVKKk107jlZK6f7NdUZRuvvbL7VYnmj4v8VmnIQ=]]></update></changes></partial-response>
> As it is visible here the viewstate between the error and the visible request are the same, it is just that in the first instance it was not able to restore the view
> The error I have gotten on the console is as follows:
> javax.faces.application.ViewExpiredException: /welcome.jsfNo saved view state could be found for the view identifier: /welcome.jsf
>         at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:128)
>         at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
>         at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
>         at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
>         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
>         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
>         at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
>         at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
>         at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
>         at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
>         at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
>         at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
>         at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
>         at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
>         at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
>         at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
>         at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
>         at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
>         at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
>         at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
>         at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
>         at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
>         at java.lang.Thread.run(Thread.java:680)
> The web.xml is as follows:
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
>     <context-param>
>         <param-name>javax.faces.PROJECT_STAGE</param-name>
>         <param-value>Development</param-value>
>     </context-param>
>     <context-param>
>         <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
>         <param-value>.xhtml</param-value>
>     </context-param>
>      <!--
>            We need to set annotation lifecycyle provider manually as org.apache.myfaces.config.annotation.NoInjectionAnnotationLifecycleProvider.
>            Other providers use some classes that are restricted on Google App Engine.
>         -->
>     <context-param>
>         <param-name>org.apache.myfaces.config.annotation.LifecycleProvider</param-name>
>         <param-value>org.apache.myfaces.config.annotation.NoInjectionAnnotationLifecycleProvider</param-value>
>     </context-param>
>         <!--
>             Need to set a secret to avoid javax.crypto.BadPaddingException.
>             "param-value" must be Base64 encoded.
>             More details: http://wiki.apache.org/myfaces/Secure_Your_Application
>          -->
>     <!--
>     <context-param>
>         <param-name>org.apache.myfaces.SECRET</param-name>
>         <param-value>NzY1NDMyMTA=</param-value>
>     </context-param>
>     -->
>      <!-- Defines the secret (Base64 encoded) used to initialize the secret key
>          for encryption algorithm. The size of it depends on the algorithm used for encryption -->
>    
>     <context-param>
>         <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
>         <param-value>server</param-value>
>     </context-param>
>     <servlet>
>         <servlet-name>Faces Servlet</servlet-name>
>         <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
>         <load-on-startup>1</load-on-startup>
>     </servlet>
>     <servlet-mapping>
>         <servlet-name>Faces Servlet</servlet-name>
>         <url-pattern>*.jsf</url-pattern>
>         <url-pattern>/faces/*</url-pattern>
>     </servlet-mapping>
>     <session-config>
>         <session-timeout>
>             30
>         </session-timeout>
>     </session-config>
>     <welcome-file-list>
>         <welcome-file>index.jsp</welcome-file>
>     </welcome-file-list>
>   
> </web-app>
> So the use encryption param is on default and no key overrides are set!
> The link to the app is as follows:
> http://people.apache.org/~werpu/tesinck4040.tar.bz2 (note that you have to remove the encryption param there from the web.xml)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.