[compiz] [BUG] Compiz hangs at launch when the focus windows is a swing window

David Reveman davidr at novell.com
Mon Dec 11 21:13:50 PST 2006


On Sun, 2006-12-10 at 16:18 +0100, Fabien Chaillou wrote:
> Hello
> As i have a java project to do i start and stop compiz with 
> gnome-compiz-manager from gandalf and i just tried to relaunch compiz 
> while the swing window was focused and all the interface just freezed.
> 
> Worse than that it hangs all the interface and the keyboard events are 
> not processed so you can't do anything to kill compiz and start again.
> 
> But hey i have two computers so i have been able to ssh on the hanged 
> one and backtrace the problem so here it is :
> 
> (gdb) where
> #0  0xb7ee8410 in ?? ()
> #1  0xbfb55628 in ?? ()
> #2  0xffffffff in ?? ()
> #3  0x00000001 in ?? ()
> #4  0xb7d727cb in poll () from /lib/tls/i686/cmov/libc.so.6
> #5  0xb7c21b69 in XProcessInternalConnection () from /usr/lib/libX11.so.6
> #6  0xb7c21f4f in _XRead () from /usr/lib/libX11.so.6
> #7  0xb7c232f1 in _XReadEvents () from /usr/lib/libX11.so.6
> #8  0xb7c1c05d in XWindowEvent () from /usr/lib/libX11.so.6
> #9  0x08051185 in getCurrentTimeFromDisplay ()
> #10 0x0805fd7e in moveInputFocusToWindow ()
> #11 0x080569a5 in addDisplay ()
> #12 0x0804f770 in main ()
> 
> I also ran a strace on compiz to see what was happening and it is in an 
> infinite loop on a poll syscall.
> This is repeting over and over :
> poll([{fd=4, events=POLLIN, revents=POLLIN}], 1, -1) = 1
> read(4, "s\0\203\16\3\0\300\0\202\0\340\0037_\341l\207\4\1\0\34"..., 32) 
> = 32
> ioctl(4, FIONREAD, [64]) 
> 
> As a guess i pretty much think it is another java bug not really a 
> compiz bug but it is pretty problematic as you only can reboot the 
> computer to take control back if you can't kill compiz from another 
> computer.
> 
> As a side note here is my java version ( Java HotSpot(TM) Client VM 
> (build 1.6.0-rc-b104, mixed mode, sharing)) ( yeah i know rc versions 
> but we must 1.6 features so i have no choice).
> 
> I hope it helps, sorry for the long post and my english.

It seems that getCurrentTimeFromDisplay was completely broken and never
worked. PropertyChangeMask was never in the even mask for the window we
use to change a property on and get a server time stamp. This should now
be fixed. Please check if it works OK.

Thanks,

-David



More information about the compiz mailing list