[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lilypond 2.23.0 crashes on layout

From: Arusekk
Subject: Re: Lilypond 2.23.0 crashes on layout
Date: Wed, 17 Feb 2021 00:00:38 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1

W dniu 16.02.2021 o 18:33, Jonas Hahnfeld pisze:
Usual disclaimer that LilyPond doesn't fully support Guile 2.2 (yet),
so you'll definitely see worse performance (mostly slower startup) and
might run into occasional issues, like this one. Guile 1.8 should be
the safer choice for now (if you still have it in Gentoo).
I tried to track back the moment the issue was introduced, but then found out that guile 2.x has been supported for two versions only, so I stopped digging. Good to know.
That said, I've seen this issue before during my tests with Guile 2.2
(Translators being collected while still referenced somewhere), but
never had a stack trace to investigate. So it's already great to have
that, but do I read this correctly that you can reliably reproduce the
issue on your system? I'm asking because I can't on mine (Arch Linux)
and in fact, your file works just fine for me. So finding out how to
trigger this kind of bugs more reliably would be a huge step.
On my box lilypond crashes every single time I command it to produce PDFs (never does if not told to lay out), so I think I can provide much help, maybe core files, or recorded execution from GDB (never tried to do it before, though).
Regarding AddressSanitizer, did you just compile LilyPond with it or
all dependencies? I didn't attempt so far because I thought it wouldn't
work, but maybe I should try?

I just set CFLAGS='-fsanitize=address -g' and LDFLAGS='-fsanitize=address' before configuring lilypond, and installed the debug symbols for guile, so that AddressSanitizer could resolve function names from it. ASAN wiki suggests to mainly compile executables with it, because it does not support sanitized libraries used with not sanitized executables (or it does, but requires preloading it manually).

But maybe sanitizing some library too would help additionally? I could try it if you want, but sanitizing guile might break[1] (I have not tried). Gentoo gives extreme flexibility as to managing compile-time options, while handling the burden of building everything one thing at a time, so this does not pose any problem for me (I don't recommend setting up a Gentoo VM just for tests, unless you are patient, since building lilypond and deps from a base system takes at least an hour).

(It could of course be an issue in one of the libraries, especially the
stack trace in Pango looks odd, but it's equally possible that it's a
heap corruption bug that may show in the least expected places...)

(These heap bugs are the worst...)


[1]: https://github.com/hannob/asantoo/blob/add80838689755e74a6c1ca793c49b9dd9c50fcb/sys-devel/asantoo-base/files/package.env-asantoo#L12

reply via email to

[Prev in Thread] Current Thread [Next in Thread]