Comment 40 for bug 291467

Revision history for this message
Зоран Рилак (zoran.rilak) wrote :

More info on this. I may have captured the offending call; it seems that compiz.real gets stuck in a call to XGetWindowAttributes. When I run nautilus and X freezes, ltrace -cp`pgrep compiz.real` shows something like this (remaining entries omitted):

$ ltrace -cp`pgrep compiz.real`
% time seconds usecs/call calls function
------ ----------- ----------- --------- --------------------
 67.02 33.785698 3753966 9 XGetWindowAttributes
 28.03 14.128147 220752 64 poll
 . . .

A detailed ltrace log further reveals this (different invocation, times will not match):

$ ltrace -fTp`pgrep compiz.real` &> compiz.ltrace & nautilus -n
 . . . (several calls to XGetWindowAttributes that return in well under 100msec)
XGetWindowAttributes(0x1c17e40, 0x160001d, 0x7fff4a1be190, 1, 0x1c18898) = 1 <35.761979>
 . . . (more calls)

The second parameter to XGetWindowAttributes, Window whose attributes are to be obtained, matches Nautilus desktop window as returned by xpropget: xwininfo: Window id: 0x160001d "x-nautilus-desktop".

I think this is ripe to be forwarded to the compiz clique and let them duke it out with the Xorg guys. :)