Problem with application restart in IE7 (Javascript error)

Hi,

I have a problem to restart a Vaadin application in Internet Explorer 7. When I want to restart the app after session timeout the swirling progress icon does not disappear (and the application does not start).


Details
:
I build a simple Vaadin application ("
http:/myserver/VaadinRestart
“) and overwrite
getSystemMessages()
to redirect to a simple HTML in another application on the same webserver (”
http:/myserver/Timeout/timeout.html
“) after session timeout.
On this website there is a link to the Vaadin app (”
http:/myserver/VaadinRestart?restartApplication
").

The error occurs when there is a session timeout (so
timeout.html
is displayed)
AND
there is a idle time after that (about one hour). When the user then clicks on the link the progress icon appears and stays and stays… There is a little yellow caution label in the browsers statusbar. It shows me the error message “permission denied”.
Sometimes a refresh (via F5 for example) helps immediately. But sometimes the user has to restart the browser.

There is no error when I do the same steps in Firefox. Unfortunately all my users are working with IE7 (policy) and the described error makes them mad.

Please note that the widgetset was compiled for all browsers.

Any ideas what could be the reason for this?

Thanks, Thorsten

••••••••••
Eclipse 3.5.1 • Vaadin 6.4.2 • Vaadin Eclipse Integration 1.2.0 • JRE 6
Windows XP • IE7 (7.0.5730) • Tomcat 5.5.28

Hi,

I broke it down into this simple example (“VaadinTimeout” build by project wizard):


VaadinTimeoutApplication.java

public class VaadinTimeoutApplication extends Application {
   private static final long serialVersionUID = 876537136235122920L;
   public void init() {
      Window mainWindow = new Window("VaadinTimeout Application");
      Label label = new Label("Hello Vaadin user");
      mainWindow.addComponent(label);
      setMainWindow(mainWindow);
      // set session timeout to 30 seconds for testing
      ((WebApplicationContext) getContext()).getHttpSession().setMaxInactiveInterval(30);
   }

   public static SystemMessages getSystemMessages() {
      CustomizedSystemMessages m = new CustomizedSystemMessages();
      m.setSessionExpiredCaption(null);
      m.setSessionExpiredMessage(null);
      m.setSessionExpiredURL("http://myhost/VaadinTimeoutApplication/timeout.html");
      return m;
   }
}


timeout.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Timeout</title>
</head>
<body>
  <a href="http://myhost/VaadinTimeout/start.do?restartApplication">Restart Application</a>
</body></html>


web.xml
(Minor modifications to ensure that session timeout does not start the Vaadin app)


...
	<servlet-mapping>
		<servlet-name>VaadinTimeout Application</servlet-name>
		<url-pattern>/VAADIN/*</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>VaadinTimeout Application</servlet-name>
		<url-pattern>/start.do/*</url-pattern>
	</servlet-mapping>
...

I follow these steps:

This only happens in IE7. Does anybody has an idea what could be wrong? Any hints for further investigations?
The users are really annoyed by this behavior. They call it the “red swirl of death” because they have to restart the browser to restart the application :angry:

Thanks, Thorsten

Just for your information: this error also does not appear on WebSphere server…

Regards, Thorsten

Did you finally find the solution? It’s also existed when I deploy my application with Tomcat 6 and IE8.