JuliaPy / JuliaPy/PyCall.jl

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

Ouverte
#252 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Julia
Étoiles
1.5k
Forks
186
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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"))
```

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
julia, python
Domaine
backend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.