Heap corruption when printing, if importing pytorch *before* julia
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
Reproduce el ejemplo mínimo en macOS con los dos órdenes de importación y, después, empieza en julia/core.py alrededor de Julia.eval, _call y check_exception. Sigue el error EEXIST de pipe_open notificado y compara el comportamiento cuando PyTorch se importa primero; se considera terminado cuando el ejemplo ya no corrompe el heap ni se aborta.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I have no idea what this very strange issue comes from. It could be a combination of my specific torch version (tested 1.11-1.13, still occurs), specific operating system (macOS), specific python version (3.8.9) combined with my specific julia version (1.7.2).
Here's a minimal example:
import torch
from julia import Pkg
Pkg.add("StatsBase")
The output is:
Python(61891,0x100598580) malloc: *** error for object 0xffffffff00000000: pointer being freed was not allocated
Python(61891,0x100598580) malloc: *** set a breakpoint in malloc_error_break to debug
signal (6): Abort trap: 6
in expression starting at none:0
__pthread_kill at /usr/lib/system/libsystem_kernel.dylib (unknown line)
Allocations: 11431809 (Pool: 11423282; Big: 8527); GC: 14
[1] 61891 abort ~/venvs/main/bin/ipython
However, I can make this go away with:
from julia import Pkg
import torch
Pkg.add("StatsBase")
This works fine.
I see this more helpful error when I run this code in a debugger:
File ~/venvs/main/lib/python3.8/site-packages/julia/core.py:621, in Julia.eval(self, src)
619 if src is None:
620 return None
--> 621 ans = self._call(src)
622 if not ans:
623 return None
File ~/venvs/main/lib/python3.8/site-packages/julia/core.py:549, in Julia._call(self, src)
547 # logger.debug("_call(%s)", src)
548 ans = self.api.jl_eval_string(src.encode('utf-8'))
--> 549 self.check_exception(src)
551 return ans
File ~/venvs/main/lib/python3.8/site-packages/julia/core.py:603, in Julia.check_exception(self, src)
601 else:
602 exception = sprint(showerror, self._as_pyobj(res))
--> 603 raise JuliaError(u'Exception \'{}\' occurred while calling julia code:\n{}'
604 .format(exception, src))
JuliaError: Exception 'IOError: pipe_open: file already exists (EEXIST)' occurred while calling julia code:
So it seems like perhaps pytorch is taking over one of the pipes for printing from Python?
- Lenguaje dominante
- Python
- Estrellas
- 893
- Forks
- 101
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de JuliaPy/pyjulia
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
-
Kill existing Julia sessionAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Todos los issues de JuliaPy/pyjulia
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
epam/ai-dial-quickapps-backend#628 ·
Los mantenedores suelen responder en 2 días
-
0xlau.dev 已失效,切换成 timlau.meAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 69/100
timqian/chinese-independent-blogs#2235 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
eclipse-score/coverage_tool#27 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
bojieli/ai-agent-book#1174 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
RedHatQE/mtv-api-tests#721 ·
Los mantenedores suelen responder en 1 día