During a factory reset (operation which unmounts the file system and wipes all user data) Firefox.exe crashes when running. Firefox needs to gracefully handle unmounting of the file system with either a graceful shutdown, or handling the error when it occurs without crashing. Failure can be simulated by installing Firefox to a USB key, and removing the USB key while Firefox is actively running. Alternatively install Firefox, and hit the factory reset button in the "Programs" settings page.
How do other apps handle this, if the device removal happens while they're running? I don't know that we can do much about actual physical device removal, but for factory reset, do we get some sort of notification that factory reset was initiated and get a chance to clean up?
We're working to notify applications and close them before a factory reset. Even without the notification, shouldn't Firefox gracefully handle the loss of the file system, instead of crashing?
It depends on why it's crashing; haven't looked in the debugger yet. But if, say, a portion of some dll is paged out, and the backing store is no longer available, the kernel would have no option but to kill/crash the process at that point, no? Unless we know that all our code is resident in memory, I don't see how we can shutdown even semi-gracefully.
8 years ago
technically at least w/ w32 the kernel sends a SEH for the case of the backing store being missing for dlls. In theory if enough of your app+seh is available you can do last ditch effort to save some work and terminate. we do have a couple of crashes in bmo which point to the right SE for that case
WinCE/Windows Mobile support has been removed from the main build system, Spidermonkey, mobile installer, in-app updater and so on (see bug 614720, bug 554087 and all their dependants). Until such point where MS decide to release a Windows Phone 7 NDK and the decision is made to port to that platform, this is WONTFIX. Filter bugmail on WinCEMassWONTFIX.