qtile: Qtile semi-crash disallowing you to click or use key bindings, vol.2

In 2019 I reported #1445 and we considered it solved but it either continues to be broken or I have encountered a very similar issue. It behaves exactly like #1445, so I will copy-paste it here

Randomly, from time to time (~ once a week), it happens to me, that Qtile halfway crashes and

  • I still see the desktop, it doesn’t disappear or fail or restart, anything
  • I can move the mouse, but I cannot click on anything
  • I can’t use my key bindings (I can use ctrl+alft+f2 to switch to TTY though)
  • I can type to the focused window

This time, in ~/.local/share/qtile/qtile.log appears:

2022-01-30 06:55:25,157 ERROR libqtile manager.py:process_key_event():L389 KB command error spawn: Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/libqtile/command/interface.py", line 316, in call
  File "/usr/lib/python3.10/site-packages/libqtile/core/manager.py", line 1101, in cmd_spawn
    """Run cmd, in a shell or not (default).
IndexError: list index out of range

2022-01-30 06:55:25,390 ERROR libqtile manager.py:process_key_event():L389 KB command error spawn: Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/libqtile/command/interface.py", line 316, in call
  File "/usr/lib/python3.10/site-packages/libqtile/core/manager.py", line 1101, in cmd_spawn
    """Run cmd, in a shell or not (default).
IndexError: list index out of range

2022-01-30 06:55:26,291 ERROR libqtile manager.py:process_key_event():L389 KB command error spawn: Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/libqtile/command/interface.py", line 316, in call
  File "/usr/lib/python3.10/site-packages/libqtile/core/manager.py", line 1101, in cmd_spawn
    """Run cmd, in a shell or not (default).
IndexError: list index out of range

2022-01-30 06:55:26,568 ERROR libqtile manager.py:process_key_event():L389 KB command error spawn: Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/libqtile/command/interface.py", line 316, in call
  File "/usr/lib/python3.10/site-packages/libqtile/core/manager.py", line 1101, in cmd_spawn
    """Run cmd, in a shell or not (default).
IndexError: list index out of range

When I try to run qtile-cmd -o cmd -f restart or another Qtile command, I get:

Traceback (most recent call last):
  File "/usr/lib64/python3.10/asyncio/streams.py", line 662, in read
    block = await self.read(self._limit)
  File "/usr/lib64/python3.10/asyncio/streams.py", line 669, in read
    await self._wait_for_data('read')
  File "/usr/lib64/python3.10/asyncio/streams.py", line 502, in _wait_for_data
    await self._waiter
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.10/asyncio/tasks.py", line 456, in wait_for
    return fut.result()
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/libqtile/ipc.py", line 181, in async_send
    read_data = await asyncio.wait_for(reader.read(), timeout=10)
  File "/usr/lib64/python3.10/asyncio/tasks.py", line 458, in wait_for
    raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/qtile", line 33, in <module>
    sys.exit(load_entry_point('qtile==0.20.0', 'console_scripts', 'qtile')())
  File "/usr/lib/python3.10/site-packages/libqtile/scripts/main.py", line 66, in main
    options.func(options)
  File "/usr/lib/python3.10/site-packages/libqtile/scripts/cmd_obj.py", line 165, in cmd_obj
    obj = get_object(cmd_client, args.obj_spec)
  File "/usr/lib/python3.10/site-packages/libqtile/scripts/cmd_obj.py", line 109, in get_object
    client = client.navigate(arg0, arg1)
  File "/usr/lib/python3.10/site-packages/libqtile/command/client.py", line 94, in navigate
    if not self._command.has_item(self._current_node, name, normalized_selector):
  File "/usr/lib/python3.10/site-packages/libqtile/command/interface.py", line 276, in has_item
    _, items = self.execute(items_call, (object_type,), {})
  File "/usr/lib/python3.10/site-packages/libqtile/command/interface.py", line 225, in execute
    status, result = self._client.send((call.parent.selectors, call.name, args, kwargs))
  File "/usr/lib/python3.10/site-packages/libqtile/ipc.py", line 161, in send
    return asyncio.run(self.async_send(msg))
  File "/usr/lib64/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/lib64/python3.10/asyncio/base_events.py", line 641, in run_until_complete
    return future.result()
  File "/usr/lib/python3.10/site-packages/libqtile/ipc.py", line 183, in async_send
    raise IPCError("Server not responding")
libqtile.ipc.IPCError: Server not responding

Any help is appreciated, at the moment I am forced to deal with this by killall -9 qtile and it really hurts.

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 22 (10 by maintainers)

Most upvoted comments

This issue is stale because it has been open 90 days with no activity. Remove the status: stale label or comment, or this will be closed in 30 days.

I will be the one to close this

Thanks, so can this stay closed? @FrostyX