Summary: | x11-wm/skippy-xd: remove wrong assertion | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Michael Zhilin <mizhka> | ||||
Component: | Individual Port(s) | Assignee: | Alexey Dokuchaev <danfe> | ||||
Status: | Open --- | ||||||
Severity: | Affects Only Me | Flags: | bugzilla:
maintainer-feedback?
(danfe) |
||||
Priority: | --- | ||||||
Version: | Latest | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
(In reply to Michael Zhilin from comment #0) > Skippy XD crashes on assertion: assert(!XEventsQueued(ps->dpy, QueuedAfterReading)); Hmm, I'm actively using skippy-xd (under Openbox and IceWM) since the day I've resurrected the port and had never seen it crash. Which is your working environment? What are the steps to reliably reproduce the problem? > It looks like assertion is wrong and to be removed. We don't know that yet, it could actually point to the bug elsewhere in the stack. > The upstream looks like dead, so patch wasn't submitted to upstream. That's fine, we maintain it locally in the Ports Tree. My apologies for late answer, just noticed questions. I appreciate your work and thank you for port resurrection. > What are the steps to reliably reproduce the problem? Actually I don't remember conditions. > Which is your working environment? jwm 2.3.7_1, xorg-7.7_3, 14.0-current. > We don't know that yet, it could actually point to the bug elsewhere in the stack. I doubt so. Event can come just after flush of queue and before assertion like in example: [ 109.28 ] Event PropertyNotif wid 0x000006fc (Root) As well, I didn't find any logic relying on this assertion. So assertion looks like "nice to have" causing race condition crashes. |
Created attachment 230140 [details] Git format-patch Hi, Skippy XD crashes on assertion: assert(!XEventsQueued(ps->dpy, QueuedAfterReading)); Assertion checks that queue is empty after XSync. But new events can come like: [ 109.28 ] Event PropertyNotif wid 0x000006fc (Root) It looks like assertion is wrong and to be removed. As quick fix, patch removes assertion. The upstream looks like dead, so patch wasn't submitted to upstream.