Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closing window raises exception #9

Closed
flacjacket opened this issue Jun 28, 2014 · 8 comments
Closed

Closing window raises exception #9

flacjacket opened this issue Jun 28, 2014 · 8 comments

Comments

@flacjacket
Copy link
Collaborator

Running qtile from the cffi branch, closing a window throws the following exception:

2014-06-27 21:46:44,616 qtile _xpoll:586  Handling: UnmapNotify                                                                                                                                                                                                                                                                
2014-06-27 21:46:44,617 qtile fire:213  Internal event: client_killed((Window(xterm),), {})
2014-06-27 21:46:44,618 qtile _del:211  Add dgroup timer
2014-06-27 21:46:44,619 qtile fire:213  Internal event: focus_change((), {})
2014-06-27 21:46:44,620 qtile _xpoll:586  Handling: UnmapNotify
2014-06-27 21:46:44,621 qtile _xpoll:586  Handling: EnterNotify
2014-06-27 21:46:44,621 qtile fire:213  Internal event: focus_change((), {})
2014-06-27 21:46:44,622 qtile _xpoll:586  Handling: DestroyNotify
2014-06-27 21:46:44,622 qtile _xpoll:586  Handling: DestroyNotify
2014-06-27 21:46:44,648 qtile _xpoll:600  Got an exception in poll loop
Traceback (most recent call last):
  File "/home/sean/qtile/qtile/bin/libqtile/manager.py", line 575, in _xpoll
    e = self.conn.conn.poll_for_event()
  File "/usr/lib64/python2.7/site-packages/xcffib-prerelease-py2.7-linux-x86_64.egg/xcffib/__init__.py", line 360, in wrapper
    return f(*args)
  File "/usr/lib64/python2.7/site-packages/xcffib-prerelease-py2.7-linux-x86_64.egg/xcffib/__init__.py", line 387, in poll_for_event
    return self.hoist_event(e)
  File "/usr/lib64/python2.7/site-packages/xcffib-prerelease-py2.7-linux-x86_64.egg/xcffib/__init__.py", line 458, in hoist_event
    return self._process_error(ffi.cast("xcb_generic_error_t *", e))
  File "/usr/lib64/python2.7/site-packages/xcffib-prerelease-py2.7-linux-x86_64.egg/xcffib/__init__.py", line 424, in _process_error
    raise error(buf)
WindowError
2014-06-27 21:46:44,650 qtile _xpoll:600  Got an exception in poll loop
Traceback (most recent call last):
  File "/home/sean/qtile/qtile/bin/libqtile/manager.py", line 575, in _xpoll
    e = self.conn.conn.poll_for_event()
  File "/usr/lib64/python2.7/site-packages/xcffib-prerelease-py2.7-linux-x86_64.egg/xcffib/__init__.py", line 360, in wrapper
    return f(*args)
  File "/usr/lib64/python2.7/site-packages/xcffib-prerelease-py2.7-linux-x86_64.egg/xcffib/__init__.py", line 387, in poll_for_event
    return self.hoist_event(e)
  File "/usr/lib64/python2.7/site-packages/xcffib-prerelease-py2.7-linux-x86_64.egg/xcffib/__init__.py", line 458, in hoist_event
    return self._process_error(ffi.cast("xcb_generic_error_t *", e))
  File "/usr/lib64/python2.7/site-packages/xcffib-prerelease-py2.7-linux-x86_64.egg/xcffib/__init__.py", line 424, in _process_error
    raise error(buf)
WindowError
@tych0
Copy link
Owner

tych0 commented Jun 28, 2014

Ah, cool, this is a better testcase than what I'm using. I'm implementing #3 right now which I suspect is related, but I have no idea why the tests pass for us and Travis...

tych0 added a commit that referenced this issue Jun 30, 2014
I had hoped one of these would catch #9 with a simpler testcase, but apparently
not. Might as well add them anyway.
@tych0
Copy link
Owner

tych0 commented Jul 3, 2014

So I think I've implemented #3 reasonably correctly (actually there is still a small bug, but I think for most cases it should Just Work). I'll give qtile another try tomorrow, but if you get the itch, master might work.

@flacjacket
Copy link
Collaborator Author

It looks like there is still some cases that come up running qtile that break the new pack_list function, in particular, supporting the old style user-packed data. I can try to fix that up. But also, with that new packing functionality in, there is some work that could be done to clean up xcbq.py.

@flacjacket
Copy link
Collaborator Author

Hmm, even with #12, this doesn't seem to be fixed

@tych0
Copy link
Owner

tych0 commented Jul 3, 2014

Ok, I will take a look over the weekend. I haven't actually looked at this at all, I was just hoping it was related to #3. Wishful thinking, it seems.

@tych0
Copy link
Owner

tych0 commented Jul 8, 2014

Ok, I think (in this particular case) that it might not actually have been an xcffib bug, but a qtile bug. See qtile/qtile@6577649

I merged that into the cffi branch and these particular errors went away. I'm still working on some of the others, but I think they might all just be synchronization errors. Maybe it is time to tag a release of xcffib...

@tych0
Copy link
Owner

tych0 commented Jul 8, 2014

If that explanation looks reasonable to you, I'll close this and tag an xcffib and then try and fix up the cairocffi patch. Then we can get on with debugging the systray problem with an eye toward cairocffi.

@flacjacket
Copy link
Collaborator Author

Yeah, that sounds good, it works for me without throwing those errors with that commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants