I can start up X (server version 1.4.0) and bring up an xterm or twm. As soon as I try to run xclock, the server crashes with: Fatal server error: Caught signal 4. Server aborting Same with gnome-terminal. Even X clients started from other machines will bring down the server. The only thing that I can see, that they all have in common (vs. the applications that don't crash the server: xterm, twm, xmms, glxgears, etc), is that they are linking against libXrender. However, even turning off RenderAccel doesn't stop the crashing. This happens both with the ati driver from the ports tree and the ati driver in the current freedesktop git repository. Having built (and run) xserver 1.4 on Feisty on the same laptop, this appears to be FreeBSD specific. I will try building the xserver from source to see if that resolves the problem. Adam
Responsible Changed From-To: freebsd-ports-bugs->freebsd-x11 Over to maintainer
FYI, I pulled the source for xserver 1.4 from freedesktop git, compiled it, and installed it. That didn't solve the problem. I'll try libXrender next.
The problem still exists even after manually installing libXrender from the git source repository. At the moment, this is a huge bug (at least for me) as X is pretty useless if nearly every application is crashing the server. I have noticed that my original thoughts about the crash happening from any application linking to libXrender is incorrect. xterm is linked to libXrender, but doesn't crash the X server. Does xterm actually make use of the RENDER extension, though? Adam
Since I think this is related to the render extension, I'd like to disable it. I tried adding this to /etc/X11/xorg.conf: Section "Extensions" Option "Render" "0" EndSection But that didn't work as RENDER still shows up in the output from xdpyinfo. Is it possible to disable RENDER? Adam
Thanks to Thanks to Vermaden, I tried this instead: Section "Extensions" Option "RENDER" "Disable" EndSection That did completely disable RENDER, and allows me to run xclock, gnome, xfce4, and every other application I've tried that previously crashed my machine, so I have confirmed that this is a problem with the RENDER extension. Any suggestions on how I can further debug this so I can get RENDER working? Adam
gdb backtrace: Program received signal SIGILL, Illegal instruction. fbCompositeSolidMask_nx8x8888mmx (op=PIXMAN_OP_OVER, pSrc=0x28636f60, pMask=0x28666160, pDst=0x28666200, xSrc=0, ySrc=0, xMask=0, yMask=0, xDst=148, yDst=81, width=8, height=2) at mmintrin.h:63 63 return (__m64) __builtin_ia32_vec_init_v2si (__i, 0); (gdb) bt #0 fbCompositeSolidMask_nx8x8888mmx (op=PIXMAN_OP_OVER, pSrc=0x28636f60, pMask=0x28666160, pDst=0x28666200, xSrc=0, ySrc=0, xMask=0, yMask=0, xDst=148, yDst=81, width=8, height=2) at mmintrin.h:63 #1 0x282fd218 in pixman_image_composite (op=PIXMAN_OP_OVER, pSrc=0x28636f60, pMask=0x28666160, pDst=0x28666200, xSrc=0, ySrc=0, xMask=0, yMask=0, xDst=148, yDst=81, width=Variable "width" is not available. ) at pixman-pict.c:1287 #2 0x2889c4ad in fbComposite (op=3 '\003', pSrc=0x2863dc80, pMask=0x2863dce0, pDst=0x2863dbc0, xSrc=0, ySrc=0, xMask=0, yMask=0, xDst=148, yDst=81, width=8, height=2) at fbpict.c:185 #3 0x288db674 in XAAComposite (op=3 '\003', pSrc=0x2863dc80, pMask=0x2863dce0, pDst=0x2863dbc0, xSrc=0, ySrc=0, xMask=0, yMask=0, xDst=148, yDst=81, width=8, height=2) at xaaPict.c:545 #4 0x288f6ef6 in cwComposite (op=Variable "op" is not available. ) at cw_render.c:274 #5 0x08167a63 in damageComposite (op=Variable "op" is not available. ) at damage.c:580 #6 0x0814ee10 in CompositePicture (op=3 '\003', pSrc=0x2863dc80, pMask=0x2863dce0, pDst=0x2863dbc0, xSrc=0, ySrc=0, xMask=0, yMask=0, xDst=148, yDst=81, width=8, height=2) at picture.c:1756 #7 0x0814e0c8 in miTrapezoids (op=Variable "op" is not available. ) at mitrap.c:174 #8 0x288f7215 in cwTrapezoids (op=Variable "op" is not available. ) at cw_render.c:364 #9 0x0814f0b3 in CompositeTrapezoids (op=Variable "op" is not available. ) at picture.c:1815 #10 0x08157614 in ProcRenderTrapezoids (client=0x286f6400) at render.c:820 #11 0x08151c85 in ProcRenderDispatch (client=0x286f6400) at render.c:2002 #12 0x081452ce in XaceCatchExtProc (client=0x286f6400) at xace.c:299 #13 0x08086a1f in Dispatch () at dispatch.c:502 #14 0x0806e07b in main (argc=1, argv=0xbfbfed14, envp=Error accessing memory address 0x8: Bad address. ) at main.c:452 Michel Daenzer has said that debian had to remove -msse from CFLAGS for building pixman with gcc 4.2.1 or it would SIGILL on non-SSE capable machines, so I'm going to give that a shot Adam
Michel called it. After editing the Makefiles for pixman to remove -msse, I installed the new version and have a fully functioning Xorg + RENDER + compiz. Someone needs to fix that port so that it either disables SSE support by default, or cheks the kernel to see if SSE is supported by the kernel. Adam
flz 2007-10-29 15:11:57 UTC FreeBSD ports repository Modified files: x11/pixman Makefile Log: Disable SSE extensions as they're causing issues on machines without SSE and gcc 4.2.1. PR: ports/116551 Submitted by: Adam Kirchhoff <adamk@voicenet.com> Revision Changes Path 1.4 +2 -2 ports/x11/pixman/Makefile _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Fixed, thanks for the report!