Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redocking the arboretum widget can mess with tree? #52

Open
alessandrofelder opened this issue May 12, 2022 · 0 comments
Open

Redocking the arboretum widget can mess with tree? #52

alessandrofelder opened this issue May 12, 2022 · 0 comments
Labels
bug Something isn't working

Comments

@alessandrofelder
Copy link
Contributor

When manually testing show_large_tree.py from #42 on my local installation of arboretum (on Windows 10) I noticed I can make the tree show as unconnected by redocking the arboretum widget. I have dug deeper yet. For now, documenting the steps to reproduce here (interested to see whether anyone else can reproduce).

From the error messages it looks like there are some problems with drawing the lines. But whether that is due to vispy, napari, or arboretum I don't know yet.

How to reproduce

  1. run python examples/show_large_tree.py
  2. move the arboretum widget and dock it to the top of the napari window
  3. move the arboretum widget and dock it back to the right of the napari window

screenshots

After step 1
large_tree_screenshot_1

After step 2
large_tree_screenshot_2

After step 3
large_tree_screenshot_3

Traceback and stdout/err

Python traceback and stdout after step 2

WARNING: Error drawing visual <vispy.visuals.line.line._GLLineVisual object at 0x0000024B03569310>
WARNING: Traceback (most recent call last):
  File "C:\Users\Alessandro\Documents\UCL-projects\napari-plugins\arboretum\examples\show_large_tree.py", line 40, in <module>
    napari.run()
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\napari\_qt\qt_event_loop.py", line 402, in run
    app.exec_()
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\app\backends\_qt.py", line 567, in event
    out = super(QtBaseCanvasBackend, self).event(ev)
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\app\backends\_qt.py", line 567, in event
    out = super(QtBaseCanvasBackend, self).event(ev)
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\app\backends\_qt.py", line 903, in paintGL
    self._vispy_canvas.events.draw(region=None)
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\util\event.py", line 453, in __call__
    self._invoke_callback(cb, event)
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\util\event.py", line 471, in _invoke_callback
    _handle_exception(self.ignore_callback_errors,
  << caught exception here: >>
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\util\event.py", line 469, in _invoke_callback
    cb(event)
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\scene\canvas.py", line 218, in on_draw
    self._draw_scene()
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\scene\canvas.py", line 277, in _draw_scene
    self.draw_visual(self.scene)
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\scene\canvas.py", line 315, in draw_visual
    node.draw()
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\scene\visuals.py", line 103, in draw
    self._visual_superclass.draw(self)
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\visuals\visual.py", line 605, in draw
    v.draw()
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\scene\visuals.py", line 103, in draw
    self._visual_superclass.draw(self)
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\visuals\visual.py", line 605, in draw
    v.draw()
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\visuals\visual.py", line 451, in draw
    self._program.draw(self._vshare.draw_mode,
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\visuals\shaders\program.py", line 102, in draw
    Program.draw(self, *args, **kwargs)
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\gloo\program.py", line 526, in draw
    canvas.context.flush_commands()
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\gloo\context.py", line 172, in flush_commands
    self.glir.flush(self.shared.parser)
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\gloo\glir.py", line 579, in flush
    self._shared.flush(parser)
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\gloo\glir.py", line 501, in flush
    parser.parse(self._filter(self.clear(), parser))
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\gloo\glir.py", line 819, in parse
    self._parse(command)
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\gloo\glir.py", line 781, in _parse
    ob.draw(*args)
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\gloo\glir.py", line 1318, in draw
    gl.check_error('Check before draw')
  File "C:\Users\Alessandro\anaconda3\envs\lowe-lab-env\lib\site-packages\vispy\gloo\gl\__init__.py", line 204, in check_error
    raise err
RuntimeError: OpenGL got errors (Check before draw): GL_INVALID_VALUE
ERROR: Invoking <bound method SceneCanvas.on_draw of <SceneCanvas (PyQt5) at 0x24b774db280>> for DrawEvent
WARNING: Error drawing visual <vispy.visuals.line.line._GLLineVisual object at 0x0000024B03569310>
ERROR: Invoking <bound method SceneCanvas.on_draw of <SceneCanvas (PyQt5) at 0x24b774db280>> repeat 2
WARNING: Error drawing visual <vispy.visuals.line.line._GLLineVisual object at 0x0000024B03569310>

After step 3 (when weird lines appear):

WARNING: Error drawing visual <vispy.visuals.line.line._GLLineVisual object at 0x0000024B03569310>
ERROR: Invoking <bound method SceneCanvas.on_draw of <SceneCanvas (PyQt5) at 0x24b774db280>> repeat 4
WARNING: Error drawing visual <vispy.visuals.line.line._GLLineVisual object at 0x0000024B03569310>
WARNING: Error drawing visual <vispy.visuals.line.line._GLLineVisual object at 0x0000024B03569310>
WARNING: Error drawing visual <vispy.visuals.line.line._GLLineVisual object at 0x0000024B03569310>
WARNING: Error drawing visual <vispy.visuals.line.line._GLLineVisual object at 0x0000024B035A3340>
ERROR: Invoking <bound method SceneCanvas.on_draw of <SceneCanvas (PyQt5) at 0x24b774db280>> repeat 8
@alessandrofelder alessandrofelder added the bug Something isn't working label May 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: 🗒 Backlog
Development

No branches or pull requests

1 participant