Details
Description
Tested with 0.4.15-dev-8565-gcca9acf with some unrelated changes applied (but I did not make any changes in CM). However I very doubt the situation could change in the latest 0.4.16-dev master.
After intensive usage of the system and multiple reboots (~ 30 - 40 during the last days), sometimes with bugcheck at booting/loading the Desktop, one or more registry hives became corrupted, so it is/they are not loadable by the Loader anymore and therefore OS becomes unbootable and needs reinstall, despite we state it can no longer corrupt like this, after CORE-6762 was fixed.
Before this occurred, I did not do anything unusual: just replaced some dlls from XP/2003 (umpnpmgr.dll) for testing purposes and added one value in a registry key of one service (umpnpmgr\Parameters\ServiceMain with Windows 2000/XP/2003 compatible value ServiceEntry/SvcEntry_PlugPlay, for MS umpnpmgr.dll testing). There were no any unusual factors those could lead to the corruption.
Just my guessing: maybe it's not a problem of the kernel anymore, but is a problem of registry hives (and therefore registry generation mechanism) instead? Then it could be related to CORE-13347, but that was already fixed too.
Screenshot and log are attached as well.
What the log says when "Importing binary hive failed" message is displayed:
(/srv/buildbot/worker_data/Build_GCCLin_x86/build/boot/freeldr/freeldr/ntldr/registry.c:137) err: CmCheckRegistry detected problems with the loaded flat hive (check code 16) |
(/srv/buildbot/worker_data/Build_GCCLin_x86/build/boot/freeldr/freeldr/ntldr/registry.c:497) err: Corrupted hive (despite recovery) 04FDC000 |
(sdk/lib/cmlib/cmheal.c:710) Self healing not possible |
(sdk/lib/cmlib/cmcheck.c:458) The key value signature is invalid |
(sdk/lib/cmlib/cmcheck.c:572) One of the values is corrupt and couldn't be repaired |
(sdk/lib/cmlib/cmheal.c:777) Self healing not possible |
(sdk/lib/cmlib/cmcheck.c:1068) Failed to repair the hive, the value list is corrupt |
(sdk/lib/cmlib/cmheal.c:430) Self healing not possible |
(sdk/lib/cmlib/cmcheck.c:1252) The key is corrupt (current cell 197184, parent cell 32) |
(sdk/lib/cmlib/cmcheck.c:1711) The hive is not valid (hive 0x01056C6C, check status code 31) |
(/srv/buildbot/worker_data/Build_GCCLin_x86/build/boot/freeldr/freeldr/ntldr/registry.c:137) err: CmCheckRegistry detected problems with the loaded flat hive (check code 31) |
(sdk/lib/cmlib/cmcheck.c:984) The cell size is above the threshold size (size 4294845836) |
(sdk/lib/cmlib/cmcheck.c:1239) THE ROOT CELL IS BROKEN |
(sdk/lib/cmlib/cmcheck.c:1711) The hive is not valid (hive 0x01056C6C, check status code 16) |
(/srv/buildbot/worker_data/Build_GCCLin_x86/build/boot/freeldr/freeldr/ntldr/registry.c:137) err: CmCheckRegistry detected problems with the loaded flat hive (check code 16) |
(/srv/buildbot/worker_data/Build_GCCLin_x86/build/boot/freeldr/freeldr/ntldr/registry.c:497) err: Corrupted hive (despite recovery) 05664000 |
(sdk/lib/cmlib/cmheal.c:710) Self healing not possible |
(sdk/lib/cmlib/cmcheck.c:458) The key value signature is invalid |
(sdk/lib/cmlib/cmcheck.c:572) One of the values is corrupt and couldn't be repaired |
(sdk/lib/cmlib/cmheal.c:777) Self healing not possible |
(sdk/lib/cmlib/cmcheck.c:1068) Failed to repair the hive, the value list is corrupt |
(sdk/lib/cmlib/cmheal.c:430) Self healing not possible |
(sdk/lib/cmlib/cmcheck.c:1252) The key is corrupt (current cell 197184, parent cell 32) |
(sdk/lib/cmlib/cmcheck.c:1711) The hive is not valid (hive 0x01056C6C, check status code 31) |
(/srv/buildbot/worker_data/Build_GCCLin_x86/build/boot/freeldr/freeldr/ntldr/registry.c:137) err: CmCheckRegistry detected problems with the loaded flat hive (check code 31) |
(sdk/lib/cmlib/cmcheck.c:984) The cell size is above the threshold size (size 4294845836) |
(sdk/lib/cmlib/cmcheck.c:1239) THE ROOT CELL IS BROKEN |
(sdk/lib/cmlib/cmcheck.c:1711) The hive is not valid (hive 0x01056C6C, check status code 16) |
(/srv/buildbot/worker_data/Build_GCCLin_x86/build/boot/freeldr/freeldr/ntldr/registry.c:137) err: CmCheckRegistry detected problems with the loaded flat hive (check code 16) |
(/srv/buildbot/worker_data/Build_GCCLin_x86/build/boot/freeldr/freeldr/ntldr/registry.c:497) err: Corrupted hive (despite recovery) 05CEC000 |
Attachments
Issue Links
- blocks
-
CORE-6762 Registry corruption after non-clean shutdown
- Resolved