JuliaPy / JuliaPy/PyPlot.jl

using PyPlot hangs/kills julia 1.8.5 or 1.9.0 on MacOS

Abierto
#567 4 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Julia
Estrellas
488
Forks
90
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

## 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.
```julia
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
```julia
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.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.