infinite loop in X

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

infinite loop in X

Vijay Ramesh
-----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
[hidden email]
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-----

Reply | Threaded
Open this post in threaded view
|

Re: infinite loop in X

Matthieu Herrb
Afaict this is the same as
http://bugs.freedesktop.org/show_bug.cgi?id=13511
The patch is in X.Org's xserver 1.4 branch already. We'll import it with
xserver 1.4.1 (or with a snapshot of it if 1.4.1 is delayed too much to
be imported before our code freeze for 4.3).
--
Matthieu Herrb

Reply | Threaded
Open this post in threaded view
|

Re: infinite loop in X

carlos duarte
man... thanks!! this seems to be the same thing that was happening to
me.. i can use the mouse just fine but as soon as i start typing, i
can type only exclusively in that window.. everything else goes dead..
if i try too much stuff, then it completely freezes.. and i can't even
ctrl+alt+backspace..

> The patch is in X.Org's xserver 1.4 branch already.
> We'll import it with
> xserver 1.4.1 (or with a snapshot of it if 1.4.1 is delayed too much to
> be imported before our code freeze for 4.3).

i know that the openbsd projects produces a monthly snapshot of the
installation cd.. can i expect next month's cd to include the fixed
xenocara?


again, thanks!!!