pandas 2.2.3 import fails with RuntimeError on GraalPy 25.0.2
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 45/100
Hướng nghiên cứu
Tái hiện lỗi bằng Dockerfile và các lệnh được cung cấp, sau đó bắt đầu từ pandas._libs.tslibs.dtypes, được xác định trong traceback là dtypes.pyx trong quá trình import. Theo dõi quá trình khởi tạo gây ra lỗi kích thước dictionary và xác minh rằng công việc hoàn tất khi lệnh python -c \"import pandas\" được cung cấp chạy thành công trên GraalPy 25.0.2.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description
On Linux with GraalPy 25.0.2, a pandas wheel built from source installs successfully but fails on import with:
RuntimeError: dictionary changed size during iteration
The reporter used:
- GraalPy 25.0.2
- Linux x86_64
- numpy 2.2.6
- pandas 2.2.3
Traceback
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/user/Desktop/venv/lib/python3.12/site-packages/pandas/__init__.py", line 49, in <module>
from pandas.core.api import (
File "/home/user/Desktop/venv/lib/python3.12/site-packages/pandas/core/api.py", line 1, in <module>
from pandas._libs import (
File "/home/user/Desktop/venv/lib/python3.12/site-packages/pandas/_libs/__init__.py", line 18, in <module>
from pandas._libs.interval import Interval
File "interval.pyx", line 1, in init pandas._libs.interval
File "hashtable.pyx", line 1, in init pandas._libs.hashtable
File "missing.pyx", line 1, in init pandas._libs.missing
File "/home/user/Desktop/venv/lib/python3.12/site-packages/pandas/_libs/tslibs/__init__.py", line 39, in <module>
from pandas._libs.tslibs import dtypes # pylint: disable=import-self
File "dtypes.pyx", line 172, in init pandas._libs.tslibs.dtypes
RuntimeError: dictionary changed size during iteration
Dockerfile Used To Build Wheels
FROM --platform=linux/amd64 amazonlinux:2023
USER root
ARG GRAALPY_VERSION=25.0.2
ARG ARCH=amd64
RUN dnf update -y && \
dnf install -y \
wget tar gzip unzip patchelf gcc gcc-c++ patch git \
gcc-gfortran openblas-devel zlib-devel libjpeg-turbo-devel \
libxml2-devel libxslt-devel && \
dnf clean all
RUN wget https://github.com/oracle/graalpython/releases/download/graal-${GRAALPY_VERSION}/graalpy-${GRAALPY_VERSION}-linux-${ARCH}.tar.gz && \
tar -xzf graalpy-${GRAALPY_VERSION}-linux-${ARCH}.tar.gz -C /opt/ && \
rm graalpy-${GRAALPY_VERSION}-linux-${ARCH}.tar.gz
ENV PATH="/opt/graalpy-${GRAALPY_VERSION}-linux-${ARCH}/bin:$PATH"
RUN graalpy -m ensurepip --default-pip && \
graalpy -m pip install --upgrade pip auditwheel setuptools wheel && \
graalpy -m pip install meson-python ninja cython pyproject-metadata setuptools-scm pybind11
WORKDIR /workspace
CMD ["/bin/bash", "-c", "\
graalpy -m pip wheel numpy --no-binary numpy -w /workspace && \
graalpy -m auditwheel repair /workspace/numpy-*.whl -w /workspace/wheelhouse && \
graalpy -m pip install /workspace/wheelhouse/numpy-*.whl && \
graalpy -m pip wheel pandas --no-binary pandas --find-links /workspace/wheelhouse -w /workspace && \
graalpy -m auditwheel repair /workspace/pandas-*.whl -w /workspace/wheelhouse && \
cp /workspace/wheelhouse/*.whl /out \
"]
# docker build -t libs .
# docker run --rm -v "$PWD":/out --cpus="2" --memory="15g" --memory-swap="15g" libs
Steps To Reproduce
graalpy -m venv venv
source venv/bin/activate
docker build -t libs .
docker run --rm -v "$PWD":/out --cpus="2" --memory="15g" --memory-swap="15g" libs
pip install numpy*.whl pandas*.whl
python -c "import pandas"
Expected Behavior
import pandas succeeds.
Actual Behavior
import pandas raises RuntimeError: dictionary changed size during iteration during initialization of pandas._libs.tslibs.dtypes.
- Ngôn ngữ chính
- Python
- Star
- 1.7k
- Fork
- 155
- Merge trung bình
- 6 giờ 28 phút
- Pull request đã merge (30 ngày)
- 49
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của oracle/graalpython
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
oracle/graalpython#1105 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
oracle/graalpython#1102 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 74/100
oracle/graalpython#1133 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
oracle/graalpython#1112 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
oracle/graalpython#1111 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của oracle/graalpython
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area:docs
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
RailtownAI/railtracks#1633 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
review-panel severity:low
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
kristovatlas/coin-accounting#152 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation :blue_book:
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
PennyLaneAI/pennylane#10280 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
`pipx reinstall` prints a Python traceback when the reinstall failsCó thể đã có người làm @ParamTanna đã nhận hôm nay. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày