qtile: [Wayland] Qtile crashes after exiting program that played fullscreen video

When using for instance Firefox or mpv to play a fullscreen video, Qtile (current git master) crashes when exiting the program. So in the case of mpv Qtile crashes immediately after the video, but in the case of Firefox I can play multiple Youtube videos and it will only crash after exiting Firefox. In both programs I can also toggle endlessly between fullscreen and windowed (tiled) without problems.

I’ve reproduced this problem after checking out a fresh copy of the git repo by using the wephyr script in the repo after setting up a development environment with dev.sh from the repo.

This is the traceback causing the crash after exiting Firefox:

Exception ignored from cffi callback <function notify_func at 0x7fdde8862b00>:
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pywayland/server/listener.py", line 32, in notify_func
    data = listener._signal._data_wrapper(data)
  File "/usr/lib/python3.10/site-packages/wlroots/wlr_types/surface.py", line 26, in __init__
    self.commit_event = Signal(ptr=ffi.addressof(self._ptr.events.commit))
AttributeError: cdata 'void *' has no attribute 'events'
Exception ignored from cffi callback <function notify_func at 0x7fdde8862b00>:
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pywayland/server/listener.py", line 32, in notify_func
    data = listener._signal._data_wrapper(data)
  File "/usr/lib/python3.10/site-packages/wlroots/wlr_types/surface.py", line 26, in __init__
    self.commit_event = Signal(ptr=ffi.addressof(self._ptr.events.commit))
AttributeError: cdata 'void *' has no attribute 'events'
Exception ignored from cffi callback <function notify_func at 0x7fdde8862b00>:
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pywayland/server/listener.py", line 32, in notify_func
    data = listener._signal._data_wrapper(data)
  File "/usr/lib/python3.10/site-packages/wlroots/wlr_types/surface.py", line 26, in __init__
    self.commit_event = Signal(ptr=ffi.addressof(self._ptr.events.commit))
AttributeError: cdata 'void *' has no attribute 'events'
Exception ignored from cffi callback <function notify_func at 0x7fdde8862b00>:
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pywayland/server/listener.py", line 32, in notify_func
    data = listener._signal._data_wrapper(data)
  File "/usr/lib/python3.10/site-packages/wlroots/wlr_types/surface.py", line 26, in __init__
    self.commit_event = Signal(ptr=ffi.addressof(self._ptr.events.commit))
AttributeError: cdata 'void *' has no attribute 'events'
free(): invalid next size (fast)

And this is the traceback after exiting mpv:

Exception ignored from cffi callback <function notify_func at 0x7f09e513eb00>:
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pywayland/server/listener.py", line 32, in notify_func
    data = listener._signal._data_wrapper(data)
  File "/usr/lib/python3.10/site-packages/wlroots/wlr_types/surface.py", line 26, in __init__
    self.commit_event = Signal(ptr=ffi.addressof(self._ptr.events.commit))
AttributeError: cdata 'void *' has no attribute 'events'
Exception ignored from cffi callback <function notify_func at 0x7f09e513eb00>:
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pywayland/server/listener.py", line 32, in notify_func
    data = listener._signal._data_wrapper(data)
  File "/usr/lib/python3.10/site-packages/wlroots/wlr_types/surface.py", line 26, in __init__
    self.commit_event = Signal(ptr=ffi.addressof(self._ptr.events.commit))
AttributeError: cdata 'void *' has no attribute 'events'
Exception ignored from cffi callback <function notify_func at 0x7f09e513eb00>:
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pywayland/server/listener.py", line 32, in notify_func
    data = listener._signal._data_wrapper(data)
  File "/usr/lib/python3.10/site-packages/wlroots/wlr_types/surface.py", line 26, in __init__
    self.commit_event = Signal(ptr=ffi.addressof(self._ptr.events.commit))
AttributeError: cdata 'void *' has no attribute 'events'
Exception ignored from cffi callback <function notify_func at 0x7f09e513eb00>:
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pywayland/server/listener.py", line 32, in notify_func
    data = listener._signal._data_wrapper(data)
  File "/usr/lib/python3.10/site-packages/wlroots/wlr_types/surface.py", line 26, in __init__
    self.commit_event = Signal(ptr=ffi.addressof(self._ptr.events.commit))
AttributeError: cdata 'void *' has no attribute 'events'
Exception ignored from cffi callback <function notify_func at 0x7f09e513eb00>:
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pywayland/server/listener.py", line 32, in notify_func
    data = listener._signal._data_wrapper(data)
  File "/usr/lib/python3.10/site-packages/wlroots/wlr_types/surface.py", line 26, in __init__
    self.commit_event = Signal(ptr=ffi.addressof(self._ptr.events.commit))
AttributeError: cdata 'void *' has no attribute 'events'
Exception ignored from cffi callback <function notify_func at 0x7f09e513eb00>:
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pywayland/server/listener.py", line 32, in notify_func
    data = listener._signal._data_wrapper(data)
  File "/usr/lib/python3.10/site-packages/wlroots/wlr_types/surface.py", line 26, in __init__
    self.commit_event = Signal(ptr=ffi.addressof(self._ptr.events.commit))
AttributeError: cdata 'void *' has no attribute 'events'
free(): invalid size

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 18 (9 by maintainers)

Commits related to this issue

Most upvoted comments

@m-col I don’t see an option to reopen this issue, but I’m afraid it’s not fixed. I’m now running the current git master with pywayland 0.4.11 and pywlroots 0.15.9.

This should be fixed now with v0.4.11 of pywayland. Please re-open if you update to pywayland and find that it is not fixed.