control: severity -1 minor control: retitle -1 sombok: FTBFS with GLIBC_TUNABLES=glibc.malloc.hugetlb=2
Hi, On 2026-02-25 22:50, Aurelien Jarno wrote: > Hi, > > On 2026-02-23 19:55, Emanuele Rocca wrote: > > Source: sombok > > Version: 2.4.0-2 > > Severity: important > > Tags: ftbfs upstream > > Justification: fails to build from source > > User: [email protected] > > Usertags: glibc-2.43 > > > > Hi, > > > > sombok fails to build from source on arm64 when using glibc 2.43, > > currently in experimental. > > > > The issue is triggered by glibc 2.43 on arm64 enabling 2MB THP by > > default: > > https://sourceware.org/git/?p=glibc.git;a=commit;h=321e1fc73f53081d92ba357cdd48c56b79292020 > > > > The problem is however not architecture-specific. For example it can be > > reproduced with glibc 2.42 on amd64 by building the package with the > > GLIBC_TUNABLES environment variable set to glibc.malloc.hugetlb=2. > > > > Successful build with glibc 2.42, currently in sid: > > https://people.debian.org/~ema/glibc-2.43-rebuilds/output-2/sombok_arm64.build > > > > Logs of a failed build with glibc 2.43 are here: > > https://people.debian.org/~ema/glibc-2.43-rebuilds/output-1/sombok_arm64.build > > > > Salient part: > > > > FAIL: tests/01break.t > > FAIL: tests/02hangul.t > > FAIL: tests/03ns.t > > FAIL: tests/05urgent.t > > FAIL: tests/06context.t > > FAIL: tests/07sea.t > > FAIL: tests/09uri.t > > FAIL: tests/11format.t > > [...] > > FAIL: tests/01break.t > > ===================== > > > > linebreak_break_partial: Cannot allocate memory > > linebreak_break_partial: Cannot allocate memory > > [...] > > I found that the issue is that linebreak_southeastasian_flagbreak() can > change errno when calling th_wbrk() in libthai, which in turns call > malloc(). Then _break_partial() checks for errno just after that call to > linebreak_southeastasian_flagbreak(). It is not clear to me if it is > correct as the libthai source code doesn't mention setting errno. Starting with glibc 2.43-2, glibc uses a different approach to enable THP on arm64, which doesn't trigger this issue anymore. The bug is still there though and can still be triggered, even on amd64, by setting the GLIBC_TUNABLES environment variable to glibc.malloc.hugetlb=2. I am therefore downgrading the severity of the bug to minor and retitling it accordingly. Regards Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B [email protected] http://aurel32.net

