-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
Hi,
I am seeing failures on the nightly runs of a few downstream projects since a couple of days ago:
- https://github.com/multiphenics/multiphenicsx/actions/runs/18549413534/job/52873933737 (today, failure)
- https://github.com/multiphenics/multiphenicsx/actions/runs/18454396041/job/52573268733 (3 days ago, success)
The failures are all of the type
TimeoutError: 3 engines not ready in 60 seconds. Currently ready: 1
I am puzzled by the failure, since none of the python packages I am installing on my CI has had any version change since 3 days ago (except for coverage
, which is surely unrelated). I tried to track down the issue, and it seems to me that it boils down to an incompatibility between ipywidgets
, ipyparallel
and nbval
.
A sample test notebook test.ipynb
is
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "cluster_start",
"metadata": {},
"outputs": [],
"source": [
"import ipyparallel as ipp\n",
"\n",
"cluster = ipp.Cluster(engines=\"MPI\", profile=\"mpi\", n=3, engine_timeout=10)\n",
"cluster.start_and_connect_sync()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "cluster_stop",
"metadata": {},
"outputs": [],
"source": [
"cluster.stop_cluster_sync()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython"
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
If I run it on a clean debian:13
docker image on my amd64 laptop with
apt update
apt install mpich python3-pip
pip install --break-system-packages nbval mpi4py ipyparallel
pytest --nbval test.ipynb
then pytest runs ok. However, if I add the two next lines
pip install --break-system-packages ipywidgets
pytest --nbval test.ipynb
then execution hangs and I have to interrupt pytest after a while (more than the engine timeout), and get zmq/backend/cython/_zmq.py:179: KeyboardInterrupt
Similarly, on the actual downstream image dolfinx/dolfinx:nightly
(that is used on the downstream CI) a first run with
pip install --break-system-packages nbval mpi4py ipyparallel
pytest --nbval test.ipynb
works ok, but then a further
pip install --break-system-packages ipywidgets
pytest --nbval test.ipynb
fails with
TimeoutError: 3 engines not ready in 10 seconds. Currently ready: 1