Posts: 16 | Thanked: 3 times | Joined on Jul 2008
#1
Was trying out Garnet palm VM, came to the conclusion it was still broke for anything i wanted to do. Tried to un-install it (garnet), but application manager said nothing was installed, nor available. tracked this down to dmesg log entry and inability to write to / as no-space-left.

df -h shows plenty of free space (37Mbytes) but error in dmesg looks to be in how flash and jffs2 work with blocks of erase operations :

Argh, No free space left for GC. nr_erasing_blocks is 0. nr_free_blocks is 0. (erasableeempty: yes, erasingempty: yes, erasependingempty: yes)
jffs2_reserve_space_gc of 196 bytes for garbage_collect_dnode failed: -28 /var/lib/hildon-application-manager.

Tried a reboot, switch-off & battery removed. No change in problem.

Tried apt-get clean to try and free space, but - "Could not open lock file /var/cache/apt/archives/lock - open (28 No space left on device). Unable to lock the download directory.

Seen various people discussing this Argh dmesg, but no resolutions. Looking for ideas - not even sure if a re-flash is going to resolve this.

ideas ?
suggestions ?


neil
 
Posts: 678 | Thanked: 197 times | Joined on Jul 2007 @ San Jose CA
#2
apt-get clean and autoclean

won't help?
 
TrueJournals's Avatar
Posts: 480 | Thanked: 378 times | Joined on Apr 2008 @ Chicago-ish
#3
The application manager keeps a lock on dpkg even when it's not really doing anything. Make sure you close it before attempting anything with apt-get (including clean). Also, make sure you're root before running apt-get clean. See if that helps fix anything.
__________________
Disclaimer: If a program I wrote doesn't work/breaks your tablet... It's not my fault
mcedit | Utility Calculators (WIP) | PyRDesktop
My Blog | Twitter
 
Posts: 16 | Thanked: 3 times | Joined on Jul 2008
#4
Nope, nothing works. Essentialy, from what i've read, i now have a read only internal flash. Can modify some files probably depends on flash block they reside in. Thought maybe if i could find a writeable init.d file i could erase something on boot. But going by inode values they are all on the same flash block (assuming one equates flash block and inode). Tried lots of files, any used during boot are read only ( all this is done as root).

How i got here was using garnet vm palm. Was having problems installing apps, so increased the ram on the vm to 64Mbytes, from the gui. Didn't realise this was in /home/user/.gvm and It was more space than i had. Somehow the file was created and gvm started using it. That was probably when it all went wrong.

Don't see a way out of this without access to the boot prompt before flash is mounted, serial port on the n800 may give that access but probably a long shot that i have access to the necessary pr-linux boot process.

Risk is that a re-flash will put the device into one of those infinite boot loops, or stall during boot. This may explain what is happening in these cases, flash nit modifiable - can't write image and some writeable system file deleted.

Currently i can us the n800, i'm writting this on it. But it's now a read only device.

I'll wait a bit longer before trying a reflash, sneaking suspicion this is going to be a terminal bug !
 
Posts: 345 | Thanked: 467 times | Joined on Nov 2007 @ Germany
#5
Originally Posted by neilj View Post
tracked this down to dmesg log entry and inability to write to / as no-space-left.

Argh, No free space left for GC. nr_erasing_blocks is 0. nr_free_blocks is 0. (erasableeempty: yes, erasingempty: yes, erasependingempty: yes)
jffs2_reserve_space_gc of 196 bytes for garbage_collect_dnode failed: -28 /var/lib/hildon-application-manager.
It looks like your device crashed several times while your were playing with the garnetvm.

The jffs2 file system needs some spare flash blocks to temporarily store things while cleaning up other things if memory space gets low (this cleanup is called garbage collection (GC)). It usually reserves some blocks for this.

The problem is: If the device actually starts using one of those spare blocks to make place at another location and while doing so crashes, then the newly used block is already in use and the old one is still in use. So both are in use now. If that happens several times, then you can run completely out of these spare blocks.

This imho means:
- I don't know/think there's a simple way to solve this on the running system as you e.g. can't install additional software to help clean this mess up
- A re-flash will solve this as it re-initializes the entire jffs2 file system

MoG
 

The Following User Says Thank You to Master of Gizmo For This Useful Post:
Posts: 16 | Thanked: 3 times | Joined on Jul 2008
#6
Done, back to normal - almost. Just got do all the fiddly bits of installing some specific apps and setting soft links up etc.

Agree that jffs2 used up its spare blocks, but no crash involved - least none that i was aware of. Seemed like normal operation, just a reboot once problem had been identified.

Glad nokia left in bullet proof reflash method.

Thanks for the feedback, Hope post is of use to others who get this rather serious problem.

Going to avoid gvm for now, only tried it again because my palm reset itself. Problems come in 3's - wonder what the last one is going to be ?!



neil
 
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 16:55.