importing gwpy.time locks up plotting with matplotlib 3.5.3
Found in version 3.0.5
Steps to recreate:
Create a conda environment with python=3.10, matplotlib=3.5.3, gwpy=3.0.5
run the following code:
import matplotlib.pyplot as plot
from gwpy.time import tconvert
plot.plot([1,2,3],[2,2,1])
plot.show()
The plot window should start to appear, then the program locks up. Commenting out the gwpy.time import fixes the problem.
I also tested python 3.9 and got the following stack trace instead:
Traceback (most recent call last):
File "/ligo/home/erik.vonreis/projects/matplotlibtest/test.py", line 4, in <module>
plot.plot([1,2,3],[2,2,1])
File "/ligo/home/erik.vonreis/.conda/envs/matplotlib/lib/python3.9/site-packages/matplotlib/pyplot.py", line 3578, in plot
return gca().plot(
File "/ligo/home/erik.vonreis/.conda/envs/matplotlib/lib/python3.9/site-packages/matplotlib/axes/_axes.py", line 1723, in plot
self.add_line(line)
File "/ligo/home/erik.vonreis/.conda/envs/matplotlib/lib/python3.9/site-packages/matplotlib/axes/_base.py", line 2304, in add_line
_api.check_isinstance(mlines.Line2D, line=line)
File "/ligo/home/erik.vonreis/.conda/envs/matplotlib/lib/python3.9/site-packages/matplotlib/_api/__init__.py", line 91, in check_isinstance
raise TypeError(
TypeError: 'line' must be an instance of matplotlib.lines.Line2D, not a matplotlib.patches.Polygon
Hi @evonreis,
I can confirm that I also get the TypeError with python3.9.
I do not get the lock with Python 3.10 (3.10.0 or 3.10.12), gwpy=3.0.5 matplotlib=3.5.3 . Could you provide the whole version list for the env?
The TypeError looks similar to the issue fixed by #1661, but I'm surprised that this is appearing with an older matplotlib.
Can this issue be reproduced using gwpy 3.0.7 (the latest release)?
@asouthgate, the failure was on our remote workstation. I installed the exact environment on my laptop and couldn't reproduce the error there. Both are running updated Debian 11.
Exact environment is here:
from `mamba list`
# packages in environment at /ligo/home/erik.vonreis/.conda/envs/matplotlib2:
#
# Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 2_gnu conda-forge
alsa-lib 1.2.10 hd590300_0 conda-forge
astropy 5.3.4 py310h1f7b6fc_2 conda-forge
attr 2.5.1 h166bdaf_1 conda-forge
brotli 1.1.0 hd590300_1 conda-forge
brotli-bin 1.1.0 hd590300_1 conda-forge
brotli-python 1.1.0 py310hc6cd4ac_1 conda-forge
bzip2 1.0.8 h7f98852_4 conda-forge
c-ares 1.20.1 hd590300_1 conda-forge
ca-certificates 2023.7.22 hbcca054_0 conda-forge
cached-property 1.5.2 hd8ed1ab_1 conda-forge
cached_property 1.5.2 pyha770c72_1 conda-forge
cairo 1.18.0 h3faef2a_0 conda-forge
certifi 2023.7.22 pyhd8ed1ab_0 conda-forge
cffi 1.16.0 py310h2fee648_0 conda-forge
charset-normalizer 3.3.1 pyhd8ed1ab_0 conda-forge
colorama 0.4.6 pyhd8ed1ab_0 conda-forge
cryptography 41.0.4 py310h75e40e8_0 conda-forge
cycler 0.12.1 pyhd8ed1ab_0 conda-forge
dbus 1.13.6 h5008d03_3 conda-forge
dqsegdb2 1.2.1 pyhd8ed1ab_0 conda-forge
expat 2.5.0 hcb278e6_1 conda-forge
font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge
font-ttf-inconsolata 3.000 h77eed37_0 conda-forge
font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge
font-ttf-ubuntu 0.83 hab24e00_0 conda-forge
fontconfig 2.14.2 h14ed4e7_0 conda-forge
fonts-conda-ecosystem 1 0 conda-forge
fonts-conda-forge 1 0 conda-forge
fonttools 4.43.1 py310h2372a71_0 conda-forge
freetype 2.12.1 h267a509_2 conda-forge
gettext 0.21.1 h27087fc_0 conda-forge
glib 2.78.0 hfc55251_0 conda-forge
glib-tools 2.78.0 hfc55251_0 conda-forge
graphite2 1.3.13 h58526e2_1001 conda-forge
gst-plugins-base 1.22.6 h8e1006c_2 conda-forge
gstreamer 1.22.6 h98fc4e7_2 conda-forge
gwdatafind 1.1.3 pyhd8ed1ab_0 conda-forge
gwosc 0.7.1 pyhd8ed1ab_0 conda-forge
gwpy 3.0.5 pyhd8ed1ab_0 conda-forge
h5py 3.10.0 nompi_py310ha2ad45a_100 conda-forge
harfbuzz 8.2.1 h3d44ed6_0 conda-forge
hdf5 1.14.2 nompi_h4f84152_100 conda-forge
icu 73.2 h59595ed_0 conda-forge
idna 3.4 pyhd8ed1ab_0 conda-forge
igwn-auth-utils 1.1.0 pyhd8ed1ab_0 conda-forge
importlib-metadata 6.8.0 pyha770c72_0 conda-forge
keyutils 1.6.1 h166bdaf_0 conda-forge
kiwisolver 1.4.5 py310hd41b1e2_1 conda-forge
krb5 1.21.2 h659d440_0 conda-forge
lame 3.100 h166bdaf_1003 conda-forge
lcms2 2.15 hb7c19ff_3 conda-forge
ld_impl_linux-64 2.40 h41732ed_0 conda-forge
lerc 4.0.0 h27087fc_0 conda-forge
libaec 1.1.2 h59595ed_1 conda-forge
libblas 3.9.0 19_linux64_openblas conda-forge
libbrotlicommon 1.1.0 hd590300_1 conda-forge
libbrotlidec 1.1.0 hd590300_1 conda-forge
libbrotlienc 1.1.0 hd590300_1 conda-forge
libcap 2.69 h0f662aa_0 conda-forge
libcblas 3.9.0 19_linux64_openblas conda-forge
libclang 15.0.7 default_h7634d5b_3 conda-forge
libclang13 15.0.7 default_h9986a30_3 conda-forge
libcups 2.3.3 h4637d8d_4 conda-forge
libcurl 8.4.0 hca28451_0 conda-forge
libdeflate 1.19 hd590300_0 conda-forge
libedit 3.1.20191231 he28a2e2_2 conda-forge
libev 4.33 h516909a_1 conda-forge
libevent 2.1.12 hf998b51_1 conda-forge
libexpat 2.5.0 hcb278e6_1 conda-forge
libffi 3.4.2 h7f98852_5 conda-forge
libflac 1.4.3 h59595ed_0 conda-forge
libgcc-ng 13.2.0 h807b86a_2 conda-forge
libgcrypt 1.10.1 h166bdaf_0 conda-forge
libgfortran-ng 13.2.0 h69a702a_2 conda-forge
libgfortran5 13.2.0 ha4646dd_2 conda-forge
libglib 2.78.0 hebfc3b9_0 conda-forge
libgomp 13.2.0 h807b86a_2 conda-forge
libgpg-error 1.47 h71f35ed_0 conda-forge
libiconv 1.17 h166bdaf_0 conda-forge
libjpeg-turbo 3.0.0 hd590300_1 conda-forge
liblapack 3.9.0 19_linux64_openblas conda-forge
libllvm15 15.0.7 h5cf9203_3 conda-forge
libnghttp2 1.52.0 h61bc06f_0 conda-forge
libnsl 2.0.1 hd590300_0 conda-forge
libogg 1.3.4 h7f98852_1 conda-forge
libopenblas 0.3.24 pthreads_h413a1c8_0 conda-forge
libopus 1.3.1 h7f98852_1 conda-forge
libpng 1.6.39 h753d276_0 conda-forge
libpq 16.0 hfc447b1_1 conda-forge
libsndfile 1.2.2 hc60ed4a_1 conda-forge
libsqlite 3.43.2 h2797004_0 conda-forge
libssh2 1.11.0 h0841786_0 conda-forge
libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge
libsystemd0 254 h3516f8a_0 conda-forge
libtiff 4.6.0 ha9c0a0a_2 conda-forge
libuuid 2.38.1 h0b41bf4_0 conda-forge
libvorbis 1.3.7 h9c3ff4c_0 conda-forge
libwebp-base 1.3.2 hd590300_0 conda-forge
libxcb 1.15 h0b41bf4_0 conda-forge
libxkbcommon 1.6.0 h5d7e998_0 conda-forge
libxml2 2.11.5 h232c23b_1 conda-forge
libzlib 1.2.13 hd590300_5 conda-forge
ligo-segments 1.4.0 py310h2372a71_5 conda-forge
ligotimegps 2.0.1 py_0 conda-forge
lz4-c 1.9.4 hcb278e6_0 conda-forge
matplotlib 3.5.3 py310hff52083_2 conda-forge
matplotlib-base 3.5.3 py310h8d5ebf3_2 conda-forge
mpg123 1.32.3 h59595ed_0 conda-forge
munkres 1.1.4 pyh9f0ad1d_0 conda-forge
mysql-common 8.0.33 hf1915f5_5 conda-forge
mysql-libs 8.0.33 hca2cd23_5 conda-forge
ncurses 6.4 hcb278e6_0 conda-forge
nspr 4.35 h27087fc_0 conda-forge
nss 3.94 h1d7d5a4_0 conda-forge
numpy 1.26.0 py310hb13e2d6_0 conda-forge
openjpeg 2.5.0 h488ebb8_3 conda-forge
openssl 3.1.4 hd590300_0 conda-forge
packaging 23.2 pyhd8ed1ab_0 conda-forge
pcre2 10.40 hc3806b6_0 conda-forge
pillow 10.1.0 py310h01dd4db_0 conda-forge
pip 23.3.1 pyhd8ed1ab_0 conda-forge
pixman 0.42.2 h59595ed_0 conda-forge
ply 3.11 py_1 conda-forge
pthread-stubs 0.4 h36c2ea0_1001 conda-forge
pulseaudio-client 16.1 hb77b528_5 conda-forge
pycparser 2.21 pyhd8ed1ab_0 conda-forge
pyerfa 2.0.1.1 py310h1f7b6fc_0 conda-forge
pyjwt 2.8.0 pyhd8ed1ab_0 conda-forge
pyparsing 3.1.1 pyhd8ed1ab_0 conda-forge
pyqt 5.15.9 py310h04931ad_5 conda-forge
pyqt5-sip 12.12.2 py310hc6cd4ac_5 conda-forge
pysocks 1.7.1 pyha2e5f31_6 conda-forge
python 3.10.12 hd12c33a_0_cpython conda-forge
python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge
python_abi 3.10 4_cp310 conda-forge
pyyaml 6.0.1 py310h2372a71_1 conda-forge
qt-main 5.15.8 h82b777d_17 conda-forge
readline 8.2 h8228510_1 conda-forge
requests 2.31.0 pyhd8ed1ab_0 conda-forge
safe-netrc 1.0.0 py_0 conda-forge
scipy 1.11.3 py310hb13e2d6_1 conda-forge
scitokens 1.7.4 pyhd8ed1ab_0 conda-forge
setuptools 68.2.2 pyhd8ed1ab_0 conda-forge
sip 6.7.12 py310hc6cd4ac_0 conda-forge
six 1.16.0 pyh6c4a22f_0 conda-forge
tk 8.6.13 h2797004_0 conda-forge
toml 0.10.2 pyhd8ed1ab_0 conda-forge
tomli 2.0.1 pyhd8ed1ab_0 conda-forge
tornado 6.3.3 py310h2372a71_1 conda-forge
tqdm 4.66.1 pyhd8ed1ab_0 conda-forge
tzdata 2023c h71feb2d_0 conda-forge
unicodedata2 15.1.0 py310h2372a71_0 conda-forge
urllib3 2.0.7 pyhd8ed1ab_0 conda-forge
wheel 0.41.2 pyhd8ed1ab_0 conda-forge
xcb-util 0.4.0 hd590300_1 conda-forge
xcb-util-image 0.4.0 h8ee46fc_1 conda-forge
xcb-util-keysyms 0.4.0 h8ee46fc_1 conda-forge
xcb-util-renderutil 0.3.9 hd590300_1 conda-forge
xcb-util-wm 0.4.1 h8ee46fc_1 conda-forge
xkeyboard-config 2.40 hd590300_0 conda-forge
xorg-kbproto 1.0.7 h7f98852_1002 conda-forge
xorg-libice 1.1.1 hd590300_0 conda-forge
xorg-libsm 1.2.4 h7391055_0 conda-forge
xorg-libx11 1.8.7 h8ee46fc_0 conda-forge
xorg-libxau 1.0.11 hd590300_0 conda-forge
xorg-libxdmcp 1.1.3 h7f98852_0 conda-forge
xorg-libxext 1.3.4 h0b41bf4_2 conda-forge
xorg-libxrender 0.9.11 hd590300_0 conda-forge
xorg-renderproto 0.11.1 h7f98852_1002 conda-forge
xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge
xorg-xf86vidmodeproto 2.3.1 h7f98852_1002 conda-forge
xorg-xproto 7.0.31 h7f98852_1007 conda-forge
xz 5.2.6 h166bdaf_0 conda-forge
yaml 0.2.5 h7f98852_2 conda-forge
zipp 3.17.0 pyhd8ed1ab_0 conda-forge
zlib 1.2.13 hd590300_5 conda-forge
zstd 1.5.5 hfc55251_0 conda-forge
@duncanmmacleod the lock-up still happens with gwpy=3.0.7