bump: Xorg segfaults on XOpenDisplay multi thread
Matan Drori
matan at graphtech.co.il
Sun Dec 28 00:56:50 PST 2008
Bump, adding some backtraces:
Dump 1:
#0 _X11TransWritev (ciptr=0x0, buf=0x2000000001b96720, size=1) at
../../lib/xtrans/Xtrans.c:911
#1 0x2000000000093910 in _XSendClientPrefix (dpy=<value optimized out>,
client=<value optimized out>, auth_proto=0x0, auth_string=0x0,
prefix=0x2000000001b96784) at ConnDis.c:572
#2 0x20000000000c4640 in XOpenDisplay (display=<value optimized out>)
at OpenDis.c:295
#3 0x4000000000001580 in ThreadMain_OpenDisplayAndStartTest (num=0x1)
at ../../thread.cpp:37
#4 0x200000000027d5d0 in start_thread () from /lib/libpthread.so.0
#5 0x20000000007cb730 in __clone2 () from /lib/libc.so.6.1
Dump 2:
#0 0x200000000070f350 in malloc_consolidate () from /lib/libc.so.6.1
#1 0x2000000000714830 in _int_malloc () from /lib/libc.so.6.1
#2 0x2000000000716ef0 in calloc () from /lib/libc.so.6.1
#3 0x20000000000c4530 in XOpenDisplay (display=<value optimized out>)
at OpenDis.c:262
#4 0x4000000000001580 in ThreadMain_OpenDisplayAndStartTest (num=0x2)
at ../../thread.cpp:37
#5 0x200000000027d050 in start_thread () from /lib/libpthread.so.0
#6 0x20000000007cb730 in __clone2 () from /lib/libc.so.6.1
i explored this topic for quite a while, when i debug it i see memory corruptions every time it crashes.
memory corruptions doesn't always occur at the same place which makes it even harder and more confusing.
i am currently trying to build the debug version with dmalloc to see it it might find some memory over runs and so forth.
________________________________________________________________
Machine spec:
IA64
/SUSE Linux Enterprise Server/ 10 sp 2
xorg x11 6.9.0-50.58
I have a very simple test program that opens 4 threads and does
XOpenDisplay(opening 4 separate display objects).
i keep getting segfaults on different places in the function
seems like some kind timing problem that causes memory corruption.
before i start giving backtraces here any one seen this problem before?
I can re-produce when working on X in debug, but couldn't re-produce it
when used Electric Fence Malloc Debugger with my program (wanted to see
if memory check can find any overruns)
More information about the xorg
mailing list