Menu

FYI - git master no longer boots

Gene C
2021-02-22
2021-02-22
  • Gene C

    Gene C - 2021-02-22

    Hi Rod:

    git master as of around Feb 20 broke 2 test machines for me.
    one older pc and one intel NUC 10i5.

    Both run arch linux

    Symptom is screen is painted dark as if about to display the boot banner - but then it just hangs - no icons are presented and no progress is made at all.

    git hash info.

    Good - Last known :    16249ad07e1bd519743964f872ac408654663541
    Bad  -  first bad commit  :  ba1b03ef09d81a7b305f222135bf4e6707ffb0fe
    Bad  - latest commit : 0ca41fa2cce80807b09e722a702a271d2122cc41
    

    reverting to Feb 19 commit or earlier and all works as usual.

    I noted the comment about disabled stanzas - even though there were no volume labels same as any real label - i deleted all disabled stanzas anyway - and it made no difference.

    thank you for all you do - very much appreciated for sure.

     
  • Gene C

    Gene C - 2021-02-22

    for clarity (was a long night tracking this down lol) - by 'first bad commit' i meant first that I noticed - the breakage may well have been a prior commit - e.g. [1] looks like a possible candidate.

    Also I only tested this on 2 machines - i suspect it fails on others as well. If its relevant these both use on-board Intel graphics.

    Am happy to test - easiest for me is to pull and build latest git master.

    [1]  2c555d2898c84c09ac027b3ca7ff6d404acda8f6
            Updated LodePNG
    
     
  • Roderick W. Smith

    There were two commits between the last known-good one and the first known-breaking one -- namely:

    • 12d51ac9763a6c9bb729774f93adf82cd457d77d -- Added logging function
    • 2c555d2898c84c09ac027b3ca7ff6d404acda8f6 -- Updated LodePNG

    If you could please test both of them, I'd appreciate it. Each commit in its own way is a possibility for what's causing the breakage, but they're completely unrelated code changes, so it would be helpful to know which one is causing the problem.

    Also, if you can provide information on the systems that are breaking (make, model, approximate ages of computers) and anything relevant about their configurations (such as whether you're using custom banners or icons if the failures are associated with the LodePNG upgrade), that would be helpful.

     
  • Gene C

    Gene C - 2021-02-22

    Machine one
    intel NUC - purhcased Jan 2021
    Intel(R) Core(TM) i5-10210U
    VGA compatible controller: Intel Corporation UHD Graphics (rev 02) (prog-if 00 [VGA controller])
    firmware is latest : 11/18/2020

    Machine 2
    Lenovo laptop ThinkPad W540
    Intel(R) Core(TM) i7-4800MQ
    VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06) (prog-if 00 [VGA controller])
    firmware is latest 11/24/2016 - so I'd guess machine was 2014 or so.

    Machine 1 is in use at moment but i'll test on #2 with git revert and report back

     

    Last edit: Gene C 2021-02-22
  • Gene C

    Gene C - 2021-02-22

    And I am/was using custom banner/icons - I switched to your snowy one with same problem.

     
  • Gene C

    Gene C - 2021-02-22

    I reverted lodePNG and problem remains. This kind of suggests the logging change may be the culprit. However, I wasn't able to test this as when i try revert the logging commit I get below.

    Building as of the prior commit (16249ad07e1bd519743964f872ac408654663541) is definitely working fine.

    % git revert 12d51ac9763a6c9bb729774f93adf82cd457d77d
    Auto-merging refind/mystrings.c
    Auto-merging refind/menu.c
    Auto-merging refind/main.c
    Removing refind/log.h
    Removing refind/log.c
    Auto-merging refind/launch_efi.c
    CONFLICT (content): Merge conflict in refind/launch_efi.c
    Auto-merging refind/global.h
    Auto-merging refind/config.c
    CONFLICT (content): Merge conflict in refind/config.c
    Auto-merging refind.conf-sample
    Auto-merging include/version.h
    CONFLICT (content): Merge conflict in include/version.h
    Auto-merging docs/refind/configfile.html
    Auto-merging NEWS.txt
    CONFLICT (content): Merge conflict in NEWS.txt
    error: could not revert 12d51ac... Added initial logging function
    
     
  • Gene C

    Gene C - 2021-02-22

    Since we know 16249ad07e1 works and the next 2 commits are 12d51ac9763 (logging) followed by 2c555d2898c8 (lodePNG) - instead of reverting and dealing with conflicts, I will simply build it as of 12c555d2898c8 - this should fail as the first bad commit - I assume.

    will report back.

     
  • Gene C

    Gene C - 2021-02-22

    There is NO problem with refind code. Sorry about that - its a build issue.

    The auto builds were doing make; make fs after git fetch
    Those builds were problematic.

    My manual tests are all good - between each build i do

    make clean; make ; make fs
    

    Without the 'make clean' something went awry ... sorry for this..

    To confirm, I built and checked sequentially as follows (even the news change :) ) - all builds are good -no problems at all on machine 2- again, my apologies for assuming that the Makefile deps would rebuild as needed without a 'make clean'

    Good - 0.13.0.2 16249ad07e1bd5 (Add Snowy themes file)
    Good - 0.13.0.4 12d51ac9763a6c (Added initial logging function)
    Good - 0.13.0.5 2c555d2898c84c (Updated LodePNG library to version 20201017)
    Good - 0.13.0.6 ba1b03ef09d81a (Record EFI-based reboot option in PreviousBoot variable)
    Good - 0.13.0.6 746bb3c8f3fc8b (Implement support for setting systemd's LoaderDevicePartUUID EFI variable)
    Good - 0.13.0.6 4a83ba7c91c259 (Remove stray debugging/testing code)
    Good - 0.13.0.6 19a6ad1cadb84f (Formatting changes only, mainly to get more consistent indentation)
    Good - 0.13.0.6 0ca41fa2cce808 (Update NEWS.txt for recent merge from nl6720)
    
     

    Last edit: Gene C 2021-02-22
  • Roderick W. Smith

    OK, thanks for following up on this. The Makefile dependency checking is imperfect at the moment, since they don't include hard-coded dependencies on the header files. It's theoretically possible to build those into the Makefile by using makedepend, but that doesn't work very well in practice, I believe because rEFInd supports three different build methods (GNU-EFI, TianoCore with a custom build process, and TianoCore via its stock (weird, not-Unix-standard) build process). I never figured out how to get the header file dependencies to work properly, given this mixed setup. Getting the Makefiles to work at all was quite a headache! Maybe I'll take another look at that in the future.

     
  • Gene C

    Gene C - 2021-02-22

    Oh no worries at all - build is fast - i made an assumption. The make stuff here looks quite complex - id say not worth the bother for this - if it isn't already there, just a comment somewhere saying always do make clean would be better use of time than futzing with the makefiles - in my view. Again sorry for noise on this.

    Separate topic - Not sure how hard this would be but one convenience thing, would be support for icons_dir for manual stanzas. The icon variable there must be full path now.

    It would be more consistent with auto discovered treatment and be a little nicer for theming.

    Even adding a separate prefix like 'icons_dir_manual' for all manual stanzas, so that the icon could now just be a filename would be nice.

    Anyway, thank you again for all your work - refind is awesome.

     
  • Roderick W. Smith

    That's a good suggestion. I've added a note to the top of BUILDING.txt, where it's hard to miss.

    I'll take a look at icon specification in manual boot stanzas. It's been a long time since I wrote that code, so I don't know how easy or hard that would be.

     
  • Gene C

    Gene C - 2021-02-22

    Terrific - thank you :)

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.