using PyPlot hangs/kills julia 1.8.5 or 1.9.0 on MacOS

未關閉
#567 4 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
35/100
Issue 類型
缺陷
描述清晰度
需要釐清
活躍度
停滯
技術堆疊
python

研究方向

使用提供的 Julia 1.8/1.9 啟動命令、LD_LIBRARY_PATH,以及在 macOS 上依序執行 using Conda、using PyCall 和 using PyPlot,重現該故障。檢查回報中的 Conda matplotlib 安裝以及先前的 MKL dylib 衝突;當 using PyPlot 完成且未發生掛起或以 Killed: 9 結束時,即表示完成。

由索引模型根據 Issue 內容生成。

描述

using PyPlot hangs or kills julia 1.8.5 or 1.9.0 on MacOS

Synopsis

using PyPlot hangs julia. No progress for >10 hours. No error message. User ^C exits julia with Killed: 9.

With repeated testing, behavior has evolved to crash immediately with Killed: 9, where it had hung.

Demonstration

Carefully recursively force-removed the conda directory $HOME/.julia/conda, which seems to be shared between julia 1.8 and 1.9.

Start julia, making sure dynamic dependencies are consistent with the conda python installation.

LD_LIBRARY_PATH="$HOME/.julia/conda/3/lib" /Applications/Julia-1.8.app/Contents/Resources/julia/bin/julia

or

LD_LIBRARY_PATH="$HOME/.julia/conda/3/lib" /Applications/Julia-1.9.app/Contents/Resources/julia/bin/julia

Make sure julia is using the conda python distribution and build PyCall.

ENV["PYTHON"]=""
]build PyCall
    Building Conda ─→ `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/e32a90da027ca45d84678b826fffd3110bb3fc90/build.log`
    Building PyCall → `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/62f417f6ad727987c755549e9cd88c46578da562/build.log`
...

Quit and restart julia, then run

using PyPlot

Since we started by wiping ~/.julia/conda, matplotlib is not installed. Conda is automatically deployed to install it:

[ Info: Installing matplotlib via the Conda matplotlib package...
[ Info: Running `conda install -y matplotlib` in root environment
...
Executing transaction: done

It hangs there.

Kill julia with ^C -> Killed: 9.

Try again now that matplotlib is installed:

LD_LIBRARY_PATH="$HOME/.julia/conda/3/lib" /Applications/Julia-1.8.app/Contents/Resources/julia/bin/julia
ENV["PYTHON"]=""
using PyPlot

Result: It just hangs immediately. So, I think probably conda installs matplotlib (maybe OK?), but julia is unable to use it.

I have to kill julia with ^C -> Killed: 9.

Trying again.

LD_LIBRARY_PATH="$HOME/.julia/conda/3/lib" /Applications/Julia-1.8.app/Contents/Resources/julia/bin/julia
ENV["PYTHON"]=""
using Conda  # returns
using PyCall  # returns
using PyPlot  # crashes
Killed: 9

Crashes and exits.

Even wiping .julia/conda again, it just crashes now with Killed: 9

Background

PyPlot had previously been working for me.
The first sign of trouble was an MKL dylib conflict error message and crash when running using PyPlot.
Unfortunately after many ^Cs I can't find that error message.

I updated julia's conda after that. Then I got the behavior reported above.

主要語言
Julia
星號
489
分支
89
PR 合併指標
30 天內沒有已合併 PR

環境準備

這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

JuliaPy/PyPlot.jl 的其他 Issue

查看 JuliaPy/PyPlot.jl 的全部 Issue

相似的 Issue

更多 Julia Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。