Vaadin 7: Tablets randomly restart.

Hello everyone,

I’m running into a huge problem when accessing my Vaadin 7 application through an android tablet (standard android browser). My application starts up normal and also runs properly but sometimes my tablet just randomly restarts (In my last test one tablet “survived” for about a day). Something like this never happened when i used my Vaadin 6 app on them.

My app setup:

  • UI displaying Information
  • 1 minute thread updating a label + executing a sql-update statement
  • 1 minute polling to update ui using 7.1.0.beta1 standard polling
  • Tablets stay active using external KeepScreen app

In my Vaadin 6 version i use the refresher addon instead of the thread + polling.

I hope someone can point me in the right direction because i currently have no idea where the problem could come from or if it maybe is a Bug in Vaadin 7.

Thanks in advance,
M R

PS: Currently the Tablet just restarts randomly but when i first deployed my Vaadin 7 app on my Tomcat 7 and loaded it up on one of my Tablets the Browser got unresponsive and then restarted. This behaviour didn’t always happen (Happened pretty much every time i first loaded the app on a new Tablet but then seem to only happen from occasionaly to never again), Now I never saw it restarting right after loading the app but like i said sometimes it still restarts after it was running for a while.

This problem is getting really annoying because it means that someone has to always be free to start the browser + app when the client stopped responding although this project was meant to be one that’s maintaining itself (Reloading page when the server restarts).

Another thing that’s really weird to me is that most of my calculations run on the server side instead of the client (except of the polling + occasional ui updates from a thread) so it can’t really happen because the client has to do too much calculations. Also the tablets don’t turn off on the same time so I also don’t suspect that there’s something up with the server like i originally thought.

I know it’s not a common problem and maybe i’m the only one having it but please does someone has the slightest idea where it could come from?

Thanks in advance,
M R

I might be asking the obvious here, but are you sure the tablet hardware isn’t faulty? In any case, a random restart of a tablet device after one day (!) of uptime sounds like a very difficult case to test for.

If not a hardware issue, this is a bug in the browser on the tablet, even if a Vaadin application manages to trigger it somehow.
What are the versions of the tablet OS and browser?

The issue might even be more esoteric than that - for example, some hardware accelerated rendering feature in the Android browser might (eventually, after extended use) cause a fault in a third-party GPU driver (or even the GPU hardware itself), triggering anything from a kernel error to CPU lock, causing the device firmware to force a restart.

In any case, exact details of hardware and software used would be appreciated.

Edit: another problem might be a memory leak (or “runaway allocation loop”) - but that should cause the browser app to crash, not the entire device to restart. Unless I’ve misunderstood what you meant by “tablet randomly restarts”… :slight_smile:

First of all, thank you for your replies.

Here are the “specs” of the tablets:

Motorola Xoom MZ604
Android 3.2
Browser 3.2-1001
Kernel (starts with) 2.6.36.3-000…

I don’t really think it’s a hardware problem because as i said it works fine with a Vaadin 6 version of the App.

Also the thing with the one day was just an example. I had cases where it happened earlier and some where it happened later.

Yes the entire tablet restarted not just the browser or the app crashes.

I also checked my Tomcat logs but didn’t find anything suspicous related to this app.

It happened to me again at the start of this weekend after i left the office. This way i didn’t notice until just now.
I revert the current running version back to Vaadin 6 for now because i just can’t reload the page every time it crashes. The problem with that version is that it doesn’T handle the tablet’s autozoom properly.

Is there any problem with the android version i’m using?

Does someone have an idea whether I can even do anything against this problem?

Web applications shouldn’t make your computer/tablet restart regardless of what framework or bugs that web application contains, so you’ll probably have more chances of finding a solution on an android related forum.

Kristian, you’re probably right but what i don’t really understand is that this mainly happens when using Vaadin 7 with the built-in polling and not when using Vaadin 6 with the Refresher-Addon. (When i find the time i will try V7 + Push and see if that changes anything)
Could it be that the type of request used in the new polling can cause some weird behavior in a browser or should this, like everything else in this framework, not “touch” the browser in any way?

As Kristian suggested, a browser application may not restart the device. If it is happening, it could be due to one of the following:
(1) The browser itself has a bug that is getting triggered only when the V7 application is running.
(2) The device has a faulty memory or problems in the address decoding circuit. This can cause overwriting of certain critical portion in the memory that is affecting the device when the V7 application is running. (You may have to use some utility to check the memory. A simple read/write may succeed but a more complex memory test like a ‘walk-through’ test may fail).

Update: I rewrote my App to use Push instead of Poll and until now (2 days after deploying) none of the tablets showed any weird behavior. I’m not sure if it was really the Push which fixed it (i hope) or if there was really some kind of memory problem which fixed itself over time.