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 : 16249ad07e1bd519743964f872ac408654663541Bad - first bad commit : ba1b03ef09d81a7b305f222135bf4e6707ffb0feBad - 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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
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.
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.
There were two commits between the last known-good one and the first known-breaking one -- namely:
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.
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
And I am/was using custom banner/icons - I switched to your snowy one with same problem.
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.
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.
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'
Last edit: Gene C 2021-02-22
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 theMakefile
by usingmakedepend
, 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.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.
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.
Terrific - thank you :)