Skip to content

Crash under glibc 2.41 due to libopenlibm having an executable stack #57250

Closed
@kpobrien

Description

@kpobrien

With glibc-2.41,

ldd --version                                                      
ldd (GNU libc) 2.41
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

I get the following error trying to run Julia 1.9.4, 1.10.8, and 1.11.3.

ERROR: Unable to load dependent library /home/kevin/.julia/juliaup/julia-1.11.3+0.x64.linux.gnu/bin/../lib/julia/libopenlibm.so
Message:/home/kevin/.julia/juliaup/julia-1.11.3+0.x64.linux.gnu/bin/../lib/julia/libopenlibm.so: cannot enable executable stack as shared object requires: Invalid argument

Nightly (1.12.0-DEV.1971) starts without an error.

Downgrading to glibc-2.40 and lib32-glibc-2.40 fixes the error on all versions.

ldd --version
ldd (GNU libc) 2.40
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

I assume it's the same issue as ValveSoftware/portal2#451 which as the author points out, likely results from this change in glibc-2.41:

https://lists.gnu.org/archive/html/info-gnu/2025-01/msg00014.html

  • dlopen and dlmopen no longer make the stack executable if a shared
    library requires it, either implicitly because of a missing GNU_STACK
    ELF header (and default ABI permission having the executable bit set)
    or explicitly because of the executable bit in GNU_STACK, and the
    stack is not already executable. Instead, loading such objects will
    fail.

Metadata

Metadata

Assignees

No one assigned

    Labels

    external dependenciesInvolves LLVM, OpenBLAS, or other linked librariessystem:linuxAffects only Linux

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions