You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Zsolt Süli (JIRA)" <ji...@apache.org> on 2007/09/09 14:22:29 UTC

[jira] Created: (WICKET-948) Links don't work after using browser's back button

Links don't work after using browser's back button
--------------------------------------------------

                 Key: WICKET-948
                 URL: https://issues.apache.org/jira/browse/WICKET-948
             Project: Wicket
          Issue Type: Bug
          Components: wicket
    Affects Versions: 1.3.0-beta4
         Environment: Windows Vista, Tomcat 6
            Reporter: Zsolt Süli


After using this link:
add(new Link("link")
		{
			@Override
			public void onClick()
			{
				setResponsePage(new Page2());
			}
		});

It tooks me to Page2. After I hit the browser's back button and click on the link again wicket throws a runtime exception:

Root cause:

java.io.StreamCorruptedException: invalid type code: 01
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:396)
at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
at org.apache.wicket.Session.getPage(Session.java:790)
at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)
at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)

Complete stack:

java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory
at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:410)
at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
at org.apache.wicket.Session.getPage(Session.java:790)
at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)

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


[jira] Commented: (WICKET-948) Links don't work after using browser's back button (Statefull page)

Posted by "Gwyn Evans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526120 ] 

Gwyn Evans commented on WICKET-948:
-----------------------------------

Isn't this just that your 'from' page isn't serializable?
i.e.
java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory
at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:410) 

Sort that out and see where that takes you?

> Links don't work after using browser's back button (Statefull page)
> -------------------------------------------------------------------
>
>                 Key: WICKET-948
>                 URL: https://issues.apache.org/jira/browse/WICKET-948
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.3.0-beta4
>         Environment: Windows Vista, Tomcat 6
>            Reporter: Zsolt Süli
>
> After using this link on a statefull page:
> add(new Link("link")
> 		{
> 			@Override
> 			public void onClick()
> 			{
> 				setResponsePage(new Page2());
> 			}
> 		});
> It tooks me to Page2. After I hit the browser's back button and click on the link again wicket throws a runtime exception:
> Root cause:
> java.io.StreamCorruptedException: invalid type code: 01
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
> at java.io.ObjectInputStream.readSerialData(Unknown Source)
> at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.readObject(Unknown Source)
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:396)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)
> at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Unknown Source)
> Complete stack:
> java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:410)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)

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


[jira] Updated: (WICKET-948) Links don't work after using browser's back button (Statefull page)

Posted by "Frank Bille Jensen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Frank Bille Jensen updated WICKET-948:
--------------------------------------

    Fix Version/s:     (was: 1.3.0-rc1)

> Links don't work after using browser's back button (Statefull page)
> -------------------------------------------------------------------
>
>                 Key: WICKET-948
>                 URL: https://issues.apache.org/jira/browse/WICKET-948
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.3.0-beta4
>         Environment: Windows Vista, Tomcat 6
>            Reporter: Zsolt Süli
>            Assignee: Matej Knopp
>
> After using this link on a statefull page:
> add(new Link("link")
> 		{
> 			@Override
> 			public void onClick()
> 			{
> 				setResponsePage(new Page2());
> 			}
> 		});
> It tooks me to Page2. After I hit the browser's back button and click on the link again wicket throws a runtime exception:
> Root cause:
> java.io.StreamCorruptedException: invalid type code: 01
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
> at java.io.ObjectInputStream.readSerialData(Unknown Source)
> at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.readObject(Unknown Source)
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:396)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)
> at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Unknown Source)
> Complete stack:
> java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:410)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)

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


[jira] Commented: (WICKET-948) Links don't work after using browser's back button (Statefull page)

Posted by "Zsolt Süli (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526175 ] 

Zsolt Süli commented on WICKET-948:
-----------------------------------

There's no form in these pages. 

I have a page (say HomePage ... like this:
public class HomePage extends WebPage {
	private static final long serialVersionUID = 2429832495146545152L;

	public HomePage() {
		super();
		
		add(new Link("link")
		{
			public void onClick()
			{
				setResponsePage(StatefulPage.class);
			}
		});
		
	}
}

It calls StatefullPage, which is a statefull page (for example it has a PageLink component ... nothing more). When I see StatefullPage, and push a back button, HomePage shown, but when I click on the link, it threw this exception.

Everything is OK, if
- I make my HomePage stateless (say replace Link with StatelessLink)
OR
- I make my StatefullPage stateless (by using BookmarkablePageLink instead of PageLink)


This is where it takes:
/**
	 * De-serializes an object from a byte array.
	 * 
	 * @param data
	 *            The serialized object
	 * @return The object
	 */
	public static Object byteArrayToObject(final byte[] data)
	{
		try
		{
			final ByteArrayInputStream in = new ByteArrayInputStream(data);
			try
			{
				return objectStreamFactory.newObjectInputStream(in).readObject();
			}
			finally
			{
				in.close();
			}
		}
		catch (ClassNotFoundException e)
		{
			throw new RuntimeException("Could not deserialize object using `"
					+ objectStreamFactory.getClass().getName() + "` object factory", e);
		}
		catch (IOException e)
		{
			throw new RuntimeException("Could not deserialize object using `"
					+ objectStreamFactory.getClass().getName() + "` object factory", e);
		}
	}


--- so this line is the source of the problem : 
return objectStreamFactory.newObjectInputStream(in).readObject();

--- thx for the reply

> Links don't work after using browser's back button (Statefull page)
> -------------------------------------------------------------------
>
>                 Key: WICKET-948
>                 URL: https://issues.apache.org/jira/browse/WICKET-948
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.3.0-beta4
>         Environment: Windows Vista, Tomcat 6
>            Reporter: Zsolt Süli
>
> After using this link on a statefull page:
> add(new Link("link")
> 		{
> 			@Override
> 			public void onClick()
> 			{
> 				setResponsePage(new Page2());
> 			}
> 		});
> It tooks me to Page2. After I hit the browser's back button and click on the link again wicket throws a runtime exception:
> Root cause:
> java.io.StreamCorruptedException: invalid type code: 01
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
> at java.io.ObjectInputStream.readSerialData(Unknown Source)
> at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.readObject(Unknown Source)
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:396)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)
> at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Unknown Source)
> Complete stack:
> java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:410)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)

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


[jira] Commented: (WICKET-948) Links don't work after using browser's back button (Statefull page)

Posted by "Matej Knopp (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12534517 ] 

Matej Knopp commented on WICKET-948:
------------------------------------

Looks like a weird serialization problem. Can you please post the whole source code for your page?

> Links don't work after using browser's back button (Statefull page)
> -------------------------------------------------------------------
>
>                 Key: WICKET-948
>                 URL: https://issues.apache.org/jira/browse/WICKET-948
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.3.0-beta4
>         Environment: Windows Vista, Tomcat 6
>            Reporter: Zsolt Süli
>            Assignee: Matej Knopp
>
> After using this link on a statefull page:
> add(new Link("link")
> 		{
> 			@Override
> 			public void onClick()
> 			{
> 				setResponsePage(new Page2());
> 			}
> 		});
> It tooks me to Page2. After I hit the browser's back button and click on the link again wicket throws a runtime exception:
> Root cause:
> java.io.StreamCorruptedException: invalid type code: 01
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
> at java.io.ObjectInputStream.readSerialData(Unknown Source)
> at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.readObject(Unknown Source)
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:396)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)
> at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Unknown Source)
> Complete stack:
> java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:410)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)

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


[jira] Resolved: (WICKET-948) Links don't work after using browser's back button (Statefull page)

Posted by "Matej Knopp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matej Knopp resolved WICKET-948.
--------------------------------

    Resolution: Cannot Reproduce

Reopen this if you can provide way to reproduce 

> Links don't work after using browser's back button (Statefull page)
> -------------------------------------------------------------------
>
>                 Key: WICKET-948
>                 URL: https://issues.apache.org/jira/browse/WICKET-948
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.3.0-beta4
>         Environment: Windows Vista, Tomcat 6
>            Reporter: Zsolt Süli
>            Assignee: Matej Knopp
>             Fix For: 1.3.0-beta5
>
>
> After using this link on a statefull page:
> add(new Link("link")
> 		{
> 			@Override
> 			public void onClick()
> 			{
> 				setResponsePage(new Page2());
> 			}
> 		});
> It tooks me to Page2. After I hit the browser's back button and click on the link again wicket throws a runtime exception:
> Root cause:
> java.io.StreamCorruptedException: invalid type code: 01
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
> at java.io.ObjectInputStream.readSerialData(Unknown Source)
> at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.readObject(Unknown Source)
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:396)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)
> at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Unknown Source)
> Complete stack:
> java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:410)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)

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


[jira] Updated: (WICKET-948) Links don't work after using browser's back button (Statefull page)

Posted by "Zsolt Süli (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zsolt Süli updated WICKET-948:
------------------------------

    Description: 
After using this link on a statefull page:
add(new Link("link")
		{
			@Override
			public void onClick()
			{
				setResponsePage(new Page2());
			}
		});

It tooks me to Page2. After I hit the browser's back button and click on the link again wicket throws a runtime exception:

Root cause:

java.io.StreamCorruptedException: invalid type code: 01
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:396)
at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
at org.apache.wicket.Session.getPage(Session.java:790)
at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)
at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)

Complete stack:

java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory
at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:410)
at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
at org.apache.wicket.Session.getPage(Session.java:790)
at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)

  was:
After using this link:
add(new Link("link")
		{
			@Override
			public void onClick()
			{
				setResponsePage(new Page2());
			}
		});

It tooks me to Page2. After I hit the browser's back button and click on the link again wicket throws a runtime exception:

Root cause:

java.io.StreamCorruptedException: invalid type code: 01
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:396)
at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
at org.apache.wicket.Session.getPage(Session.java:790)
at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)
at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)

Complete stack:

java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory
at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:410)
at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
at org.apache.wicket.Session.getPage(Session.java:790)
at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)

        Summary: Links don't work after using browser's back button (Statefull page)  (was: Links don't work after using browser's back button)

> Links don't work after using browser's back button (Statefull page)
> -------------------------------------------------------------------
>
>                 Key: WICKET-948
>                 URL: https://issues.apache.org/jira/browse/WICKET-948
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.3.0-beta4
>         Environment: Windows Vista, Tomcat 6
>            Reporter: Zsolt Süli
>
> After using this link on a statefull page:
> add(new Link("link")
> 		{
> 			@Override
> 			public void onClick()
> 			{
> 				setResponsePage(new Page2());
> 			}
> 		});
> It tooks me to Page2. After I hit the browser's back button and click on the link again wicket throws a runtime exception:
> Root cause:
> java.io.StreamCorruptedException: invalid type code: 01
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
> at java.io.ObjectInputStream.readSerialData(Unknown Source)
> at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.readObject(Unknown Source)
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:396)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)
> at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Unknown Source)
> Complete stack:
> java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:410)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)

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


[jira] Assigned: (WICKET-948) Links don't work after using browser's back button (Statefull page)

Posted by "Matej Knopp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matej Knopp reassigned WICKET-948:
----------------------------------

    Assignee: Matej Knopp

> Links don't work after using browser's back button (Statefull page)
> -------------------------------------------------------------------
>
>                 Key: WICKET-948
>                 URL: https://issues.apache.org/jira/browse/WICKET-948
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.3.0-beta4
>         Environment: Windows Vista, Tomcat 6
>            Reporter: Zsolt Süli
>            Assignee: Matej Knopp
>
> After using this link on a statefull page:
> add(new Link("link")
> 		{
> 			@Override
> 			public void onClick()
> 			{
> 				setResponsePage(new Page2());
> 			}
> 		});
> It tooks me to Page2. After I hit the browser's back button and click on the link again wicket throws a runtime exception:
> Root cause:
> java.io.StreamCorruptedException: invalid type code: 01
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
> at java.io.ObjectInputStream.readSerialData(Unknown Source)
> at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
> at java.io.ObjectInputStream.readObject0(Unknown Source)
> at java.io.ObjectInputStream.readObject(Unknown Source)
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:396)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)
> at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Unknown Source)
> Complete stack:
> java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory
> at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:410)
> at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:231)
> at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:589)
> at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:322)
> at org.apache.wicket.Session.getPage(Session.java:790)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:426)
> at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1077)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1173)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:483)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:277)

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