Re: Crash in 2.25.4
Le mardi 30 mai 2023 à 22:40 +0200, Jean Abou Samra a écrit : > Le dimanche 28 mai 2023 à 14:37 +0200, Jean Abou Samra a écrit : > > > > One thing I will try when I can is building in a Kubuntu VM. So far, I used > > a VM with the default Ubuntu variant, with GNOME. That would normally not > > matter, but since the desktop environments are > > different, maybe Kubuntu has different font configuration settings. > > > Ha! It reproduces in a fresh Kubuntu VM. > > I'll create a ticket now that we know it's not just a problem on your system. https://gitlab.com/lilypond/lilypond/-/issues/6620 signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
Le dimanche 28 mai 2023 à 14:37 +0200, Jean Abou Samra a écrit : > > One thing I will try when I can is building in a Kubuntu VM. So far, I used a > VM with the default Ubuntu variant, with GNOME. That would normally not > matter, but since the desktop environments are > different, maybe Kubuntu has different font configuration settings. Ha! It reproduces in a fresh Kubuntu VM. I'll create a ticket now that we know it's not just a problem on your system. signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
> Le 28 mai 2023 à 05:29, Colin Campbell a écrit : > > Just in case it might help, I uninstalled the font, and reran the test file, > successfully. Logs attached to compare against failed run. These logs sound like I was wrong to blame Pango. Apparently, the introduction of emoji configuration happens when LilyPond applies the system font configuration to the font pattern. One thing I will try when I can is building in a Kubuntu VM. So far, I used a VM with the default Ubuntu variant, with GNOME. That would normally not matter, but since the desktop environments are different, maybe Kubuntu has different font configuration settings. > I have no idea where that font file came from, as I have no use at all for > coloured emojis. I see it was provided by Google, which makes me wonder about > an update to Vivaldi or Chromium. Anyway, it's late, and I've taken topo much > of your time already. Helping me understand a bug I've introduced is not a waste of my time.
Re: Crash in 2.25.4
On 2023-05-27 20:36, Colin Campbell wrote: Well, colour me embarrassed! First, I had applied your patches using git cola, and received a confirmation screen saying the patches were applied. Being suspicious, I had a look at the actual files with Kate, and found no patches had actually been applied to the source. I applied your FCPatternPrint patch, rebuilt lilypond, and re-ran the test. The job failed, and logs are appended. Also, and I blame long hours at the lathe, turning scrap wood into bowls, I misread the icon in synaptic: libpango was available, not installed. I blushed, and installed it before this last round of rebuilding lilypond. Just in case it might help, I uninstalled the font, and reran the test file, successfully. Logs attached to compare against failed run. I have no idea where that font file came from, as I have no use at all for coloured emojis. I see it was provided by Google, which makes me wonder about an update to Vivaldi or Chromium. Anyway, it's late, and I've taken topo much of your time already. Cheers, Colin Pattern has 15 elts (size 16) family: "LilyPond Serif"(s) "Arimo"(w) "Noto Sans"(w) "Noto Sans CJK SC"(w) "Noto Sans Arabic"(w) "Noto Sans Thai"(w) "Noto Sans Devanagari"(w) "Noto Sans Tamil"(w) "Noto Sans Hebrew"(w) "Noto Sans Bengali"(w) "Noto Sans Telugu"(w) "Noto Sans Kannada"(w) "Noto Sans Malayalam"(w) "Noto Sans Gurmukhi"(w) "Noto Sans Gujarati"(w) "Noto Sans Oriya"(w) "Noto Sans Armenian"(w) "Noto Sans Georgian"(w) "Noto Sans Khmer"(w) "Noto Sans Lao"(w) "Noto Sans Ethiopic"(w) "Noto Sans Myanmar"(w) "Noto Sans Sinhala"(w) "Jomolhari"(w) "Noto Sans Coptic"(w) "Noto Sans Deseret"(w) "Noto Sans TaiTham"(w) "Noto Sans CanadianAboriginal"(w) "Noto Sans Yi"(w) "Noto Sans Tifinagh"(w) "Noto Sans Adlam"(w) "Noto Sans Cherokee"(w) "Noto Sans Chakma"(w) "Noto Sans Osage"(w) "Noto Color Emoji"(w) "Noto Sans Symbols"(w) "Noto Sans Symbols2"(w) "DejaVu Sans"(w) "DejaVu LGC Sans"(w) "DejaVu LGC Sans"(w) "Noto Sans"(w) "DejaVu Sans"(w) "Verdana"(w) "Arial"(w) "Albany AMT"(w) "Luxi Sans"(w) "Nimbus Sans L"(w) "Nimbus Sans"(w) "Nimbus Sans"(w) "Helvetica"(w) "Nimbus Sans"(w) "Nimbus Sans L"(w) "Lucida Sans Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w) "URW Gothic"(w) "Nimbus Sans"(w) "Nimbus Sans Narrow"(w) "Loma"(w) "Waree"(w) "Garuda"(w) "Umpush"(w) "Laksaman"(w) "Noto Sans CJK JP"(w) "Noto Sans CJK KR"(w) "Noto Sans CJK SC"(w) "Noto Sans CJK TC"(w) "Noto Sans CJK HK"(w) "Lohit Devanagari"(w) "Noto Sans Sinhala"(w) "Droid Sans Fallback"(w) "Khmer OS"(w) "Nachlieli"(w) "Lucida Sans Unicode"(w) "Yudit Unicode"(w) "Kerkis"(w) "ArmNet Helvetica"(w) "Artsounk"(w) "BPG UTF8 M"(w) "Waree"(w) "Loma"(w) "Garuda"(w) "Umpush"(w) "Saysettha Unicode"(w) "JG Lao Old Arial"(w) "GF Zemen Unicode"(w) "Pigiarniq"(w) "B Davat"(w) "B Compset"(w) "Kacst-Qr"(w) "Urdu Nastaliq Unicode"(w) "Raghindi"(w) "Mukti Narrow"(w) "padmaa"(w) "Hapax Berbère"(w) "MS Gothic"(w) "UmePlus P Gothic"(w) "Microsoft YaHei"(w) "Microsoft JhengHei"(w) "WenQuanYi Zen Hei"(w) "WenQuanYi Bitmap Song"(w) "AR PL ShanHeiSun Uni"(w) "AR PL New Sung"(w) "MgOpen Moderna"(w) "MgOpen Modata"(w) "MgOpen Cosmetica"(w) "VL Gothic"(w) "IPAMonaGothic"(w) "IPAGothic"(w) "Sazanami Gothic"(w) "Kochi Gothic"(w) "AR PL KaitiM GB"(w) "AR PL KaitiM Big5"(w) "AR PL ShanHeiSun Uni"(w) "AR PL SungtiL GB"(w) "AR PL Mingti2L Big5"(w) "MS ゴシック"(w) "ZYSong18030"(w) "NanumGothic"(w) "UnDotum"(w) "Baekmuk Dotum"(w) "Baekmuk Gulim"(w) "KacstQura"(w) "Lohit Bengali"(w) "Lohit Gujarati"(w) "Lohit Hindi"(w) "Lohit Marathi"(w) "Lohit Maithili"(w) "Lohit Kashmiri"(w) "Lohit Konkani"(w) "Lohit Nepali"(w) "Lohit Sindhi"(w) "Lohit Punjabi"(w) "Lohit Tamil"(w) "Meera"(w) "Lohit Malayalam"(w) "Lohit Kannada"(w) "Lohit Telugu"(w) "Lohit Oriya"(w) "LKLUG"(w) "FreeSans"(w) "Arial Unicode MS"(w) "Arial Unicode"(w) "Code2000"(w) "Code2001"(w) "sans-serif"(w) "Roya"(w) "Koodak"(w) "Terafik"(w) "SimHei"(w) "Noto Sans CJK SC"(w) "黑体"(w) "Noto Sans CJK SC"(w) "sans-serif"(w) "sans-serif"(w) "ITC Avant Garde Gothic"(w) "URW Gothic"(w) "sans-serif"(w) "sans-serif"(w) "Helvetica"(w) "Helvetica Narrow"(w) "Nimbus Sans Narrow"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) slant: 0(i)(s) weight: 80(f)(s) width: 100(i)(s) size: 3.86619(f)(s) pixelsize: 64.4365(f)(s) antialias: True(w) hintstyle: 1(i)(w) dpi: 1200(f)(s) rgba: 1(i)(w) lang: "en-us"(s) "en"(w) lcdfilter: 1(i)(w) prgname: "lilypond"(s) variable: DontCare(s) pangoversion: 15012(i)(s) Pattern has 16 elts (size 32) family: "C059"(s) "Century SchoolBook URW"(s) "C059"(s) "Century Schoolbook L"(s) "C059"(s) "TeX Gyre Schola"(s) "C059"(s) "DejaVu Serif"(s) "DejaVu LGC Serif"(s) "Noto Serif CJK JP"(s) "Noto Serif JP"(s) "LilyPond Serif"(s) "Arimo"(w) "Noto Sans"(w) "Noto Sans CJK SC"(w) "Noto Sans Arabic"(w) "Noto Sans Thai"(w) "Noto Sans Devanagari"(w) "Noto Sans Tamil"(w) "Noto Sans Hebrew"(w) "Noto Sans Bengali"(w)
Re: Crash in 2.25.4
On 2023-05-27 16:45, Jean Abou Samra wrote: Le dimanche 28 mai 2023 à 00:38 +0200, Jean Abou Samra a écrit : Le samedi 27 mai 2023 à 16:31 -0600, Colin Campbell a écrit : I generally keep my system current, and libpango is at 1.0-0 already. The "1.0" version number denotes an ABI compatibility promise as far as I understand; current versions of Pango are actually around 1.50. (1.0.0 is from around 2002.) So, just to confirm, "sudo apt upgrade libpango1.0-0" said Pango was already the latest version? Oh, and also check "sudo apt upgrade fontconfig" Well, colour me embarrassed! First, I had applied your patches using git cola, and received a confirmation screen saying the patches were applied. Being suspicious, I had a look at the actual files with Kate, and found no patches had actually been applied to the source. I applied your FCPatternPrint patch, rebuilt lilypond, and re-ran the test. The job failed, and logs are appended. Also, and I blame long hours at the lathe, turning scrap wood into bowls, I misread the icon in synaptic: libpango was available, not installed. I blushed, and installed it before this last round of rebuilding lilypond. Pattern has 15 elts (size 16) family: "LilyPond Serif"(s) "Arimo"(w) "Noto Sans"(w) "Noto Sans CJK SC"(w) "Noto Sans Arabic"(w) "Noto Sans Thai"(w) "Noto Sans Devanagari"(w) "Noto Sans Tamil"(w) "Noto Sans Hebrew"(w) "Noto Sans Bengali"(w) "Noto Sans Telugu"(w) "Noto Sans Kannada"(w) "Noto Sans Malayalam"(w) "Noto Sans Gurmukhi"(w) "Noto Sans Gujarati"(w) "Noto Sans Oriya"(w) "Noto Sans Armenian"(w) "Noto Sans Georgian"(w) "Noto Sans Khmer"(w) "Noto Sans Lao"(w) "Noto Sans Ethiopic"(w) "Noto Sans Myanmar"(w) "Noto Sans Sinhala"(w) "Jomolhari"(w) "Noto Sans Coptic"(w) "Noto Sans Deseret"(w) "Noto Sans TaiTham"(w) "Noto Sans CanadianAboriginal"(w) "Noto Sans Yi"(w) "Noto Sans Tifinagh"(w) "Noto Sans Adlam"(w) "Noto Sans Cherokee"(w) "Noto Sans Chakma"(w) "Noto Sans Osage"(w) "Noto Color Emoji"(w) "Noto Sans Symbols"(w) "Noto Sans Symbols2"(w) "DejaVu Sans"(w) "DejaVu LGC Sans"(w) "DejaVu LGC Sans"(w) "Noto Sans"(w) "DejaVu Sans"(w) "Verdana"(w) "Arial"(w) "Albany AMT"(w) "Luxi Sans"(w) "Nimbus Sans L"(w) "Nimbus Sans"(w) "Nimbus Sans"(w) "Helvetica"(w) "Nimbus Sans"(w) "Nimbus Sans L"(w) "Lucida Sans Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w) "URW Gothic"(w) "Nimbus Sans"(w) "Nimbus Sans Narrow"(w) "Loma"(w) "Waree"(w) "Garuda"(w) "Umpush"(w) "Laksaman"(w) "Noto Sans CJK JP"(w) "Noto Sans CJK KR"(w) "Noto Sans CJK SC"(w) "Noto Sans CJK TC"(w) "Noto Sans CJK HK"(w) "Lohit Devanagari"(w) "Noto Sans Sinhala"(w) "Droid Sans Fallback"(w) "Khmer OS"(w) "Nachlieli"(w) "Lucida Sans Unicode"(w) "Yudit Unicode"(w) "Kerkis"(w) "ArmNet Helvetica"(w) "Artsounk"(w) "BPG UTF8 M"(w) "Waree"(w) "Loma"(w) "Garuda"(w) "Umpush"(w) "Saysettha Unicode"(w) "JG Lao Old Arial"(w) "GF Zemen Unicode"(w) "Pigiarniq"(w) "B Davat"(w) "B Compset"(w) "Kacst-Qr"(w) "Urdu Nastaliq Unicode"(w) "Raghindi"(w) "Mukti Narrow"(w) "padmaa"(w) "Hapax Berbère"(w) "MS Gothic"(w) "UmePlus P Gothic"(w) "Microsoft YaHei"(w) "Microsoft JhengHei"(w) "WenQuanYi Zen Hei"(w) "WenQuanYi Bitmap Song"(w) "AR PL ShanHeiSun Uni"(w) "AR PL New Sung"(w) "MgOpen Moderna"(w) "MgOpen Modata"(w) "MgOpen Cosmetica"(w) "VL Gothic"(w) "IPAMonaGothic"(w) "IPAGothic"(w) "Sazanami Gothic"(w) "Kochi Gothic"(w) "AR PL KaitiM GB"(w) "AR PL KaitiM Big5"(w) "AR PL ShanHeiSun Uni"(w) "AR PL SungtiL GB"(w) "AR PL Mingti2L Big5"(w) "MS ゴシック"(w) "ZYSong18030"(w) "NanumGothic"(w) "UnDotum"(w) "Baekmuk Dotum"(w) "Baekmuk Gulim"(w) "KacstQura"(w) "Lohit Bengali"(w) "Lohit Gujarati"(w) "Lohit Hindi"(w) "Lohit Marathi"(w) "Lohit Maithili"(w) "Lohit Kashmiri"(w) "Lohit Konkani"(w) "Lohit Nepali"(w) "Lohit Sindhi"(w) "Lohit Punjabi"(w) "Lohit Tamil"(w) "Meera"(w) "Lohit Malayalam"(w) "Lohit Kannada"(w) "Lohit Telugu"(w) "Lohit Oriya"(w) "LKLUG"(w) "FreeSans"(w) "Arial Unicode MS"(w) "Arial Unicode"(w) "Code2000"(w) "Code2001"(w) "sans-serif"(w) "Roya"(w) "Koodak"(w) "Terafik"(w) "SimHei"(w) "Noto Sans CJK SC"(w) "黑体"(w) "Noto Sans CJK SC"(w) "sans-serif"(w) "sans-serif"(w) "ITC Avant Garde Gothic"(w) "URW Gothic"(w) "sans-serif"(w) "sans-serif"(w) "Helvetica"(w) "Helvetica Narrow"(w) "Nimbus Sans Narrow"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) slant: 0(i)(s) weight: 80(f)(s) width: 100(i)(s) size: 3.86619(f)(s) pixelsize: 64.4365(f)(s) antialias: True(w) hintstyle: 1(i)(w) dpi: 1200(f)(s) rgba: 1(i)(w) lang: "en-us"(s) "en"(w) lcdfilter: 1(i)(w) prgname: "lilypond"(s) variable: DontCare(s) pangoversion: 15012(i)(s) Pattern has 16 elts (size 32) family: "C059"(s) "Century SchoolBook URW"(s) "C059"(s) "Century Schoolbook L"(s) "C059"(s) "TeX Gyre Schola"(s) "C059"(s) "DejaVu Serif"(s) "DejaVu LGC Serif"(s) "Noto Serif CJK JP"(s) "Noto Serif JP"(s) "LilyPond Serif"(s) "Arimo"(w) "Noto Sans"(w) "Noto Sans CJK SC"(w) "Noto Sans Arabic"(w)
Re: Crash in 2.25.4
Le dimanche 28 mai 2023 à 00:38 +0200, Jean Abou Samra a écrit : > Le samedi 27 mai 2023 à 16:31 -0600, Colin Campbell a écrit : > > I generally keep my system current, and libpango is at 1.0-0 already. > The "1.0" version number denotes an ABI compatibility promise as far as I > understand; current versions of Pango are actually around 1.50. (1.0.0 is > from around 2002.) > So, just to confirm, "sudo apt upgrade libpango1.0-0" said Pango was already > the latest version? Oh, and also check "sudo apt upgrade fontconfig" signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
Le samedi 27 mai 2023 à 16:31 -0600, Colin Campbell a écrit : > I generally keep my system current, and libpango is at 1.0-0 already. The "1.0" version number denotes an ABI compatibility promise as far as I understand; current versions of Pango are actually around 1.50. (1.0.0 is from around 2002.) So, just to confirm, "sudo apt upgrade libpango1.0-0" said Pango was already the latest version? > Just as a reminder: the error is reliably reproducible on my system, so the > challenge seems to be isolating the difference between yours and mine. Yes. Unfortunately, if it's an uninitialized variable or such, it might be near impossible — such things can depend on totally random parameters. signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
On 2023-05-27 16:10, Jean Abou Samra wrote: Le dimanche 28 mai 2023 à 00:05 +0200, Jean Abou Samra a écrit : If Pango fails to correctly substitute values in the FcConfig, it could potentially mean that it's passed with some fields uninitialized to Fontconfig. That could explain why the error is not reproducible; the value of "color" could be a random uninitialized boolean variable. But I'm not sure yet. Colin, is your Ubuntu system up-to-date ? Who knows, if the bug's in Pango, it might already have been fixed. Try "sudo apt upgrade libpango1.0-0". I generally keep my system current, and libpango is at 1.0-0 already. Just as a reminder: the error is reliably reproducible on my system, so the challenge seems to be isolating the difference between yours and mine. Cheers, Colin
Re: Crash in 2.25.4
Le dimanche 28 mai 2023 à 00:05 +0200, Jean Abou Samra a écrit : > If Pango fails to correctly substitute values in the FcConfig, it could > potentially mean that it's passed with some fields uninitialized to > Fontconfig. That could explain why the error is not > reproducible; the value of "color" could be a random uninitialized boolean > variable. But I'm not sure yet. Colin, is your Ubuntu system up-to-date ? Who knows, if the bug's in Pango, it might already have been fixed. Try "sudo apt upgrade libpango1.0-0". signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
Le samedi 27 mai 2023 à 07:50 +0200, Jean Abou Samra a écrit : > > With lilypond 2.25.6 and your second patch applied, here are 2 .PDFs: > > first is without the offending font installed, the second is the temporary > > file produced when the font is present. > > > Thanks, but I am more interested in the log than the PDF for this one. [Colin's answer, which had attachments too big for the list; I saw it in the moderation interface] Ran the test as FC_DEBUG=2025 ./out/bin/lilypond /Work/Non-Musical.ly > fclog.log 2> lilylog.log and I hope that's what you meant. Running without FC_DEBUG produced a log of zero bytes. Resulting files attached. Cheers, Colin [my answer] It's quite strange that fclog.log is empty without FC_DEBUG (note that for now I don't need FC_DEBUG anymore). Since the FcPatternPrint calls were put in ``` static void substitute_with_lily_config (FcPattern *pat, void *config) { FcConfig *fcconfig = static_cast (config); FcConfigSubstitute (fcconfig, pat, FcMatchPattern); } ``` which is registered as ``` // Before searching a font pattern with Fontconfig, FcConfigSubstitute should // be called on the pattern with the appropriate FcConfig so that the // configuration can define transformations to be applied on the pattern. // LilyPond does this to define font aliases. Unfortunately, Pango has a bug // with this when using custom FcConfigs: it calls FcConfigSubstitute with the // global, default FcConfig instead of the font map's FcConfig. This is // https://gitlab.gnome.org/GNOME/pango/-/issues/743 . Work around it by // adding an extra function to transform the pattern, calling // FcConfigSubstitute with the right FcConfig. // pango_ft2_font_map_set_default_substitute is deprecated as of Pango 1.46 in // favor of pango_fc_font_map_set_default_substitute, but we still support // 1.44. #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" pango_ft2_font_map_set_default_substitute (res, substitute_with_lily_config, font_config_.get (), nullptr); #pragma GCC diagnostic pop ``` it looks like Pango did not call the default substitute function. I'm not yet sure how that could happen. If Pango fails to correctly substitute values in the FcConfig, it could potentially mean that it's passed with some fields uninitialized to Fontconfig. That could explain why the error is not reproducible; the value of "color" could be a random uninitialized boolean variable. But I'm not sure yet. signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
> > With lilypond 2.25.6 and your second patch applied, here are 2 .PDFs: first > is without the offending font installed, the second is the temporary file > produced when the font is present. > Thanks, but I am more interested in the log than the PDF for this one.
Re: Crash in 2.25.4
On 2023-05-26 02:24, Jean Abou Samra wrote: Good that you can reproduce again. Now, can you try the patch with FcPatternPrint and send the log? (No need for FC_DEBUG or --verbose or --ps this time.) With lilypond 2.25.6 and your second patch applied, here are 2 .PDFs: first is without the offending font installed, the second is the temporary file produced when the font is present. Cheers, Colin lilypond-tmp-8819384.pdf Description: Adobe PDF document Non-Musical.pdf Description: Adobe PDF document
Re: Crash in 2.25.4
Le jeudi 25 mai 2023 à 19:06 -0600, Colin Campbell a écrit : > I believe we now have a Bingo! > > I d/l and built lilypond 2.25.5 from the website, and ran it against the > test file; it ran successfully. > > I re-installed the fonts-noto-color-emoji package, and ran lilypond > 2.25.5 again, which gave the error. > > I also ran 2.25.6 against the test file and it also broke. I've attached > the temporary .PDF which it tried to complete. > > I ran the test with your earlier FC_DEBUG=2025 ./out/bin/lilypond > --verbose --ps /Work/Non-Musical.ly > fclog.log 2> lilylog.log > > Archived files attached. > > Being cynical, I again removed the noto font, and lilypond 2.25.6 now > runs the test file without error. > > Clearly, there is some thing in that font file which doesn't agree with > lilypond's recent versions. Good that you can reproduce again. Now, can you try the patch with FcPatternPrint and send the log? (No need for FC_DEBUG or --verbose or --ps this time.) signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
Le mercredi 24 mai 2023 à 20:31 -0600, Colin Campbell a écrit : > Applied this on top of your previous patch; let me know if you want it > done differently. > > Again, no problems applying, compiling lilypond, nor compiling the test > file. > > Resulting .PDF attached Sorry for not being clear: I would like you to apply this patch *on top of a configuration that fails*. I suppose you need to reinstall the fonts-noto-color-emoji package. (Same for the other patch, but this one is more important.) signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
On 2023-05-23 14:38, Jean Abou Samra wrote: Le mardi 23 mai 2023 à 22:08 +0200, Jean Abou Samra a écrit : So Pango is apparently requesting a font with colored glyphs from Fontconfig... Speaking of which, I would also be interested in the output with ``` diff --git a/lily/all-font-metrics.cc b/lily/all-font-metrics.cc index dd8cfaa8f3..0a8efa4433 100644 --- a/lily/all-font-metrics.cc +++ b/lily/all-font-metrics.cc @@ -52,7 +52,9 @@ static void substitute_with_lily_config (FcPattern *pat, void *config) { FcConfig *fcconfig = static_cast (config); + FcPatternPrint (pat); FcConfigSubstitute (fcconfig, pat, FcMatchPattern); + FcPatternPrint (pat); } All_font_metrics::All_font_metrics (File_path search_path, ``` Applied this on top of your previous patch; let me know if you want it done differently. Again, no problems applying, compiling lilypond, nor compiling the test file. Resulting .PDF attached Non-Musical_Patch2.pdf Description: Adobe PDF document
Re: Crash in 2.25.4
On 2023-05-23 13:28, Jean Abou Samra wrote: Colin: it's really hard to debug this remotely (we might have to resort to VNC or such, I'm afraid...) but there is one simple thing I would be interested in: if you apply this patch, recompile LilyPond and redo the test, what happens? ``` diff --git a/lily/pango-font.cc b/lily/pango-font.cc index 7fc7c35207..8f0750c463 100644 --- a/lily/pango-font.cc +++ b/lily/pango-font.cc @@ -523,7 +523,7 @@ Pango_font::text_stencil (Output_def * /* state */, const std::string , = pango_attr_font_features_new (features_str.c_str ()); pango_attr_list_insert (list, features_attr); } - if (music_string) + if (true) { // For music fonts, falling back to text fonts is surprising. PangoAttribute *fallback_attr = pango_attr_fallback_new (false); ``` Patch applied to a fresh clone as Patch1. No errors on compiling lilypond, no errors on running lilypond against my test file. Resulting .PDF attached Cheers, Colin Non-Musical_Patch1.pdf Description: Adobe PDF document
Re: Crash in 2.25.4
Le mercredi 24 mai 2023 à 09:08 +, Werner LEMBERG a écrit : > > So Pango is apparently requesting a font with colored glyphs from > > Fontconfig... > > A bug? Probably. So far, I've been unable to understand where this happens; "git grep FC_COLOR" yields no results in the Pango source code. signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
> So Pango is apparently requesting a font with colored glyphs from > Fontconfig... A bug? Werner
Re: Crash in 2.25.4
Le mardi 23 mai 2023 à 22:08 +0200, Jean Abou Samra a écrit : > So Pango is apparently requesting a font with colored glyphs from > Fontconfig... Speaking of which, I would also be interested in the output with ``` diff --git a/lily/all-font-metrics.cc b/lily/all-font-metrics.cc index dd8cfaa8f3..0a8efa4433 100644 --- a/lily/all-font-metrics.cc +++ b/lily/all-font-metrics.cc @@ -52,7 +52,9 @@ static void substitute_with_lily_config (FcPattern *pat, void *config) { FcConfig *fcconfig = static_cast (config); + FcPatternPrint (pat); FcConfigSubstitute (fcconfig, pat, FcMatchPattern); + FcPatternPrint (pat); } All_font_metrics::All_font_metrics (File_path search_path, ``` signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
Le mardi 23 mai 2023 à 21:15 +0200, Jean Abou Samra a écrit : > Le lundi 22 mai 2023 à 08:07 +, Werner LEMBERG a écrit : > > > Regarding (2) I'm not sure where exactly the problem lies (i.e., whether it > > is a LilyPond or a Pango issue). > > I'm rather sure it's a Pango or Fontconfig issue. Ok, here's some progress. In Colin's fclog.log file, I read ``` Match Pattern has 29 elts (size 32) family: "C059"(s) "Century SchoolBook URW"(s) "C059"(s) "Century Schoolbook L"(s) "C059"(s) "TeX Gyre Schola"(s) "C059"(s) "DejaVu Serif"(s) [lots and lots of families trimmed ...] familylang: "en"(s) "en-us"(w) stylelang: "en"(s) "en-us"(w) fullnamelang: "en"(s) "en-us"(w) slant: 0(i)(s) weight: 80(f)(s) width: 100(i)(s) size: 3.86619(f)(s) pixelsize: 64.4365(f)(s) antialias: True(w) True(w) hintstyle: 1(i)(w) 1(i)(w) hinting: True(s) verticallayout: False(s) autohint: False(s) globaladvance: True(s) dpi: 1200(f)(w) rgba: 1(i)(w) 1(i)(w) lang: "und-zsye"(w) "en-us"(s) "en"(w) fontversion: 2147483647(i)(s) embeddedbitmap: True(s) decorative: False(s) lcdfilter: 1(i)(w) 1(i)(w) namelang: "en"(s) prgname: "lilypond"(s) color: True(w) ^^ symbol: False(s) variable: DontCare(s) order: 0(i)(s) pangoversion: 15012(i)(s) ``` So Pango is apparently requesting a font with colored glyphs from Fontconfig... signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
Le mardi 23 mai 2023 à 21:15 +0200, Jean Abou Samra a écrit : > Le lundi 22 mai 2023 à 08:07 +, Werner LEMBERG a écrit : > > > Regarding (2) I'm not sure where exactly the problem lies (i.e., whether it > > is a LilyPond or a Pango issue). > > I'm rather sure it's a Pango or Fontconfig issue. Colin: it's really hard to debug this remotely (we might have to resort to VNC or such, I'm afraid...) but there is one simple thing I would be interested in: if you apply this patch, recompile LilyPond and redo the test, what happens? ``` diff --git a/lily/pango-font.cc b/lily/pango-font.cc index 7fc7c35207..8f0750c463 100644 --- a/lily/pango-font.cc +++ b/lily/pango-font.cc @@ -523,7 +523,7 @@ Pango_font::text_stencil (Output_def * /* state */, const std::string , = pango_attr_font_features_new (features_str.c_str ()); pango_attr_list_insert (list, features_attr); } - if (music_string) + if (true) { // For music fonts, falling back to text fonts is surprising. PangoAttribute *fallback_attr = pango_attr_fallback_new (false); ``` signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
Le lundi 22 mai 2023 à 08:07 +, Werner LEMBERG a écrit : > Regarding (2) I'm not sure where exactly the problem lies (i.e., whether it > is a LilyPond or a Pango issue). I'm rather sure it's a Pango or Fontconfig issue. Based on the fact that we use Pango's FreeType backend, which is not the focus for Pango maintainers, I would not be surprised if this were an issue specific to this part of Pango, in the same vein as https://gitlab.gnome.org/GNOME/pango/-/issues/743 Our tagline is defined as ``` tagline = \markup { \pad-to-box #'(0 . 0) #'(0 . 3) { \with-url "https://lilypond.org/; \line { %% 2014 = em dash. #(format #f "Music engraving by LilyPond ~a~awww.lilypond.org" (lilypond-version) (ly:wide-char->utf-8 #x2014) ) } } } ``` The tagline text is one string, so we're text-layouting all in one call to Pango. I see zero reason for Pango to split out the digits into separate items with different fonts, since all the glyphs are in the requested C059 font. Unfortunately, even with the fonts-noto-color-emoji package installed, I still cannot reproduce this problem in an Ubuntu 23.04 VM. signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4 Solved
> Following your suggestion, Werner, I tried the test file with the > cairo back end, and it worked as expected. Great, please send me the created PDF for further analysis – just to be sure :-) > I then deleted the Noto Color Emoji font (synaptic also deleted > texlive fonts extra links), and retried the test file. Again, it > worked as expected. Really? I would rather expect that the digits are still taken from another fallback font. Please send me the created PDF for further analysis, too. Werner
Re: Crash in 2.25.4 Solved
On 2023-05-22 02:07, Werner LEMBERG wrote: (1) You have the font 'Noto Color Emoji' installed on your system (the new one, with scalable glyphs using the 'COLR' v1 format). Say `fc-list | less` to find out where it is located. This font format is not supported by GhostScript – such a font cannot be meaningfully embedded in a PS or PDF file. (2) For some reason, the digits in the tagline string are taken from `Noto Color Emoji` instead of `C059-Roman`, which is used for everything else in the tagline (see the end of your `Non-Musical.ps` file). I think item (1) happens because 'Noto Color Emoji' is set up as a fallback font on your OS. Regarding (2) I'm not sure where exactly the problem lies (i.e., whether it is a LilyPond or a Pango issue). However, if you use the current LilyPond developer version, this should be fixed: LilyPond and Pango no longer use glyph names but glyph indices for communication. BTW: Have you checked whether the Cairo backend works for you? ``` lilypond -dbackend=cairo ... ``` Perhaps we should disable color fonts similarly to variation fonts, at least for now (and later on for the PS backend only). Such a change could be backported to the 2.24 series. I had tried a copy of the test file with tagline =#f in a \header block, but that crashed. Following your suggestion, Werner, I tried the test file with the cairo back end, and it worked as expected. I then deleted the Noto Color Emoji font (synaptic also deleted texlive fonts extra links), and retried the test file. Again, it worked as expected. I believe, as my old Latin teacher would say, rem acu tetigisti! My heartfelt thanks to you and especially Jean for your help and patience. Colin
Re: Crash in 2.25.4
Colin, >> All this comes about as I'm thinking of getting back to >> some documentation work, and wanted to compile docs locally. I'll >> still keep that goal in mind. >> >> If you can still reproduce the problem after this cleaning, could >> you run >> >> ``` >> FC_DEBUG=2025 build/out/bin/lilypond --verbose --ps test_file.ly > >> fclog.log 2> lilylog.log >> ``` >> >> and send the three resulting files, `test_file.ps`, `fclog.log` and >> `lilylog.log`? > > The requested files are attached as an archive, as two of them are > rather large. (1) You have the font 'Noto Color Emoji' installed on your system (the new one, with scalable glyphs using the 'COLR' v1 format). Say `fc-list | less` to find out where it is located. This font format is not supported by GhostScript – such a font cannot be meaningfully embedded in a PS or PDF file. (2) For some reason, the digits in the tagline string are taken from `Noto Color Emoji` instead of `C059-Roman`, which is used for everything else in the tagline (see the end of your `Non-Musical.ps` file). I think item (1) happens because 'Noto Color Emoji' is set up as a fallback font on your OS. Regarding (2) I'm not sure where exactly the problem lies (i.e., whether it is a LilyPond or a Pango issue). However, if you use the current LilyPond developer version, this should be fixed: LilyPond and Pango no longer use glyph names but glyph indices for communication. BTW: Have you checked whether the Cairo backend works for you? ``` lilypond -dbackend=cairo ... ``` Perhaps we should disable color fonts similarly to variation fonts, at least for now (and later on for the PS backend only). Such a change could be backported to the 2.24 series. Werner
Re: Crash in 2.25.4
(Adding back the bug list) Le samedi 20 mai 2023 à 17:51 -0600, Colin Campbell a écrit : > > I redid git bisect today, doing everything on the command line (I used > Frescobaldi last night). Each time, I ran " > > ``` > colin@Calvin:/Work/lilypond/lilypond$ cd build > colin@Calvin:/Work/lilypond/lilypond/build$ make SILENT=1 -j9 && make > bytecode > colin@Calvin:/Work/lilypond/lilypond/build$ ./out/bin/lilypond > /Work/Non-Musical.ly > ``` > > The result was > > > ## > > ``` > 18e26fa65af11ec236338e43cfe7c4968f087d7f is the first bad commit > commit 18e26fa65af11ec236338e43cfe7c4968f087d7f > Author: Jean Abou Samra [](mailto:j...@abou-samra.fr) > Date: Wed Apr 12 22:30:44 2023 +0200 > > Don't make our FcConfig the global one > ``` > > ### > > I gather, then, that a1b35793415e45f95a447184fac049fb1df15b73] > font-config.cc: Add comment > was the commit that git bisect applied last, and it produced expected output > from the command line, and also using Frescobaldi as a front end. > > I'm not sure this helps in any useful way; it seems unlikely that I would be > the only one affected if it were a problematic commit. Well, this stuff is closely tied to the font libraries LilyPond uses (Pango + HarfBuzz + FreeType + Fontconfig + Cairo) and the system font configuration, so it's something that definitely can get broken for some people while still working for others. > Unless you have other advice, I'm guessing that it would be simpler for me to > clean all trace of lilypond off my machine (I've probably got bits and pieces > of several prior installations, both from packages and locally compiled from > git), and start from a fresh, clean install. I've taken up more than enough > of your time, for which I'm most grateful, but your rather astonishing mind > is best employed on more important tasks. > > All this comes about as I'm thinking of getting back to some documentation > work, and wanted to compile docs locally. I'll still keep that goal in mind. If you can still reproduce the problem after this cleaning, could you run ``` FC_DEBUG=2025 build/out/bin/lilypond --verbose --ps test_file.ly > fclog.log 2> lilylog.log ``` and send the three resulting files, `test_file.ps`, `fclog.log` and `lilylog.log`? signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
Le vendredi 19 mai 2023 à 23:00 -0600, Colin Campbell a écrit : > The result of git bisect: > > 1db87a2537d6d5ef6631cfbda63954c0a6ee095 is the first bad commit > commit d1db87a2537d6d5ef6631cfbda63954c0a6ee095 > Author: Jonas Hahnfeld > Date: Mon Apr 3 22:57:26 2023 +0200 > > Doc: Avoid full stop in node names > > This propagates the changes from commit c245707e4f to the translations. > > Documentation/ca/learning/common-notation.itely | 2 +- > Documentation/de/learning/common-notation.itely | 2 +- > Documentation/es/learning/common-notation.itely | 2 +- > Documentation/it/learning/common-notation.itely | 2 +- > Documentation/ja/learning/common-notation.itely | 2 +- > 5 files changed, 5 insertions(+), 5 deletions(-) Uh, that does not make a lot of sense. This is purely a doc patch, it can't have caused a bug in LilyPond itself. Either the failure is flaky (but it didn't seem to be), or something is wrong in the way you bisected. In particular, are you sure that the commit you passed to "git bisect good" was a commit old enough to *not* reproduce the bug? Did you remember to call "make" at each iteration to recompile the C++ code? (Sorry if that's obvious.) signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
The result of git bisect: 1db87a2537d6d5ef6631cfbda63954c0a6ee095 is the first bad commit commit d1db87a2537d6d5ef6631cfbda63954c0a6ee095 Author: Jonas Hahnfeld Date: Mon Apr 3 22:57:26 2023 +0200 Doc: Avoid full stop in node names This propagates the changes from commit c245707e4f to the translations. Documentation/ca/learning/common-notation.itely | 2 +- Documentation/de/learning/common-notation.itely | 2 +- Documentation/es/learning/common-notation.itely | 2 +- Documentation/it/learning/common-notation.itely | 2 +- Documentation/ja/learning/common-notation.itely | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) Cheers, Colin
Re: Crash in 2.25.4
On 2023-05-19 15:43, Jean Abou Samra wrote: Le vendredi 19 mai 2023 à 21:00 +0200, Jean Abou Samra a écrit : Can you try to find which commit introduced the problem for you, using 'git bisect'? Alternatively: what's your Ubuntu version? I just installed a fresh Ubuntu 23.04 VM and compiled LilyPond in it but I cannot reproduce the problem. I'll still take a run at git bisect, for the learning experience. As to processing environment: Operating System: Kubuntu 23.04 KDE Plasma Version: 5.27.4 KDE Frameworks Version: 5.104.0 Qt Version: 5.15.8 Kernel Version: 6.2.0-1003-lowlatency (64-bit) Graphics Platform: Wayland Processors: 8 × AMD Ryzen 5 3400G with Radeon Vega Graphics Memory: 5.7 GiB of RAM Graphics Processor: AMD Radeon Vega 11 Graphics Manufacturer: Acer Product Name: Aspire TC-390 System Version: 1.0 Cheers, Colin
Re: Crash in 2.25.4
Le vendredi 19 mai 2023 à 21:00 +0200, Jean Abou Samra a écrit : > Can you try to find which commit introduced the problem for you, using 'git > bisect'? Alternatively: what's your Ubuntu version? I just installed a fresh Ubuntu 23.04 VM and compiled LilyPond in it but I cannot reproduce the problem. signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
Le vendredi 19 mai 2023 à 12:26 -0600, Colin Campbell a écrit : > > On 2023-05-19 11:03, Jean Abou Samra wrote: > > \version "2.25.5" > > > > #(define-markup-command (db layout props arg) (markup?) > > (let ((stil (interpret-markup layout props arg))) > > (pretty-print (ly:stencil-expr stil)) > > stil)) > > > > \markup \db abc > > Terminal output: > > ### > > colin@Calvin:/Work$ lilypond BugTest.ly > GNU LilyPond 2.25.5 (running Guile 2.2) > Processing `BugTest.ly' > Parsing...(utf-8-string > "LilyPond Serif 3.8662109375" > "abc" > (translate-stencil > (0.0 . 0.0) > (glyph-string > # > "C059-Roman" > 3.865234375 > #f > ((1.2291590551181102 > (-0.03300964259350393 . 1.0582424612450787) > 0.0 > 0.0 > 66 > "a") > (1.2291590551181102 > (-0.03300964259350393 . 1.6214403128075787) > 0.0 > 0.0 > 67 > "b") > (0.990155905511811 > (-0.03300964259350393 . 1.0582424612450787) > 0.0 > 0.0 > 68 > "c")) > "/usr/share/fonts/opentype/urw-base35/C059-Roman.otf" > 0 > "abc" > ((1 . 1) (1 . 1) (1 . 1) > > Finding the ideal number of pages... > Fitting music on 1 page... > Drawing systems... > Converting to `BugTest.pdf'... > warning: `(gs -q -dNODISPLAY -dNOSAFER -dNOPAUSE -dBATCH > -dAutoRotatePages=/None -dPrinted=false /tmp/lilypond-tmp-9236892)' > failed (256) > > /usr/local/share/lilypond/2.25.5/ly/init.ly:66:2: error: Guile signaled > an error for the expression beginning here > # > (let ((book-handler (if (defined? 'default-toplevel-book-handler) > Throw to key `ly-file-failed' with args `()'. > > # > > No PDF produced. In the verbose log you sent initially, I see Initializing embedded CFF font list. Found file in search path: /usr/share/fonts/opentype/urw-base35/C059-Roman.otf -> /usr/share/fonts/opentype/urw-base35/C059-Roman.otf Embedding CFF font `C059-Roman'. [/usr/share/fonts/opentype/urw-base35/C059-Roman.otf] Found file in search path: /usr/share/fonts/truetype/noto/NotoColorEmoji.ttf -> /usr/share/fonts/truetype/noto/NotoColorEmoji.ttf [/usr/share/fonts/truetype/noto/NotoColorEmoji.ttf] Right now, I have no idea why LilyPond is looking for the NotoColorEmoji font... Can you try to find which commit introduced the problem for you, using 'git bisect'? Thanks. signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
On 2023-05-19 11:03, Jean Abou Samra wrote: \version "2.25.5" #(define-markup-command (db layout props arg) (markup?) (let ((stil (interpret-markup layout props arg))) (pretty-print (ly:stencil-expr stil)) stil)) \markup \db abc Terminal output: ### colin@Calvin:/Work$ lilypond BugTest.ly GNU LilyPond 2.25.5 (running Guile 2.2) Processing `BugTest.ly' Parsing...(utf-8-string "LilyPond Serif 3.8662109375" "abc" (translate-stencil (0.0 . 0.0) (glyph-string # "C059-Roman" 3.865234375 #f ((1.2291590551181102 (-0.03300964259350393 . 1.0582424612450787) 0.0 0.0 66 "a") (1.2291590551181102 (-0.03300964259350393 . 1.6214403128075787) 0.0 0.0 67 "b") (0.990155905511811 (-0.03300964259350393 . 1.0582424612450787) 0.0 0.0 68 "c")) "/usr/share/fonts/opentype/urw-base35/C059-Roman.otf" 0 "abc" ((1 . 1) (1 . 1) (1 . 1) Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... Converting to `BugTest.pdf'... warning: `(gs -q -dNODISPLAY -dNOSAFER -dNOPAUSE -dBATCH -dAutoRotatePages=/None -dPrinted=false /tmp/lilypond-tmp-9236892)' failed (256) /usr/local/share/lilypond/2.25.5/ly/init.ly:66:2: error: Guile signaled an error for the expression beginning here # (let ((book-handler (if (defined? 'default-toplevel-book-handler) Throw to key `ly-file-failed' with args `()'. # No PDF produced. Cheers, Colin
Re: Crash in 2.25.4
Le vendredi 19 mai 2023 à 09:43 -0600, Colin Campbell a écrit : > > Of all the errors you posted, which one is it now? > ``` > colin@Calvin:/Work$ lilypond Non-Musical.ly > GNU LilyPond 2.25.5 (running Guile 2.2) > Processing `Non-Musical.ly' > Parsing... > Interpreting music... > Preprocessing graphical objects... > Finding the ideal number of pages... > Fitting music on 1 page... > Drawing systems... > Converting to `Non-Musical.pdf'... > warning: `(gs -q -dNODISPLAY -dNOSAFER -dNOPAUSE -dBATCH > -dAutoRotatePages=/None -dPrinted=false /tmp/lilypond-tmp-7461402)' failed > (256) > > /usr/local/share/lilypond/2.25.5/ly/init.ly:66:2: error: Guile signaled an > error for the expression beginning here > # > (let ((book-handler (if (defined? 'default-toplevel-book-handler) > Throw to key `ly-file-failed' with args `()'. > ``` Could you compile this and tell about the result, i.e., does it produce a PDF and what does it print in the log? ``` \version "2.25.5" #(define-markup-command (db layout props arg) (markup?) (let ((stil (interpret-markup layout props arg))) (pretty-print (ly:stencil-expr stil)) stil)) \markup \db abc ``` Thanks. signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
On 2023-05-18 23:30, Jean Abou Samra wrote Thanks, Werner, for the suggestion. I just tried it, and lilypond still errors as before. Of all the errors you posted, which one is it now? colin@Calvin:/Work$ lilypond Non-Musical.ly GNU LilyPond 2.25.5 (running Guile 2.2) Processing `Non-Musical.ly' Parsing... Interpreting music... Preprocessing graphical objects... Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... Converting to `Non-Musical.pdf'... warning: `(gs -q -dNODISPLAY -dNOSAFER -dNOPAUSE -dBATCH -dAutoRotatePages=/None -dPrinted=false /tmp/lilypond-tmp-7461402)' failed (256) /usr/local/share/lilypond/2.25.5/ly/init.ly:66:2: error: Guile signaled an error for the expression beginning here # (let ((book-handler (if (defined? 'default-toplevel-book-handler) Throw to key `ly-file-failed' with args `()'.
Re: Crash in 2.25.4
> Thanks, Werner, for the suggestion. I just tried it, and lilypond still > errors as before. Of all the errors you posted, which one is it now?
Re: Crash in 2.25.4
On 2023-05-18 22:09, Werner LEMBERG wrote: ran make successfully, got carried away and may have shot myself in the foot by running sudo make install. You should actually do ``` make bytecode sudo make install-bytecode ``` Without installing the Guile bytecode, LilyPond is slooow. Thanks, Werner, for the suggestion. I just tried it, and lilypond still errors as before. Cheers, Colin
Re: Crash in 2.25.4
> ran make successfully, got carried away and may have shot myself in > the foot by running sudo make install. You should actually do ``` make bytecode sudo make install-bytecode ``` Without installing the Guile bytecode, LilyPond is slooow. Werner
Re: Crash in 2.25.4
On 2023-05-18 21:07, Colin Campbell wrote: On 2023-05-18 01:55, Jean Abou Samra wrote: I'm going nuclear tomorrow: delete my clone, and start over. No need to be *that* nuclear, you can just remove the build directory and start a fresh build. Deleted /build, mkdir build, cd build # ran ../autogen.sh ../configure no errors from either # ran make successfully, got carried away and may have shot myself in the foot by running sudo make install. No change in the error behaviour. cheers, Colin
Re: Crash in 2.25.4
On 2023-05-18 01:55, Jean Abou Samra wrote: I'm going nuclear tomorrow: delete my clone, and start over. No need to be *that* nuclear, you can just remove the build directory and start a fresh build. Deleted /build, mkdir build, cd build ran make successfully, got carried away and may have shot myself in the foot by running sudo make install. No change in the error behaviour. cheers, Colin
Re: Crash in 2.25.4
Wonderful, thank you! \-- Gwyn Ciesla she/her/hers \ in your fear, seek only peace in your fear, seek only love \-d. bowie Sent from Proton Mail mobile \ Original Message On May 18, 2023, 12:53 PM, Jean Abou Samra < j...@abou-samra.fr> wrote: > > > > Le jeudi 18 mai 2023 à 11:27 +0200, Jean Abou Samra a écrit : > > > Gwyn, is it convenient for you to test patches? I think I see what this is > > caused by, but I cannot reproduce the bug in a local build (knowing what > > exact compiler flags are used in Fedora's builds might help). > > > > I'd like to know if this fixes it: > > > > ``` > > [...] > > > > Thank you. > > ``` > > > > > > > > > > > Thanks for the info you provided privately. > > > > > The fix > [https://gitlab.com/lilypond/lilypond/-/merge\_requests/2007][https_gitlab.com_lilypond_lilypond_-_merge_requests_2007] > has been merged. LilyPond 2.25.5 is planned for this weekend. > > > [https_gitlab.com_lilypond_lilypond_-_merge_requests_2007]: https://gitlab.com/lilypond/lilypond/-/merge_requests/2007 signature.asc Description: OpenPGP digital signature
Re: Crash in 2.25.4
Le jeudi 18 mai 2023 à 11:27 +0200, Jean Abou Samra a écrit : > Gwyn, is it convenient for you to test patches? I think I see what this is > caused by, but I cannot reproduce the bug in a local build (knowing what > exact compiler flags are used in Fedora's builds > might help). > I'd like to know if this fixes it: > [...] > > Thank you. Thanks for the info you provided privately. The fix https://gitlab.com/lilypond/lilypond/-/merge_requests/2007 has been merged. LilyPond 2.25.5 is planned for this weekend. signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
Gwyn, is it convenient for you to test patches? I think I see what this is caused by, but I cannot reproduce the bug in a local build (knowing what exact compiler flags are used in Fedora's builds might help). I'd like to know if this fixes it: ``` diff --git a/lily/all-font-metrics-scheme.cc b/lily/all-font-metrics-scheme.cc index 9a36407993..77fabc666b 100644 --- a/lily/all-font-metrics-scheme.cc +++ b/lily/all-font-metrics-scheme.cc @@ -24,7 +24,7 @@ All_font_metrics *all_fonts_global = nullptr; // GC-protects the all_fonts_global object. -SCM all_fonts_global_scm = SCM_UNDEFINED; +volatile SCM all_fonts_global_scm = SCM_UNDEFINED; LY_DEFINE (ly_reset_all_fonts, "ly:reset-all-fonts", 0, 0, 0, (), R"( ``` Thank you. signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
> I'm going nuclear tomorrow: delete my clone, and start over. No need to be *that* nuclear, you can just remove the build directory and start a fresh build.
Re: Crash in 2.25.4
> Le 18 mai 2023 à 05:49, Colin Campbell a écrit : > > Attached console output. I'll do a git pull and recompile a bit later, and > report what happens. Note that the same test file when compiled using > Frescobaldi as a front end, produces the following output: > > > Starting lilypond 2.25.5 [Non-Musical.ly]... > > programming error: unknown context mod tag > > continuing, cross fingers > > Processing `/Work/Non-Musical.ly' > > Parsing... > > Interpreting music... > > fatal error: No grob definition found for `NonMusicalPaperColumn'. > > Exited with return code 1. > > Same test file, same lilypond binary, different error message from running > lilypond on the command line. The only sane explanation I can think of for these errors is that you forgot to recompile LilyPond after a 'git pull'. In other words, you are running a version of the C++ code that is out of sync with the Scheme code.
Re: Crash in 2.25.4
On 2023-05-17 18:25, Jean Abou Samra wrote: Could you please run with `lilypond --verbose` and send the output? Thanks, Jean Now lilypond blows up in make: colin@Calvin:/Work/lilypond/lilypond/build$ make -j3 SILENT=1 PythonUI_Init() PythonUI_Init() PythonUI_Init() copyUIMethodsToBaseTable() copyUIMethodsToBaseTable() copyUIMethodsToBaseTable() Program root: /usr Program root: /usr Program root: /usr PythonUI_Init() copyUIMethodsToBaseTable() Program root: /usr PythonUI_Init() copyUIMethodsToBaseTable() Program root: /usr PythonUI_Init() copyUIMethodsToBaseTable() Program root: /usr PythonUI_Init() copyUIMethodsToBaseTable() Program root: /usr PythonUI_Init() copyUIMethodsToBaseTable() Program root: /usr PythonUI_Init() copyUIMethodsToBaseTable() Program root: /usr PythonUI_Init() copyUIMethodsToBaseTable() Program root: /usr PythonUI_Init() copyUIMethodsToBaseTable() Program root: /usr PythonUI_Init() copyUIMethodsToBaseTable() Program root: /usr PythonUI_Init() copyUIMethodsToBaseTable() Program root: /usr PythonUI_Init() copyUIMethodsToBaseTable() Program root: /usr PythonUI_Init() copyUIMethodsToBaseTable() Program root: /usr PythonUI_Init() copyUIMethodsToBaseTable() Program root: /usr lilypond-book.py: error: Missing files: 06/lily-555b4662.png make[1]: *** [/Work/lilypond/lilypond/build/.././make/lilypond-book-rules.make:5: out/en/extending.texi] Error 1 make[1]: *** Waiting for unfinished jobs lilypond-book.py: error: Missing files: 03/lily-77c63b72.png make[1]: *** [/Work/lilypond/lilypond/build/.././make/lilypond-book-rules.make:5: out/en/music-glossary.texi] Error 1 make: *** [/Work/lilypond/lilypond/build/.././make/generic-targets.make:6: all] Error 2 && The first missing file is in build/Documentation/out/en/06 unchanged since what seems to be the last time I built lily. I'm going nuclear tomorrow: delete my clone, and start over. It's late here and I spent too much time turning a bowl from green ash. I won't post any more in this thread: as Jean commented, my problems are not likely the same as the OP. Good night, all! Colin
Re: Crash in 2.25.4
Attached console output. I'll do a git pull and recompile a bit later, and report what happens. Note that the same test file when compiled using Frescobaldi as a front end, produces the following output: Starting lilypond 2.25.5 [Non-Musical.ly]... programming error: unknown context mod tag continuing, cross fingers Processing `/Work/Non-Musical.ly' Parsing... Interpreting music... fatal error: No grob definition found for `NonMusicalPaperColumn'. Exited with return code 1. Same test file, same lilypond binary, different error message from running lilypond on the command line. Cheers, Colin On 2023-05-17 18:25, Jean Abou Samra wrote: Le mercredi 17 mai 2023 à 17:48 -0600, Colin Campbell a écrit : Happens to me on Ubuntu as well: I don't think that's the same bug. Regarding this: Fontconfig error: No writable cache directories This error popped up at some point during the current cycle before being fixed shortly thereafter. Maybe you compiled and installed LilyPond before the merge ofhttps://gitlab.com/lilypond/lilypond/-/merge_requests/1978 ? Processing `Non-Musical.ly' Parsing... Interpreting music... Preprocessing graphical objects... Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... Converting to `Non-Musical.pdf'... warning: `(gs -q -dNODISPLAY -dNOSAFER -dNOPAUSE -dBATCH -dAutoRotatePages=/None -dPrinted=false /tmp/lilypond-tmp-4728954)' failed (256) Could you please run with `lilypond --verbose` and send the output? Thanks, Jean colin@Calvin:/Work$ lilypond --verbose Non-Musical.ly > \Work\bug.txt Log level set to 287 GNU LilyPond 2.25.5 (running Guile 2.2) Relocation Absolute file name of LilyPond binary computed from PATH: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin argv0=lilypond Setting INSTALLER_PREFIX to '/usr/local' Using run-time value for datadir, setting it to '/usr/local/share/lilypond/2.25.5' Using compile-time value for libdir, setting it to '/usr/local/lib/lilypond/2.25.5' Using run-time value for localedir, setting it to '/usr/local/share/locale' Using compile-time value for relocdir, setting it to '' Prepending '/usr/local/bin' to PATH Setting PATH to '/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin' Setting GUILE_AUTO_COMPILE to '0' Setting GUILE_WARN_DEPRECATED to 'detailed' Setting XDG_CACHE_HOME to '/usr/local/share/lilypond/2.25.5' Setting GC_INITIAL_HEAP_SIZE to '40M' Setting GC_NPROCS to '1' Setting GC_FREE_SPACE_DIVISOR to '1' Effective prefix: '/usr/local/share/lilypond/2.25.5' PATH="/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" [/usr/local/share/lilypond/2.25.5/scm/lily/lily.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/lily-library.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/output-lib.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/markup-macros.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/parser-ly-from-scheme.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/file-cache.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/define-event-classes.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/define-music-callbacks.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/define-music-types.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/define-note-names.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/c++.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/chord-entry.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/skyline.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/markup.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/define-markup-commands.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/stencil.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/modal-transforms.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/chord-ignatzek-names.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/music-functions.scm [/usr/local/share/lilypond/2.25.5/scm/lily/define-music-display-methods.scm] ] [/usr/local/share/lilypond/2.25.5/scm/lily/part-combiner.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/autochange.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/define-music-properties.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/time-signature.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/time-signature-settings.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/auto-beam.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/chord-name.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/define-context-properties.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/translation-functions.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/breath.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/script.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/midi.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/layout-beam.scm] [/usr/local/share/lilypond/2.25.5/scm/lily/parser-clef.scm]
Re: Crash in 2.25.4
Le mercredi 17 mai 2023 à 17:48 -0600, Colin Campbell a écrit : > Happens to me on Ubuntu as well: I don't think that's the same bug. Regarding this: > Fontconfig error: No writable cache directories This error popped up at some point during the current cycle before being fixed shortly thereafter. Maybe you compiled and installed LilyPond before the merge of https://gitlab.com/lilypond/lilypond/-/merge_requests/1978 ? > Processing `Non-Musical.ly' > Parsing... > Interpreting music... > Preprocessing graphical objects... > Finding the ideal number of pages... > Fitting music on 1 page... > Drawing systems... > Converting to `Non-Musical.pdf'... > warning: `(gs -q -dNODISPLAY -dNOSAFER -dNOPAUSE -dBATCH > -dAutoRotatePages=/None -dPrinted=false /tmp/lilypond-tmp-4728954)' > failed (256) Could you please run with `lilypond --verbose` and send the output? Thanks, Jean signature.asc Description: This is a digitally signed message part
Re: Crash in 2.25.4
Happens to me on Ubuntu as well: && colin@Calvin:/Work$ lilypond Non-Musical.ly GNU LilyPond 2.25.5 (running Guile 2.2) Fontconfig error: No writable cache directories Processing `Non-Musical.ly' Parsing... Interpreting music... Preprocessing graphical objects... Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... Converting to `Non-Musical.pdf'... warning: `(gs -q -dNODISPLAY -dNOSAFER -dNOPAUSE -dBATCH -dAutoRotatePages=/None -dPrinted=false /tmp/lilypond-tmp-4728954)' failed (256) /usr/local/share/lilypond/2.25.5/ly/init.ly:66:2: error: Guile signaled an error for the expression beginning here # (let ((book-handler (if (defined? 'default-toplevel-book-handler) Throw to key `ly-file-failed' with args `()'. &&& Test file : \version "2.25.2" { c1 } && On 2023-05-17 14:02, Gwyn Ciesla via bug-lilypond wrote: Attaching reproducer. >From Fedora bug: When I attempt to build a score using a PianoStaff or GrandStaff (which contains more than one sub-staff), lilypond crashes. Reproducible: Always Steps to Reproduce: 1. Attempt to build a minimal reproducer (which I will attach) with lilypond-2.25.4 Actual Results: Slightly varying modes of crashing. #1) Without dumping core: --- 8< --- nils@makake:~/music> lilypond minimal.ly GNU LilyPond 2.25.4 (running Guile 2.2) Processing `minimal.ly' Parsing... Interpreting music... Preprocessing graphical objects... Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... /usr/share/lilypond/2.25.4/ly/init.ly:64:2: error: Guile signaled an error for the expression beginning here # (let ((book-handler (if (defined? 'default-toplevel-book-handler) In procedure scm_hash_fn_create_handle_x: Error while printing exception. --- >8 --- #2) With dumping core: --- 8< --- nils@makake:~/music> lilypond minimal.ly GNU LilyPond 2.25.4 (running Guile 2.2) Processing `minimal.ly' Parsing... Interpreting music... Preprocessing graphical objects... Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... /usr/share/lilypond/2.25.4/ly/init.ly:64:2: error: Guile signaled an error for the expression beginning here # (let ((book-handler (if (defined? 'default-toplevel-book-handler) In procedure scm_hash_fn_create_handle_x: Wrong type argument in position 1 (expecting hash-table): Segmentation fault (core dumped) --- >8 --- Expected Results: It builds a PDF from the score. - I get the same behavior on Fedora 38 and Rawhide. - Using the lilypond-2.25.3 Fedora package _or_ the 2.25.4 binary from upstream doesn’t exhibit the issue. -- Gwyn Ciesla she/her/hers in your fear, seek only peace in your fear, seek only love -d. bowie Sent with Proton Mail secure email.
Re: Crash in 2.25.4
Le mercredi 17 mai 2023 à 20:02 +, Gwyn Ciesla via bug-lilypond a écrit : > Attaching reproducer. > > From Fedora bug: > > When I attempt to build a score using a PianoStaff or GrandStaff (which > contains more than one sub-staff), lilypond crashes. > > Reproducible: Always > > Steps to Reproduce: > 1. Attempt to build a minimal reproducer (which I will attach) with > lilypond-2.25.4 > Actual Results: > Slightly varying modes of crashing. > > #1) Without dumping core: > > --- 8< --- > nils@makake:~/music> lilypond minimal.ly > > GNU LilyPond 2.25.4 (running Guile 2.2) > Processing `minimal.ly' > Parsing... > Interpreting music... > Preprocessing graphical objects... > Finding the ideal number of pages... > Fitting music on 1 page... > Drawing systems... > /usr/share/lilypond/2.25.4/ly/init.ly:64:2: error: Guile signaled an error > for the expression beginning here > # > (let ((book-handler (if (defined? 'default-toplevel-book-handler) > In procedure scm_hash_fn_create_handle_x: Error while printing exception. > --- >8 --- > > #2) With dumping core: > > --- 8< --- > nils@makake:~/music> lilypond minimal.ly > > GNU LilyPond 2.25.4 (running Guile 2.2) > Processing `minimal.ly' > Parsing... > Interpreting music... > Preprocessing graphical objects... > Finding the ideal number of pages... > Fitting music on 1 page... > Drawing systems... > /usr/share/lilypond/2.25.4/ly/init.ly:64:2: error: Guile signaled an error > for the expression beginning here > # > (let ((book-handler (if (defined? 'default-toplevel-book-handler) > In procedure scm_hash_fn_create_handle_x: Wrong type argument in position 1 > (expecting hash-table): Segmentation fault (core dumped) > --- >8 --- > > Expected Results: > It builds a PDF from the score. > > - I get the same behavior on Fedora 38 and Rawhide. > - Using the lilypond-2.25.3 Fedora package _or_ the 2.25.4 binary from > upstream doesn’t exhibit the issue. Thank you for forwarding the report. I can reproduce it on my Fedora system. Apparently we're crashing while looking up the font for the system start brace, but I don't understand why yet. It's quite strange that this doesn't reproduce with the official binaries or local builds. Judging from the backtraces, there might be a memory corruption somewhere, but I have to find out. signature.asc Description: This is a digitally signed message part