Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Heap corruption when printing, if importing pytorch *before* julia

オープン
#499 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
julia, macos, python, pytorch
領域
api, backend

調査の方向性

macOS で 2 通りの import 順序を使って最小限の例を再現し、その後 julia/core.py の Julia.eval、_call、check_exception 付近から調査を始めてください。報告された pipe_open EEXIST エラーを追跡し、PyTorch を先に import した場合の挙動と比較してください。この例でヒープが破壊されたり abort したりしなくなれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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?

主要言語
Python
スター
893
フォーク
101
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

JuliaPy/pyjulia のほかの issue

JuliaPy/pyjulia の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。