JuliaPy / JuliaPy/PyCall.jl

Calling `pywrap` on the Python3 `inspect` module hangs (Linux)

Aperta
#252 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Julia
Stelle
1.5k
Fork
186
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

I get a hang/lockup when I try to `pywrap` the `inspect` python library when using Python3.4. CPU is pegged at 100% on a single core. There is no problem when using Python2.7. I had a friend replicate this under a fresh vagrant install, and then also had a hang under Python3.4 but not Python 2.7 (in their case, running Julia 0.3.x).

I assume this has something to do with the internal use of the 'inspect' module within PyCall, but i'm not certain.

CC: @porterjamesj

Details below; the hang is on the last line. I would expect instead that "**anon**" (a module) would be returned.

```
julia> versioninfo()
Julia Version 0.4.3
Commit a2f713d (2016-01-12 21:37 UTC)
Platform Info:
System: Linux (x86_64-unknown-linux-gnu)
CPU: Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz
WORD_SIZE: 64
BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
LAPACK: libopenblas64_
LIBM: libopenlibm
LLVM: libLLVM-3.3

julia> versioninfo()
Julia Version 0.4.3
Commit a2f713d (2016-01-12 21:37 UTC)
Platform Info:
System: Linux (x86_64-unknown-linux-gnu)
CPU: Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz
WORD_SIZE: 64
BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
LAPACK: libopenblas64_
LIBM: libopenlibm
LLVM: libLLVM-3.3

julia> Pkg.status("PyCall")
- PyCall 1.4.0

julia> ENV["PYTHON"] = "/usr/bin/python3.4"
"/usr/bin/python3.4"

julia> Pkg.build("PyCall")
INFO: Building PyCall
INFO: PyCall is using /usr/bin/python3.4 (Python 3.4.2) at /usr/bin/python3.4, libpython = libpython3.4m

julia> using PyCall
INFO: Recompiling stale cache file /home/bnewbold/.julia/lib/v0.4/PyCall.ji for module PyCall.

julia> pywrap(pyimport("os"))
__anon__

julia> pywrap(pyimport("math"))
__anon__

julia> pywrap(pyimport("inspect"))
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Reproduce the hang with Julia 0.4.3, PyCall 1.4.0, Python 3.4, and pywrap(pyimport("inspect")), comparing it with the os and math examples and Python 2.7. Start by tracing pywrap and PyCall's internal use of Python's inspect module. Done means the inspect call no longer hangs and returns the expected __anon__ module result.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
julia, python
Ambito
backend
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.