Skip to content

Segmentation fault (signal 11) in Julia 1.12.3 on macOS arm64 when using Plots + SymPy in JupyterLab Desktop #60402

@r-de-r

Description

@r-de-r

Dear Julia Developers,

I would like to report a reproducible segmentation fault issue I am encountering with Julia 1.12.x on macOS.

Summary

When using Julia 1.12.2 or 1.12.3 on macOS (Apple Silicon) in JupyterLab Desktop, the Julia kernel frequently crashes with:

signal 11 (2): Segmentation fault: 11

This occurs even when no plotting function is executed; merely loading the Plots package appears to trigger instability that later causes a crash during SymPy operations.

The same workflow worked reliably on Julia 1.11.x.


Environment

  • Julia Version: 1.12.3 (also reproduced on 1.12.2)
  • OS: macOS (arm64, Apple M1)
  • Jupyter: JupyterLab Desktop
  • Threads: JULIA_NUM_THREADS=1
  • BLAS vendor: :lbt
  • Python: system Python used via PyCall / SymPy
  • Homebrew: completely removed from the system

versioninfo() output:

Julia Version 1.12.3
Commit 966d0af0fdf (2025-12-15)
Platform Info:
  OS: macOS (arm64-apple-darwin)
  CPU: Apple M1
  LLVM: libLLVM-18.1.7
  Threads: 1

Minimal Reproducible Example

The following code reliably reproduces the crash in JupyterLab:

using Plots
using SymPy

@syms R::positive r1::positive x1::positive r2::positive y2::positive

eq1 = x1^2 + r1^2 - (R + r1)^2
eq2 = (x1 - R)^2 + r1^2 - (R - r1)^2
eq3 = (R - r2)^2 + y2^2 - (R + r2)^2
eq4 = r2^2 + y2^2 - (R - r2)^2

res = solve([eq1, eq2, eq3, eq4], (R, r1, x1, y2))[1]

ans_r1 = res[2]   # segmentation fault occurs here

If using Plots is commented out, the crash does not occur.


Additional Observations

  • The crash happens even if no plotting backend (e.g. pyplot()) is explicitly selected or used.
  • The issue reproduces outside Jupyter as well, though it is more frequent inside JupyterLab Desktop.
  • Setting BLAS.set_num_threads(1) does not help.
  • Clearing ~/.julia/compiled does not help.
  • Removing Homebrew and external BLAS/OpenMP libraries does not help.

Workaround

Switching from Plots.jl to PlotlyJS.jl completely avoids the issue.
This suggests a possible interaction problem involving Plots.jl, Python-based backends, or library initialization order in Julia 1.12.x.


Thank you very much for your time and for developing Julia.
Please let me know if further diagnostic information would be helpful.

Best regards,
r-de-r

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions