Hello list,

I'm developing a Qt application on CentOS 5.6 and hitting a deadlock with
a text input field.

The basic code flow is:

XInitThreads()
Create Qt application with windows and widgets
Show widget with a text input field
Upon typing into the text input field the application hangs

At this stage the application is not yet running multithreaded, but soon
will be, hence the call to XInitThreads() at the start.

Running under helgrind shows that the problem is lock request on a
non-recursive lock that is already locked.

Software versions are:

Centos 5.6
X Window System Version 7.1.1 - Release Date: 12 May 2006
Qt 4.7.2

helgrind shows:

==9978== Thread #1: Attempt to re-lock a non-recursive lock I already hold
==9978==    at 0x4A0773C: pthread_mutex_lock (hg_intercepts.c:453)
==9978==    by 0x3CA7A35162: ??? (in /usr/lib64/libX11.so.6.2.0)
==9978==    by 0x3CA7A99E7C: XkbGetUpdatedMap (in
/usr/lib64/libX11.so.6.2.0)
==9978==    by 0x3CA7A99F74: XkbGetMap (in /usr/lib64/libX11.so.6.2.0)
==9978==    by 0x3CA7A95CE0: ??? (in /usr/lib64/libX11.so.6.2.0)
==9978==    by 0x3CA7A963FA: XkbLookupKeySym (in
/usr/lib64/libX11.so.6.2.0)
==9978==    by 0x3CA7A964CA: XLookupString (in /usr/lib64/libX11.so.6.2.0)
==9978==    by 0x3CA7A70F4B: _XimLocalFilter (in
/usr/lib64/libX11.so.6.2.0)
==9978==    by 0x3CA7A281D3: XFilterEvent (in /usr/lib64/libX11.so.6.2.0)
==9978==    by 0x6A98AB2: ??? (in libQtGui.so.4.7.2)
==9978==    by 0x64F6697: QApplication::x11ProcessEvent(_XEvent*) (in
libQtGui.so.4.7.2)
==9978==    by 0x6521B31: ??? (in libQtGui.so.4.7.2)

The ??? at line 3 is almost certainly _XLockDisplay() according to a very
similar stack trace I saw in my Googling for this.

I get the same stack trace if I break into the code under gdb when it's
locked up.

Running the same code on Ubuntu 10.04 with X Windows version 1.7.6
(according to "X -version") is okay.

Are there any steps I can take to further analyse this problem or any
patches I can apply to fix this issue?

Thanks, David.
_______________________________________________
xorg@lists.freedesktop.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com

Reply via email to