Yesterday I had to cope with a seemingly DEAD iPod Touch after just trying to update on of my apps. App Store Icon displayed a new update but there was no actual update selectable Please Register or Log in to view images So I decided to try a few more times by restarting Mobile App Store - no update despite the icon still displaying one. Thus I thought rebooting my iPod might solve this little bug - but then: F*CK!!! Please Register or Log in to view images My iPod got stuck on the apple logo for hours!!! Please Register or Log in to view images iTunes even crashed / stopped recognizing the device when connected via USB Please Register or Log in to view images Here's the only solution (if not jailbroken): Get your iPod into DFU Mode by pressing and holding both keys for exactly 10 seconds (use a stop watch if you have to). Then release the upper key and keep holding the Home Button until iTunes prompts you with a message about the necessity of restoring your device. Here's an explanation for the (still unsolved) problem by DBMandrake: After running a very stable iPod Touch on 1.1.3 for quite some time complete with jailbroken apps, I decided it was time to give 2.0 and the official third party apps a go. At first I loved the new features [...], but then I started to notice all kinds of problems with crashes like most other people in this forum as soon as I had a few apps installed. Basically the thing was horribly unstable to the point of being unusable, and I did about 10 full restores in the first two weeks, just to keep the thing going, and experienced dozens of cases of being stuck on the apple boot screen. The crashes could be narrowed down into two types of crashes [...]. The first type [...] would take the form of either an app crashing back to the home screen when launched, or causing a total system freeze or a spontaneous reboot [...]. Usually when this would happen most large apps (hint: memory hungry apps) would fail to launch, good examples are super monkey ball, cromag rally and enigmo. Repeated attempts to launch these apps would fail and eventually the device would spontaneously reboot. In all cases, a full reboot of the device, (hold sleep button for 5 seconds, swipe to power off, then power on again) would allow the app to run again. The reviews of some apps on the app store are littered with complaints from people that the app crashes during launch - the irony is the app is NOT to blame, in all cases I have seen. The second type of crash is a lockup and/or spontaneous reboot during app installation or removal either through the built in appstore application or via syncing with itunes. More often than not this type of crash would render the device unbootable with you stuck at the apple logo [...]. [...] Ok here's the deal, with a bit of analysis the root cause of the problem is LOW MEMORY conditions that occur during the app install / un-install process. It seems to be a combination of increased system memory requirements of the 2.0 firmware in general [...] as well as what look like memory leaks (or at least poor coding) in both Springboard and mobile_installation_proxy. [...] In addition the emergency low memory handling of the system (maybe the kernel) seems to be broken in 2.0.x - once free memory gets below a certain point the system will hard freeze [...]. Ok, what is mobile_installation_proxy ? This is a program whose job it is to install and uninstall applications, basically, and did not exist in 1.1.x firmware. When an application is to be installed or removed either directly on the device or by syncing with itunes, this is the process that is launched to do it. Problem number one - sometimes, this processes memory usage will grow enormously - there is typically only 60MB ram free no additional apps are running and background mailcheck is disabled. mobile_installation_proxy's memory usage will often climb to reach or exceed this amount causing an extreme low memory condition which will cause the Springboard to try to kill off unnecessary processes, but if it can't find enough memory the device will either freeze or spontaneously reboot - the reboot in the middle of application install / un-install corrupts the application state, causing more trouble later on. Ok, what is Springboard ? This is the main application on an ipod touch / iphone which gives you your home screen, and manages the launching of applications, provides touchscreen input to applications, and also does additional memory management by asking applications to reduce their memory usage if free memory is tight, and will even go so far as to quit background processes to free up memory when memory gets really tight. Problem number two - sometimes Springboard starts allocating large amounts (over 70-80MB) of memory itself causing a low memory condition - and it cant free up memory because it can't ask itself to quit! At least, not without rendering the device unusable, because you lose the ability to use the touchscreen...... This typically happens when Springboard is "regenerating the application map" which basically means it is looking at newly installed applications to find out details about them and display them on the home screen. This regenerating happens both immediately after application install, and during bootup (before the lock screen) if it wasn't previously finished. BIG PROBLEM. What happens if the device crashes if you are half way through installing an app ? The answer is that when you try to boot up again Springboard starts regenerating the application map before you are presented with the lock screen - it looks like nothing is happening, but it is. Corrupt applications can cause Springboard to crash during this phase which means you are stuck in an INFINITE LOOP of rebooting showing the Apple logo, which is what many people have experienced. Problem number 3 - if you have a LOT of applications installed, and just one of them gets corrupted during a crash, when the device reboots, Springboard will start rebuilding the application maps, but this can take a LONG time, and there is a TIME LIMIT on how long Springboard is allowed to run in this state! A watchdog process waits for Springboard to respond during bootup but because Springboard is busy regenerating the application map it doesn't respond. If it doesn't respond in a certain amount of time (approx 5 minutes) the watchdog will KILL Springboard, thus not only preventing it from finishing the job and letting you get to the lock screen, but possibly further corrupting data, and causing the device to freeze, as Springboard is an essential system process. This is the reason why the system becomes prone to getting stuck on the Apple screen after just a single application becomes corrupted, if you have MORE than a certain number of applications installed. [...] I don't endorse or encourage jailbreaking of firmware, but in this instance it has allowed me to gather invaluable data on the problem, and I would stress that the crashes that I've been chasing occur equally on standard and jailbroken firmware. In particular ssh has allowed me to prove one hypothesis - when the device gets stuck at the Apple logo after an app is corrupted, and is in an unrecoverable state that requires yet another restore, if I quickly ssh in as soon as I can during the bootup phase, and delete all the Appstore applications from /var/mobile/Applications the device will almost immediately spring to life and has been "saved" from requiring another restore - this proves that Springboard is getting bogged down scanning the applications and once they are removed it will boot normally again and the apps can be reinstalled. WORKAROUNDS AND RECOMMENDATIONS The biggest problems here are (a) too many apps installed preventing bootup recovery once an app gets corrupted, and (b) low memory situations being encountered during app install / uninstall causing the corruption in the first place. 1) Don't install or update Apps using the built in Appstore application on the ipod/iphone. For reasons not entirely clear this is a very hit and miss proposition and there is a VERY high chance that you will get a freeze or a crash from doing this [...], always sync apps across from itunes. 2) Free up as much memory as possible BEFORE syncing applications with itunes, and this applies both to installing and un-installing applications. The best way to do this is disable MobileMail from running in the background. If you have automatic message checking of any kind enabled MobileMail launches at bootup and runs in the background ALL the time, consuming approximately 14MB of ram, and this is often the straw that broke the camels back when memory gets tight. To do so, disable PUSH, and change Fetch new Data to Manually, then either do a full reboot (sleep button for 5 seconds then swipe to turn off, then press to turn on again) OR launch mobile mail, wait for it's mail check to finish, then hold down the home button for 5 seconds to do a forced quit. It's imperative that automatic checking of mail is disabled, or it will immediately launch in the background again. 3) As much as it pains me to say, having downloaded over 30+ apps, if you want your ipod/iphone to be stable, until Apple fixes this issue, install as few apps as you possibly can - [...] keep it under 20 at any one time, [...] makes a big difference, and means that even if you do get a crash during app installation it will usually recover. If you have lots of apps installed it will NOT recover by itself.[/I] My opinion: This is so f**cking typical for Apple! They've fallen onto the very same level with Microsoft: Testing unfinished and unstable software on end users!!! Please Register or Log in to view images The biggest JOKE of all: Unlucky Developers of actually good apps get angry/bad reviews because of (system) crashes for which Apple is the one to blame!!! What do you think?