UI not visible problem


Two days ago we changed our Vaadin jar from 6.4.2 to 6.4.6 to get recent bug fixes. After some hours one of our developers noticed that his IE didn’t show our front page. Chrome worked, but not IE. For me, my Eclipse embedded IE worked, but not Chrome or FireFox. For a third project member, only Chrome worked. And for a fourth, only IE.

That’s two Chromes and two IE’s. I decided to recompile our custom widgets, just in case if something was different there. Noticing that 6.4.6 comes packaged with GWT 2.0.4, I updated our GWT jars from 2.0.0 to 2.0.4 and recompiled.

When we try to run our project, the Application class init() gets called, but nothing is displayed on the browser. We get this error message:

VAADIN/widgetsets/com.ourcompany.ourproject.web.gwt.OurWidgetSet/228D3277E2001279AF494948DFA9D091.cache.html:4538 Uncaught ReferenceError: $stats is not defined

The strange thing is that reverting all changes back to version 6.4.2 from version control doesn’t help. In fact, after the recompiling, we can’t get even the old IE’s and Chromes working. I suspected browser caches, but cleaning doesn’t help.

Could anyone help in pinpointing the problem?

An additional piece of information to the mystery. I got a message from a fellow developer:

I did some testing by removing the widgetset definition from the web.xml and restarting. Didn’t work. Put the definition back and restarted. After that, Chrome started working, but not IE.

If this was plaguing only my machine, I would believe in a poltergeist. But there’s four of us… I believe it’s not related to the Vaadin versions as such, just some obscure Javascript/browser cache/Eclipse problem.

Any help would be appreciated, even a thought of where to start looking.

Sounds like a caching problem - did you try to flush browser caches?

That helped. I tried that yesterday too, but apparently that wasn’t the whole story:

The first widgetset compile I did was apparently with GWT 2.0.0. I kept clearing the cache while I had those faulty ones. After I updated GWT to 2.0.4 I didn’t try the cache clearing anymore.

Thank you.

The bug came back. It’s definitely not only the browser cache, and GWT versions are not the problem either.

This is somehow related to filters we have running. This never happened with 6.4.2. By removing the servlet-mapping of Vaadin from the following filters, the project works again:

a custom locale filter extending org.springframework.web.filter.OncePerRequestFilter

We can work now, but you might want to check if there’s anything checked in after 6.4.2 that affects this.

I still believe this is a cache issue or an old working copy somewhere - probably somewhere on the server - but maybe removing the filters bypassed or invalidated some cache. Clearing (parts or all of) the working directory of the server might help.

OpenEntityManagerInViewFilter certainly should not cause problems - for the others, it might depend on how they are configured/subclassed, but I don’t think they are the culprit either.