infinite loop in X

Vijay Ramesh <[email protected]>
Newsgroups gmane.os.openbsd.x11
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

I've been noticing a bug when I do C-t : in ratpoison. X freezes. The
mouse responds but all keyboard input is ignored. I can't C-A-Backspace
or switch to a different terminal. After some poking around in X, it
seems that when handling events, X gets stuck in an endless loop. From
what I can tell, It seems that it tries to process an event and the call
to process the event just puts it back into the queue to be processed again.

The only temporary solution that I could find is to check to see if the
processing is adding it to the queue again and handle it. This is the
file in xenocara/xserver/include/xkbsrv.h

% diff -u xkbsrv.h.orig xkbsrv.h
- --- xkbsrv.h.orig       Thu Jan  3 10:16:21 2008
+++ xkbsrv.h    Mon Jan 28 15:09:52 2008
@@ -258,7 +258,9 @@
            device->public.processInputProc = proc; \
        oldprocs->processInputProc = \
        oldprocs->realInputProc = device->public.realInputProc; \
- -       device->public.realInputProc = proc; \
+       if ( proc != device->public.enqueueInputProc ) {\
+               device->public.realInputProc = proc; \
+       } \
        oldprocs->unwrapProc = device->unwrapProc; \
        device->unwrapProc = unwrapproc;


This seems inelegant and it doesn't completely solve the problem, as I
still get freezes from time to time, but that may be an entirely
different story.

I wasn't sure if this was an already known issue and is being handled or
not, and I'm not sure if this is a problem with X itself [probably] or
just xenocara.


Thank You,
Vijay Ramesh
[email protected]
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQIVAwUBR55FBMVpE8lO669pAQIqLw/+OS+6nId8hcp1+ARM6yVFKp/Bz+dL8Twk
+XuVm5eS8Uk8g2apUV+lLPO7F8gUc9D3N2f6pDthrXt3trHqdD1uCIDnNFtKdPLT
9uYcvMREwcL1EarPwyhVug/ZP3iN4eDiAC/iELW9kJ5EWuNu+csQcVQM3TNbRfGw
ElGaFbKBHxFXvcPfM6++nOiuiTiv4Pwa6XKBA1AXQDVgs+jmHjZSQMMp6YyVNQKZ
L7EqLVNKAQZ+3+D9JnhtadFInoNTHt4eOGKkdhojkWvPAOAwlek73iYU7i/vvjO/
0307/CKHcaVX6wsj9c0rsFucaG4P1jxLPD5A/wK+/Lo+doRkjm1jHQ9pymSbi/+w
BHBciQuwo/Vhz+KQULUTuR9LfWKr6fvY1qENaxEPFKQcWgf37LJ3Nt1+Pq+SVzQz
+3WkqfHsBdUcg9PH56ngRMvtj/BUx7uB27STWik/hT7ND48wSF1Tj5AVoS4GLyfh
EFjwIJu1N+j+rIwApkn2EbSfDeGp+FAysG/UeYq/YtGiuwvjzb0OPd1JFLJh1RUa
03MEGCn33CuRe+hYQIGchiaOtZLd6s9mkHx78DzuNvXgJpQ8/OlXAoRzm0y0jvN6
lwGGcYMDnyQxK62kyDSv+W7D6aEAYjK+6kKMy03EKs9GJ9+b1VWT+oi63Wrzt1dy
XBra7nINkYY=
=iUYY
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.