Skip to content

Intermittent segfaults with Julia 1.11.2, possibly architecture-specific (AMD Zen 4), possibly alignment ? #135

Open
@sjdaines

Description

@sjdaines

I'm seeing intermittent segfaults with Julia 1.11.2, for code that works fine on Julia 1.10
This is using SIMD v3.7.0 (not tested other versions)

Attempt at a MWE (this only generates intermittent segfaults, the full code always fails with Julia 1.11.2):

julia> import SIMD
julia> rbuf = Ref{SIMD.Vec{8, Float32}}()
Base.RefValue{SIMD.Vec{8, Float32}}(<8 x Float32>[2.2f-44, 0.0, -2.4113148f37, 4.4487f-41, 6.78f-41, 0.0, 0.0, 0.0])
julia> rbuf[]  # segfault!

The behaviour of the MWE above seems to be intermittent: the first few runs with a fresh julia repl generate a segfault, subsequent runs on the same PC then work (whereas the full code always fails with Julia 1.11.2).
(rbuf is uninitialized in the MWE above, the full code of course does initialise the equivalent of rbuf[] and still fails with a segfault)

julia> versioninfo()
Julia Version 1.11.2
Commit 5e9a32e7af2 (2024-12-01 20:02 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 12 × AMD Ryzen 5 7600 6-Core Processor
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver4)
Threads: 1 default, 0 interactive, 1 GC (on 12 virtual cores)
Environment:
  JULIA_CONDAPKG_BACKEND = Null

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions