[Buildroot] [PATCHv2] support/testing: TestZfsUclibc: use internal backend for uClibc-ng toolchain

José Luis Salvador Rufo salvador.joseluis at gmail.com
Sun Sep 21 11:54:13 UTC 2025


Thank you all!

El sáb, 20 sept 2025 a las 17:58, Romain Naour
(<romain.naour at smile.fr>) escribió:
>
> As reported on the mailing list [1] while investigating the
> TestZfsUclibc Gitlab-CI failure, the python 3.13 interpreter itsef
> segfault at runtime:
>
>   Fatal Python error: _PyThreadState_Attach: non-NULL old thread state
>   Python runtime state: preinitialized
>   Thread 0xSegmentation fault
>
> This issue is related to the python 3.13 version bump [2] were several
> internal changes were added [3] to support PEP 703 [4].
> PEP 793 is about CPython’s global interpreter lock (“GIL”) removal
> for multi-threads support that requires a working C11 "thread_local"
> for thread-local storage [5].
>
> The new uclibc-ng 1.0.55 release contains a fix for this issue [6].
>
> Since the prebuilt Bootling aarch64 uclibc stable 2025.08-1 is based
> on previous uClibc-ng release (1.0.54) we have to use the internal
> toolchain backend to build a new uClibc-ng toolchain using uclibc-ng
> 1.0.55.
>
> Fixes:
> https://gitlab.com/buildroot.org/buildroot/-/jobs/11271124859 (TestZfsUclibc)
>
> [1] https://lore.kernel.org/buildroot/7a4d245d-1556-43c9-8997-6b1f791afbfe@gmail.com/ (TestZfsUclibc)
> [2] d63e207eb869063f82c867658676c2903beb08cb
> [3] https://github.com/python/cpython/commit/6e97a9647ae028facb392d12fc24973503693bd6
> [4] https://peps.python.org/pep-0703/
> [5] https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gcc/Thread-Local.html
> [6] https://github.com/wbx-github/uclibc-ng/commit/94c1297d52263e20cd9715601afa37f49d008d93
>
> Cc: José Luis Salvador Rufo <salvador.joseluis at gmail.com>
Tested-by: José Luis Salvador Rufo <salvador.joseluis at gmail.com>
> Cc: Waldemar Brodkorb <wbx at openadk.org>
> Signed-off-by: Romain Naour <romain.naour at smile.fr>
> ---
> v2: Following the uClibc-ng 1.0.55 release, update TestZfsUclibc changes
>     to use internal toolchain backend.
>     https://lore.kernel.org/buildroot/aM2fDL1IHgxX7arz@waldemar-brodkorb.de/T/#u
> ---
>  support/testing/tests/package/test_zfs.py | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/support/testing/tests/package/test_zfs.py b/support/testing/tests/package/test_zfs.py
> index 1b907ac4de..c218cc36a8 100644
> --- a/support/testing/tests/package/test_zfs.py
> +++ b/support/testing/tests/package/test_zfs.py
> @@ -74,9 +74,18 @@ class TestZfsGlibc(TestZfsBase):
>
>
>  class TestZfsUclibc(TestZfsBase):
> -    config = TestZfsBase.config + \
> +    # The Bootling aarch64 uclibc stable 2025.08-1 needs to be
> +    # rebuild with uClibc-ng 1.0.55.
> +    # See: https://github.com/wbx-github/uclibc-ng/commit/94c1297d52263e20cd9715601afa37f49d008d93
> +    config = TestZfsBase.config.replace('BR2_TOOLCHAIN_EXTERNAL=y\n', '')
> +    config = config.replace('BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y\n', '') + \
>          """
> -        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_STABLE=y
> +        BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y
> +        BR2_KERNEL_HEADERS_5_4=y
> +        BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
> +        BR2_PTHREAD_DEBUG=y
> +        BR2_TOOLCHAIN_BUILDROOT_CXX=y
> +        BR2_GCC_ENABLE_OPENMP=y
>          """
>
>      def test_run(self):
> --
> 2.51.0
>


More information about the buildroot mailing list