Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-13241

Hive generation is unreliable

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 0.4.6
    • Tools
    • None

    Description

      Here's some output from a fresh build:

      [122/9525] Generating boot/bootdata/BCD
      Binary hive maker
      fopen() failed (errno 2)
      InfHostOpenFile(/home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/hivebcd_utf16.inf) failed
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/default
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/sam
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/security
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/software
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/system
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/BCD
        Done.
      [...]
      [29/30] Generating boot/bootdata/sam, boot/bootdata/default, boot/bootdata/security, boot/bootdata/software, boot/bootdata/system
      Binary hive maker
      RegDeleteKeyW(0x0x12098f0, '') is UNIMPLEMENTED!
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/default
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/sam
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/security
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/software
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/system
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/BCD
        Done.

      There are several bugs here:

      • hivebcd_utf16.inf is not found (reason: broken dependency in the CMake script)
      • mkhive does not see this as a reason to fail and happily generates completely empty hive files
      • We call mkhive in a completely broken manner. It will always generate all 6 binary hives. Specifying anything other than all 6 inf files on the command line will simply cause some of those hives to be empty. We need to invoke mkhive once, with all the inf files.

      Attachments

        Issue Links

          Activity

            People

              ThFabba ThFabba
              ThFabba ThFabba
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: