Note that there are some explanatory texts on larger screens.

plurals
  1. POUpdating App Engine GWT web app - the correct way?
    primarykey
    data
    text
    <p>I have a website, completely written in GWT, using App Engine, and whenever I update the codebase I want users to use the latest version of my compiled GWT code. Problem is, users often see exceptions like the one below, until they refresh their page. </p> <p>Am I handling updates in the right way:</p> <ul> <li>I update the version field in appengine-web.xml, deploy it, then make it active in App Engine.</li> <li>However, I found that sometimes users' browsers still end up using an old version</li> <li>To fix this, the first request I do to my server is to check a VERSION string, and if it is wrong then I manually do a Window.Location.reload()</li> <li>This works (most of the time)</li> <li>Problem is that sometimes on load I get exceptions like those shown at the bottom of this question. When I refresh the page, everything works fine.</li> </ul> <p>Main problem is that I have no way to reproduce it, and none of the code in the stack trace is mine.</p> <p>Any suggestions on how to:</p> <ul> <li>reproduce it?</li> <li>debug it?</li> <li>prevent it?</li> <li>update my web app in the correct way?</li> </ul> <p>Stack trace:</p> <pre><code>com.google.gwt.event.shared.UmbrellaException: 3 exceptions caught: (Error) : Permission denied to access property 'target'; (Error) : Permission denied to access property 'target'; (Error) : Permission denied to access property 'target' 3 exceptions caught: (Error) : Permission denied to access property 'target'; (Error) : Permission denied to access property 'target'; (Error) : Permission denied to access property 'target' at com.google.gwt.core.client.impl.StackTraceCreator$CollectorEmulated.$fillInStackTrace(StackTraceCreator.java:174) at java.lang.RuntimeException.RuntimeException(RuntimeException.java:508) at com.google.web.bindery.event.shared.UmbrellaException.UmbrellaException(UmbrellaException.java:71) at com.google.gwt.event.shared.UmbrellaException.UmbrellaException(UmbrellaException.java:26) at com.google.gwt.event.shared.HandlerManager.$fireEvent(HandlerManager.java:90) at com.google.gwt.user.client.Event$NativePreviewEvent.fire(Event.java:87) at com.google.gwt.user.client.DOM.previewEvent(DOM.java:1328) at Unknown.anonymous(DOMImplStandard.java:152) at com.google.gwt.core.client.impl.Impl.apply(Impl.java:189) at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:242) at Unknown.anonymous(Impl.java:70) at Unknown.anonymous(DOMImplStandard.java:187) at com.google.gwt.core.client.impl.Impl.apply(Impl.java:189) at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:242) at Unknown.anonymous(Impl.java:70) Caused by: com.google.gwt.core.client.JavaScriptException: (Error) : Permission denied to access property 'target' (Error) : Permission denied to access property 'target' at com.google.gwt.core.client.impl.StackTraceCreator$CollectorEmulated.$fillInStackTrace(StackTraceCreator.java:174) at com.google.gwt.core.client.JavaScriptException.JavaScriptException(JavaScriptException.java:508) at com.google.gwt.lang.Exceptions.caught(Exceptions.java:29) at com.google.gwt.user.client.ui.PopupPanel.$eventTargetsPopup(PopupPanel.java:1167) at com.google.gwt.user.client.ui.PopupPanel.$previewNativeEvent(PopupPanel.java:1340) at com.google.gwt.user.client.ui.PopupPanel$3.onPreviewNativeEvent(PopupPanel.java:1435) at com.google.gwt.user.client.Event$NativePreviewEvent.dispatch(Event.java:194) at com.google.web.bindery.event.shared.SimpleEventBus.$doFire(SimpleEventBus.java:194) at com.google.gwt.event.shared.HandlerManager.$fireEvent(HandlerManager.java:127) ... 10 more </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload