Open WLCIssuesBot opened 7 years ago
Comment by sce Thursday Oct 29, 2015 at 21:44 GMT
After some more investigation it seems that an x11 window needs to be involved to trigger the bug.
In situation B, the window that is "on top" / last had focus will "survive", and the other(s) will go black (x11 or wayland, doesn't matter). Once one of the disappeared windows receive focus again then all windows re-appear.
This is how it looks after gkrellm has turned black. (It is floating in front of a visible terminal window.) Once it receives focus it becomes visible again:
[wlc] -> Repaint
[wlc] -> Finished frame
[wlc] -> Attach request
[wlc] -> Damage request
[wlc] -> Frame request
[wlc] -> Attached surface (8) with buffer of size (1920x1080)
[wlc] -> Activity marked
[wlc] -> Repaint scheduled
[wlc] => surface view 5
[wlc] -> Commit request
[wlc] -> Interpolated idle time 1.000000 (17 : 1)
[wlc] -> Finished frame
[wlc] -> Repaint
[wlc] -> Interpolated idle time 41.000000 (50 : 0)
[wlc] -> Finished frame
[wlc] -> Repaint
[wlc] -> Repaint
[wlc] -> Activity marked
[wlc] -> Interpolated idle time 41.000000 (50 : 0)
[wlc] -> Finished frame
[wlc] -> Interpolated idle time 1.000000 (16 : 1)
[wlc] -> Finished frame
[wlc] -> Repaint
[wlc] -> Interpolated idle time 1.000000 (17 : 1)
[wlc] -> Finished frame
[wlc] -> Repaint
[wlc] -> Activity marked
[wlc] -> Attach request
[wlc] -> Damage request
[wlc] -> Frame request
[wlc] -> Attached surface (8) with buffer of size (1920x1080)
[wlc] -> Activity marked
[wlc] => surface view 5
[wlc] -> Commit request
[wlc] -> Interpolated idle time 1.000000 (17 : 1)
[wlc] -> Finished frame
[wlc] -> Repaint
[wlc] -> Interpolated idle time 1.000000 (16 : 1)
[wlc] -> Finished frame
[wlc] -> Activity marked
[wlc] -> Repaint
[wlc] -> Repaint
[wlc] -> Finished frame
[wlc] -> Interpolated idle time 1.000000 (17 : 1)
[wlc] -> Finished frame
[wlc] -> Activity marked
[wlc] -> Repaint
[wlc] -> Interpolated idle time 41.000000 (50 : 0)
[wlc] -> Finished frame
[wlc] -> Repaint
Setting focus to 0x173d8f0:7 (VIEW 'gkrellm')
[wlc] -> Attach request
[wlc] -> Damage request
[wlc] -> Frame request
[wlc] -> Attached surface (8) with buffer of size (1920x1080)
[wlc] -> Activity marked
[wlc] -> Repaint scheduled
[wlc] => surface view 5
[wlc] -> Commit request
[wlc] -> Interpolated idle time 41.000000 (50 : 0)
[wlc] -> Finished frame
[wlc] -> Attach request
[wlc] -> Damage request
[wlc] -> Frame request
[wlc] -> Attached surface (12) with buffer of size (1920x1080)
[wlc] => surface view 6
[wlc] -> Commit request
[wlc] -> Repaint
[wlc] -> Interpolated idle time 1.000000 (16 : 1)
[wlc] -> Finished frame
[wlc] -> Repaint
[wlc] -> Interpolated idle time 1.000000 (17 : 1)
[wlc] -> Finished frame
[wlc] => pending view commit 6 (0) pending: 1920x1080 commited: 1920x1080 surface: 1920x1080
[wlc] => commit view 6
[wlc] => pending view commit 7 (0) pending: 112x926 commited: 112x926 surface: 112x926
[wlc] => commit view 7
[wlc] -> Repaint
[wlc] -> Activity marked
[wlc] -> Finished frame
[wlc] -> Interpolated idle time 1.000000 (17 : 1)
[wlc] -> Finished frame
[wlc] -> Repaint
[wlc] -> Activity marked
[wlc] -> Attach request
[wlc] -> Damage request
[wlc] -> Frame request
[wlc] -> Attached surface (8) with buffer of size (1920x1080)
[wlc] -> Activity marked
[wlc] -> Repaint scheduled
[wlc] => surface view 5
[wlc] -> Commit request
[wlc] -> Repaint
[wlc] -> Repaint
[wlc] -> Interpolated idle time 1.000000 (17 : 1)
[wlc] -> Finished frame
[wlc] -> Repaint
[wlc] -> Interpolated idle time 1.000000 (16 : 1)
[wlc] -> Finished frame
[wlc] -> Interpolated idle time 41.000000 (50 : 0)
[wlc] -> Finished frame
[wlc] -> Repaint
[wlc] -> Repaint
[wlc] -> Activity marked
[wlc] -> Interpolated idle time 41.000000 (50 : 0)
[wlc] -> Finished frame
[wlc] -> Attach request
[wlc] -> Damage request
[wlc] -> Frame request
[wlc] -> Attached surface (15) with buffer of size (112x926)
[wlc] => surface view 7
[wlc] -> Commit request
[wlc] -> Finished frame
[wlc] -> Interpolated idle time 1.000000 (17 : 1)
[wlc] -> Finished frame
[wlc] -> Repaint
Comment by Cloudef Friday Oct 30, 2015 at 10:28 GMT
Thank you. According to log it seems surfaces and render-loop itself seems to be as expected. It will need deeper investigation.
Comment by sce Friday Oct 30, 2015 at 14:00 GMT
I made a video to demonstrate this bug (in case you can't reproduce it yourself): https://youtu.be/jnTs81UXJmg , hopefully this is helpful.
Comment by Cloudef Tuesday Nov 03, 2015 at 13:17 GMT
That looks like the texture for the surface is not reuploaded after context is recreated. This helps track down the issue.
Comment by sce Tuesday Nov 03, 2015 at 21:51 GMT
Excellent, glad to hear that. Debugging this issue is kinda out of my league, but let me know if there's anything else I can do to help.
Comment by Cloudef Thursday Nov 12, 2015 at 18:11 GMT
Hmm, for some reason I can't reproduce this on neither orbment or sway. Can you check if I accidentally fixed it on commit 19b48a2
Comment by sce Thursday Nov 12, 2015 at 19:08 GMT
Unfortunately I can still reproduce this reliably, like in the video :-/
Comment by Earnestly Thursday Nov 12, 2015 at 19:10 GMT
Perhaps it's driver related? I assume you're on mesa, but with which driver?
Comment by sce Thursday Nov 12, 2015 at 19:12 GMT
My hardware is radeon 6950 (cayman) which would be the r600 driver.
Issue by sce Wednesday Oct 28, 2015 at 21:00 GMT Originally opened as https://github.com/Cloudef/wlc/issues/79
(This bug appears in sway, but since I think the root cause might be in wlc so I'm posting it here.)
In sway, in the following situations: A) You move a floating window to another visible workspace (ie. another output) with at least one other non-floating window, or B) You already have a workspace that is not in focus (ie. on another output) which contains at least two windows (where one window must be non-floating and the other can be either floating or non-floating), and you change tty back and forth ...
... then one of the windows will sometimes disappear/become black.
If you then move the pointer over the disappeared window or you remove the other still visible window, the disappeared window reappears.
(Similar symptoms as issue SirCmpwn/sway#141)
When changing tty back-and-forth, if the tty you switch to has an Xorg desktop on it then the bug will trigger more easily (... trigger more easily than if you switch to a console).