Issues after beginning conversion from 2.2.5 to 3.0.1
I've got the fun task of converting our projects entire UI from 2.2.5 to 3.0.1. Well I didn't want to have the situation where you modify 100 ui's and eclipse crashes and you lose it all. So I began by converting one UI at a time and leaving the rest at 2.2.5 and seeing if I could run them in the same project without issue. Locally worked fine, tested dev mode and made sure the maven build succeeded.
After confirming that both modes work and the converted UI worked as expected I committed my changes to SVN then started the next UI.
Well I was about 8 UI's in when a co-worker updated to the recent changes. He was first having issues running maven builds getting an out of memory error and it failed on the same class from the gxt 3 blue theme. After upping his heap size we were able to get him passed that.
Then theirs dev mode. He can not run in dev mode at all. We see in the dev mode console :
Then as a result of that error the ui thread throws a null pointer exception.
The big question is why is this happening. I have now checked everything in besides personal settings like my properties file which only has my local db properties in it. He is completely up to date with me. So in comparing what he has vs. what I have we see absolutely no difference. Yet I'm able to run and he is not.
We now have 2 developers dead in the water and I mine as well be dead in the water because now I've stopped working to help fix their situation. We have been trying to find a fix for a full day now and I thought it would be good to get other ideas/suggestions.
Dev mode doesn't work, but can the user compile their app?
As you may be aware, it is very hard to debug a screenshot, especially one that doesn't actually contain the full stack trace. That said, I've most often seen this issue or issues like this where more than one copy of GWT is on the classpath, and they are different versions. Depending on how you are running the app, there can be several places in eclipse where this classpath might be improperly set up. Make sure everyone is using the same version of GWT, and that every GWT jar is the same version - an errant GWT 2.4.0 can break an otherwise properly set up GWT 2.5.1. Project classpath, run config classpath, WEB-INF/lib/ directory, etc all need to be checked.
Additionally, there are several cache directories that should be cleared like gwt-unitCache/. Make sure those are all removed so that there are no possible stale files.
As a last resort, check out the project and set it up again in eclipse. And consider sharing the project, or a sample project with the same issue, or opening a support ticket.
We were forced to revert back to before the conversion started. It was really strange, I could only run it successfully from my workspace(in which all of the conversions were made). When we checked out from SVN we could not run in devmode, we could build but it all of a sudden took a TON of memory. We had builds blowing up eclipse with the following memory settings: -vmargs -Xms1024m -Xmx2048m -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=64m.
We had to double everything in order for the builds to work. Another thing to note was even I can not check out a new workspace and run successfully. We did indeed have a second GWT instance get checked into the classpath after somoene upgraded the google eclipse plugin.
I went back into the branch we pulled the conversion stuff into and removed that second isntance and still get the same issue in new workspaces. I also made sure my good workspace vs. new workspaces were exactly the same as far as which files it had. Something in the configuration was causing it to blow up.
How do you clear gwt-unitCache? We cleared browser cache's, tried browsers we'd never used before, no luck. I would post the full log but that was as much as I had in dev mode console and the only error in the console was a Thread failing as a result of the errors from dev mode. I also don't currently have this version of the product checked out.
gwt-unitCache/ is a directory in your project that is generated by the compiler or dev mode to store some generated data so it doesn't need to be generated again.
I'm sorry to hear that you weren't able to resolve this, and without more information, I'm not sure I have any concrete advice for you. Based on the fact that it was a GWT class that failed to be generated ("deferred binding failed for com.google...UserAgentAsserter"), I still think this is more likely to be a gwt versioning issue.
If in changing things you manage to fix the first error but still have another, be sure to share that.