Skip to content

Assertion failure during undefined variable error reporting #57057

@maleadt

Description

@maleadt

As observed on PkgEval during CUDSS testing: https://s3.amazonaws.com/julialang-reports/nanosoldier/pkgeval/by_date/2025-01/14/CUDSS.primary.log

This is a package that depends on CUDA, which isn't available on PkgEval, so the libcuda global variable as used by the Clang.jl-generated ccalls generates an undefined variable exception. However, that now triggers an assertion:

julia: /source/src/gc-stock.c:721: jl_gc_small_alloc_inner: Assertion `__extension__ ({ __auto_type __atomic_load_ptr = (&ptls->gc_state); __typeof__ (*__atomic_load_ptr) __atomic_load_tmp; __atomic_load (__atomic_load_ptr, &__atomic_load_tmp, (memory_order_relaxed)); __atomic_load_tmp; }) == 0' failed.

[193] signal 6 (-6): Aborted
in expression starting at /home/pkgeval/.julia/packages/CUDSS/L1Cat/test/runtests.jl:15
unknown function (ip: 0x78a467d5cebc) at /lib/x86_64-linux-gnu/libc.so.6
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x78a467cf8394) at /lib/x86_64-linux-gnu/libc.so.6
__assert_fail at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
jl_gc_small_alloc_inner at /source/src/gc-stock.c:721
jl_gc_small_alloc_noinline at /source/src/gc-stock.c:783 [inlined]
jl_gc_alloc_ at /source/src/gc-stock.c:797
ijl_new_struct at /source/src/datatype.c:1558
ijl_undefined_var_error at /source/src/rtutils.c:152
macro expansion at /home/pkgeval/.julia/packages/CUDA/L1qZp/lib/utils/call.jl:214 [inlined]
macro expansion at /home/pkgeval/.julia/packages/CUDSS/L1Cat/src/libcudss.jl:229 [inlined]
#cudssGetProperty##0 at /home/pkgeval/.julia/packages/CUDA/L1qZp/lib/utils/call.jl:35 [inlined]

Introduced somewhere in 4250be8...71bfbb3, maybe as part of the binding changes (cc @Keno)?

Metadata

Metadata

Assignees

No one assigned

    Labels

    regressionRegression in behavior compared to a previous version

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions