wx backend assertion error with fig.canvas.timer.start() · Issue #18620 · matplotlib/matplotlib · GitHub
Skip to content

wx backend assertion error with fig.canvas.timer.start() #18620

Description

@gonesurfing

wx assertion error when starting canvas timer instance.

Code for reproduction

import matplotlib
matplotlib.use('WXAgg')
import matplotlib.pyplot as plt
import numpy as np
from datetime import datetime

def update_title(axes):
    axes.set_title(datetime.now())
    axes.figure.canvas.draw()
fig, ax = plt.subplots()
x = np.linspace(-3, 3)
ax.plot(x, x ** 2)
timer = fig.canvas.new_timer(interval=100)
timer.add_callback(update_title, ax)
timer.start()
plt.show()

Actual outcome

Traceback (most recent call last):
  File "timer_debug.py", line 18, in <module>
    timer = fig.canvas.new_timer(interval=100)
  File "/Users/ewthornton/opt/anaconda3/envs/grid_gen3/lib/python3.7/site-packages/matplotlib/backend_bases.py", line 2374, in new_timer
    return self._timer_cls(interval=interval, callbacks=callbacks)
  File "/Users/ewthornton/opt/anaconda3/envs/grid_gen3/lib/python3.7/site-packages/matplotlib/backends/backend_wx.py", line 78, in __init__
    TimerBase.__init__(self, *args, **kwargs)
  File "/Users/ewthornton/opt/anaconda3/envs/grid_gen3/lib/python3.7/site-packages/matplotlib/backend_bases.py", line 1094, in __init__
    self.single_shot = False
  File "/Users/ewthornton/opt/anaconda3/envs/grid_gen3/lib/python3.7/site-packages/matplotlib/backend_bases.py", line 1145, in single_shot
    self._timer_set_single_shot()
  File "/Users/ewthornton/opt/anaconda3/envs/grid_gen3/lib/python3.7/site-packages/matplotlib/backends/backend_wx.py", line 91, in _timer_set_single_shot
    self._timer.Start()
wx._core.wxAssertionError: C++ assertion "m_milli > 0" failed at /opt/concourse/worker/volumes/live/3ef8f33f-8e5b-442f-6716-948fc4646a36/volume/wxpython_1547931203930/work/ext/wxWidgets/src/osx/core/timer.cpp(69) in Start(): invalid value for timer timeout

Expected outcome
Should produce output like this example.
https://matplotlib.org/3.1.1/gallery/event_handling/timers.html

Matplotlib version

  • Operating system: OSX 10.15.6
  • Matplotlib version: 3.3.2 (bug not present in 3.2.2)
  • Matplotlib backend (print(matplotlib.get_backend())): wxAgg
  • Python version: 3.7.8
  • Jupyter version (if applicable):
  • Other libraries: wxpython 4.0.4 (also tried 4.0.7-post2)

conda

Conda-forge

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions