[maemo-developers] Continuous reboot problem with the N770 hacker edition

From: Frantisek Dufka dufkaf at seznam.cz
Date: Thu Apr 26 18:10:18 EEST 2007
Eero Tamminen wrote:

> That shouldn't happen. 

Happened to me with N770 and IT2006. Just one solid hangup while web 
browsing, watchdog reboot and I had infinite reboot loop.

Also I have lost some gconf preferences more times when device rebooted 
randomly. Missing preference may cause crash for some system application 
that expects some setting to be always present.

> JFFS2 keeps the internal filesystem in
> consistent state although the filesystem hadn't be properly
> unmounted (unlike the VFAT on MMC cards). 

Yes that is not a problem.

> Some individual files
> could get only partially written, but all applications should
> be doing such writes safely (write to temp file and rename once
> writing is finished).

This is the problem. It is not common at all to write to files in such 
way. In case you want to apppend some data to existing file it is not 
optimal to create new temporary file, copy all data and add few bytes. 
You seriously can't expect people writing code in such way.

I still think this watchdog thing is another legacy we have from Nokia 
as a phone company. It makes perfect sense for dumb phone. It makes less 
   sense for computer. Yes when device locks up you need a way to reset 
it. That is why you have reset button on computer and also reset hole on 
every PDA. I know it is internet tablet not computer or PDA but also 
Nokia should know that *this is not a phone* ;-)

With reset hole one can reset device when (s)he wants. Watchdog may not 
make things worse when device locks up solid (i.e. kernel bug or 
feature) but rebooting device when some process dies of when things take 
too long can make more damage than benefit. I know this is hard to 
detect so my solution is to provide reset hole and do not try to guess. 
User probably can notice this situation and act accordingly.

Frantisek

More information about the maemo-developers mailing list