WayfireWM / WayfireWM/wf-shell

wf-dock crashes when monitor turns off and then it turns back on

Open
#271 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug stale
Dominant language
C++
Stars
179
Forks
55
Avg merge
16d 1h
Merged PRs (30d)
3

Description

Using plain wayfire with plugins-extra and wf-shell with wf-panel and wf-dock. Versions:

  • wayfire 0.9.0
  • wayfire-plugins-extra 0.9.0
  • wf-config 0.9.0
  • wf-shell 0.9.0

Installed from AUR and running on artix gnu+linux. The full gdb log with backtrace at the end:

wf-dock_log.txt

From the error and part of the BT it seems the segafult is caused when trying to use a pointer which was already removed:

Thread 1 "wf-dock" received signal SIGSEGV, Segmentation fault.
WfToplevel::handle_output_leave (this=0x5555557a0910, output=<error reading variable: Cannot access memory at address 0x8>) at ../wf-shell-0.9.0/src/dock/toplevel.cpp:99
99          pimpl->handle_output_leave(output);
ESC[?2004hESC[?2004l^MESC[?2004h(gdb) bt
ESC[?2004l^M#0  WfToplevel::handle_output_leave (this=0x5555557a0910, output=Python Exception <class 'gdb.MemoryError'>: Cannot access memory at address 0x8
#1  WfDockApp::handle_output_removed (this=0x555555598fb0, output=0x0) at ../wf-shell-0.9.0/src/dock/dock-app.cpp:89

No idea why that might be and that originates from:

#59 0x000055555556228b in WfDockApp::create (argc=1, argv=0x7fffffffdf18) at ../wf-shell-0.9.0/src/dock/dock-app.cpp:137
#60 main (argc=1, argv=0x7fffffffdf18) at ../wf-shell-0.9.0/src/dock/dock-app.cpp:147

Greetings !

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the backtrace and inspect WfDockApp::handle_output_removed in src/dock/dock-app.cpp and WfToplevel::handle_output_leave in src/dock/toplevel.cpp. Reproduce the monitor-off/on sequence and trace the output removal path. Done means wf-dock handles the transition without a segmentation fault.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.