Open aghasemi opened 3 months ago
It looks like the crash is in javac
. There were some small changes to java files in Jep 4.2.2 but nothing major. It looks like the specific compile command that failed in your description was compiling test code and the only change to java test code in Jep 4.2.2 is the addition of the SubInterpreterThread class. Nothing in that class stands out to me as something that should be crashing the Java compiler.
I tried to reproduce your problem. I was unable to install python 3.10 on a ubuntu 24.04 container, as far as I can tell ubuntu 24.04 comes with python 3.12. Since the crash is in javac
the python version shouldn't make much difference but perhaps I don't understand what environment you are in. Within the ubuntu:24.04 container I ran the following commands to test it and I did not see any crashing.
apt-get update
apt-get install openjdk-21-jdk python3-venv pip
python3 -m venv path/to/venv
source path/to/venv/bin/activate
for run in {1..100}; do echo $run; pip install --no-cache jep==4.2.2; pip uninstall -y jep==4.2.2; done
Please report back if you make any progress with your investigation or if you have any ideas how I might be able to recreate it.
Thanks for your investigation. Here is my Dockerfile that causes the failure. Sorry if I have mistaken Python version. I meant the one that is default on Ubuntu 24.04
FROM ubuntu:24.04
USER 0
ENV TZ Europe/Zurich
RUN echo $JAVA_HOME
RUN apt-get update && apt-get install -y --no-install-recommends build-essential openjdk-21-jdk-headless maven python3-pip python3-dev vim curl && rm -rf /var/lib/apt/lists/*
ENV JAVA_HOME /usr/lib/jvm/java-21-openjdk-amd64
#USER 1000
RUN pip3 install --no-cache-dir --break-system-packages pandas==2.2.3 jep==4.2.2
I use corporate mirrors of repositories (Dockerhub + PIP_INDEX_URL), but I doubt that has an effect, maybe? :-/
And it is, as I said, interestingly hit and miss still, with more success than failure, it seems.
Thanks for the Dockerfile. I've built it 30 times on my machine and it succeeded each time. After building a few times I changed the Dockerfile to add an ARG right before the pip install so I could increment the arg and prevent docker from caching the last step. I've included my Dockerfile below for reference.
FROM ubuntu:24.04
USER 0
ENV TZ Europe/Zurich
RUN echo $JAVA_HOME
RUN apt-get update && apt-get install -y --no-install-recommends build-essential openjdk-21-jdk-headless maven python3-pip python3-dev vim curl && rm -rf /var/lib/apt/lists/*
ENV JAVA_HOME /usr/lib/jvm/java-21-openjdk-amd64
#USER 1000
ARG repeat=1
RUN pip3 install --no-cache-dir --break-system-packages pandas==2.2.3 jep==4.2.2
I do not have any good explanation why it intermittently fails for you and not me. The best idea I can come up with is that perhaps your corporate mirror has an older version of ubuntu 24.04 with a bug. But since javac
is crashing I would think the bug would be in javac and that is installed by apt-get, not included on the docker image. If your corporate mirror has an apt repository maybe you have a buggy version of javac but this all seems very unlikely.
I don't think there is anything else I can do to troubleshoot this but I am curious to see if anyone else sees the problem.
Please let us know if you find any new details about this problem.
Thanks a lot. Yes it could be the corporate mirror in that sense. I hadn't thought about multiple 24.4 variants of Ubuntu/Java.
So, I have in the container Java 21.0.6 and Ubuntu 24.04.01, both apparently behind the latest minor/patch releases. Could be the cause. Thanks a lot for the hint.
Best
Describe the bug Hi. I noticed, after updating Python JEP version to 4.2.2, that sometimes(?) the pip build breaks with the following message, in an Ubuntu 24.04 container with default Python (3.10) and Java 21:
I couldn't reliably reproduce it. But I will continue investigating, and thought someone else may be interested. There is no problem when downgrading to 4.2.1
Thanks
To Reproduce Run
pip install jep==4.2.2
Expected behavior JEP is installed
Environment (please complete the following information):
Additional context