Bug 116551 - x11/xorg - Various applications crash the xserver on r100 radeon / Xorg 7.3
Summary: x11/xorg - Various applications crash the xserver on r100 radeon / Xorg 7.3
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-x11 (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-22 16:50 UTC by Adam K Kirchhoff
Modified: 2007-10-29 15:20 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adam K Kirchhoff 2007-09-22 16:50:01 UTC
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
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2007-09-23 01:19:37 UTC
Responsible Changed
From-To: freebsd-ports-bugs->freebsd-x11

Over to maintainer
Comment 2 Adam K Kirchhoff 2007-09-23 13:59:36 UTC
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.
Comment 3 Adam K Kirchhoff 2007-09-23 15:22:23 UTC
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
Comment 4 Adam K Kirchhoff 2007-09-24 15:49:48 UTC
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
Comment 5 Adam K Kirchhoff 2007-09-24 16:10:46 UTC
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
Comment 6 Adam K Kirchhoff 2007-09-27 15:33:51 UTC
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
Comment 7 Adam K Kirchhoff 2007-09-27 15:48:52 UTC
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
Comment 8 dfilter service freebsd_committer freebsd_triage 2007-10-29 15:12:18 UTC
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"
Comment 9 Florent Thoumie freebsd_committer freebsd_triage 2007-10-29 15:12:22 UTC
State Changed
From-To: open->closed

Fixed, thanks for the report!