matplotlib / matplotlib/ipympl

ipympl crashes when panning/zooming

Ouverte
#531 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Jupyter Notebook
Étoiles
1.7k
Forks
234
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

## Describe the issue
After a plot gets displayed in a notebook, I select either the zoom or pan button, move the cursor over the plot, and drag it to execute the operation. The plot correctly responds for a little while, but soon the server crashes with this error:

```
[E 16:08:31.532 NotebookApp] Uncaught exception, closing connection.
Traceback (most recent call last):
File "/Users/busko/Projects/software/miniconda3/envs/astro/lib/python3.10/site-packages/tornado/iostream.py", line 702, in _handle_events
self._handle_write()
File "/Users/busko/Projects/software/miniconda3/envs/astro/lib/python3.10/site-packages/tornado/iostream.py", line 976, in _handle_write
self._write_buffer.advance(num_bytes)
File "/Users/busko/Projects/software/miniconda3/envs/astro/lib/python3.10/site-packages/tornado/iostream.py", line 182, in advance
assert 0 < size <= self._size
AssertionError
Exception in callback None()
handle:
Traceback (most recent call last):
File "/Users/busko/Projects/software/miniconda3/envs/astro/lib/python3.10/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/Users/busko/Projects/software/miniconda3/envs/astro/lib/python3.10/site-packages/tornado/platform/asyncio.py", line 206, in _handle_events
handler_func(fileobj, events)
File "/Users/busko/Projects/software/miniconda3/envs/astro/lib/python3.10/site-packages/tornado/iostream.py", line 702, in _handle_events
self._handle_write()
File "/Users/busko/Projects/software/miniconda3/envs/astro/lib/python3.10/site-packages/tornado/iostream.py", line 976, in _handle_write
self._write_buffer.advance(num_bytes)
File "/Users/busko/Projects/software/miniconda3/envs/astro/lib/python3.10/site-packages/tornado/iostream.py", line 182, in advance
assert 0 < size <= self._size
AssertionError
[W 16:08:31.533 NotebookApp] zmq message arrived on closed channel
```

## Versions
I suppose I'm using the latest versions of everything (under Python 3.10.9), sinceI just installed everything from scratch on a new Mac M1 (which has the developer tools and rosetta).

```
bash-3.2$ python -c "import sys; print('\n',sys.version); import ipympl; print('ipympl version:', ipympl.__version__)" && jupyter --version && jupyter nbextension list && jupyter labextension list

3.10.9 (main, Jan 11 2023, 09:18:20) [Clang 14.0.6 ]
ipympl version: 0.9.3
Selected Jupyter core packages...
IPython : 8.14.0
ipykernel : 6.24.0
ipywidgets : 8.0.7
jupyter_client : 8.3.0
jupyter_core : 5.3.1
jupyter_server : 2.7.0
jupyterlab : not installed
nbclient : 0.8.0
nbconvert : 7.7.1
nbformat : 5.9.1
notebook : 6.5.4
qtconsole : 5.4.3
traitlets : 5.9.0
Known nbextensions:
config dir: /Users/busko/Projects/software/miniconda3/envs/astro/etc/jupyter/nbconfig
notebook section
jupyter-matplotlib/extension enabled
- Validating: OK
jupyter-js-widgets/extension enabled
- Validating: OK
usage: jupyter [-h] [--version] [--config-dir] [--data-dir] [--runtime-dir] [--paths] [--json] [--debug] [subcommand]

Jupyter: Interactive Computing

positional arguments:
subcommand the subcommand to launch

options:
-h, --help show this help message and exit
--version show the versions of core jupyter packages and exit
--config-dir show Jupyter config dir
--data-dir show Jupyter data dir
--runtime-dir show Jupyter runtime dir
--paths show all Jupyter paths. Add --json for machine-readable format.
--json output paths as machine-readable json
--debug output debug information about paths

Available subcommands: bundlerextension console dejavu events execute kernel kernelspec migrate nbclassic nbconvert nbextension
notebook qtconsole run server serverextension troubleshoot trust

Jupyter command `jupyter-labextension` not found.

```

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Reproduisez le crash dans un notebook en affichant un graphique et en faisant glisser avec le contrôle de zoom ou de panoramique, en utilisant la configuration signalée avec Python 3.10.9 et ipympl 0.9.3. Commencez par l’assertion de Tornado et les versions des paquets Jupyter indiquées ; c’est terminé lorsque le panoramique et le zoom peuvent continuer sans que le serveur ou la connexion ne plante.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
jupyter, jupyter-notebook, matplotlib, python
Domaine
data-visualization
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.