Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Dec 2009 13:28:58 -0200
From:      "Carlos A. M. dos Santos" <unixmania@gmail.com>
To:        Robert Noland <rnoland@freebsd.org>
Cc:        freebsd-x11@freebsd.org
Subject:   Re: x11perf -all leads to Xorg crash on 8-STABLE
Message-ID:  <e71790db0912280728l59a80c86rc76a3e760b5a21d7@mail.gmail.com>
In-Reply-To: <1261972205.2220.3468.camel@balrog.2hip.net>
References:  <e71790db0912261431h7285eeb4yeb1f648694730b@mail.gmail.com> <alpine.BSF.2.00.0912262126540.32530@wonkity.com> <e71790db0912270917n4ccdb185pe65f2f5c4f30ea0c@mail.gmail.com> <1261934521.2220.2834.camel@balrog.2hip.net> <e71790db0912270941hdd0bc04oe3c66a81b663f6eb@mail.gmail.com> <1261942898.2220.2976.camel@balrog.2hip.net> <e71790db0912271633q5178b868u26514a7e1ba6ec87@mail.gmail.com> <e71790db0912271735h7a3f7096rdad098e2f945243a@mail.gmail.com> <1261972205.2220.3468.camel@balrog.2hip.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Dec 28, 2009 at 1:50 AM, Robert Noland <rnoland@freebsd.org> wrote:
> On Sun, 2009-12-27 at 23:35 -0200, Carlos A. M. dos Santos wrote:
>> I just noticed that the CONFIGURE_ARGS in x11/pixman should disable
>> sse2 on AMD64, but this is not working:
>>
>> > #0  0x000000080107c255 in pixman_blt_sse2 (src_bits=3D0x81344f000,
>> > dst_bits=3D0x804000000, src_stride=3D2400,
>> >    dst_stride=3D4096, src_bpp=3D32, dst_bpp=3D32, src_x=3D576, src_y=
=3D576,
>> > dst_x=3D3, dst_y=3D3, width=3D10, height=3D9)
>> >    at pixman-sse2.c:5330
>>
>> I rebuilt and reinstalled the pixman with
>>
>> # cd /usr/ports/x11/pixman
>> # make BATCH=3Dyes CONFIGURE_ARGS=3D'--disable-vmx --disable-arm-simd
>> --disable-mmx --disable-sse2' FORCE_PKG_REGISTER=3Dyes install
>>
>> This did not solve the problem, just gave me a different kind of crash:
>
> How about updating pixman?  Patch attached.  It may not be an issue in
> pixman, though.  I can't tell exactly what is invalid from the trace.
> If you run it with drm debugging enabled, does drm return an error that
> is triggering the server to abort?  What GPU is this on?

Updating pixman did not help:

Program received signal SIGSEGV, Segmentation fault.
0x000000080107d215 in pixman_blt_sse2 (src_bits=3D0x81364f000,
dst_bits=3D0x804200000, src_stride=3D2400, dst_stride=3D4096, src_bpp=3D32,
dst_bpp=3D32, src_x=3D576, src_y=3D576, dst_x=3D3, dst_y=3D3, width=3D10,
height=3D9)
    at pixman-sse2.c:5358
5358		    *(uint32_t *)d =3D *(uint32_t *)s;
(gdb) print d
$26 =3D (uint8_t *) 0x80420300c "=EF=BF=BD=EF=BF=BD=EF=BF=BD"
(gdb) print s
$27 =3D (uint8_t *) 0x8137a1100 <Error reading address 0x8137a1100: Bad add=
ress>

The GPU is Intel 945GM

Program received signal SIGSEGV, Segmentation fault.
0x000000080107d215 in pixman_blt_sse2 (src_bits=3D0x81364f000,
dst_bits=3D0x804200000, src_stride=3D2400, dst_stride=3D4096, src_bpp=3D32,
dst_bpp=3D32, src_x=3D576, src_y=3D576, dst_x=3D3, dst_y=3D3, width=3D10,
height=3D9)
    at pixman-sse2.c:5358
5358		    *(uint32_t *)d =3D *(uint32_t *)s;
(gdb) print d
$26 =3D (uint8_t *) 0x80420300c "=EF=BF=BD=EF=BF=BD=EF=BF=BD"
(gdb) print s
$27 =3D (uint8_t *) 0x8137a1100 <Error reading address 0x8137a1100: Bad add=
ress>

Enabling DRM debug I get this:

[drm:pid14907:drm_modeset_ctl] pre-modeset, crtc 1
[drm:pid14907:drm_vblank_get] enabling vblank on crtc 1, ret: 0
[drm:pid14907:drm_update_vblank_count] enabling vblank interrupts on
crtc 1, missed 776
[drm:pid14907:drm_ioctl] pid=3D14907, cmd=3D0xc0086444, nr=3D0x44, dev
0xffffff0001560b00, auth=3D1
[drm:pid14907:i915_emit_irq] emitting: 827225
[drm:pid14907:drm_ioctl] pid=3D14907, cmd=3D0x80046445, nr=3D0x45, dev
0xffffff0001560b00, auth=3D1
[drm:pid14907:drm_ioctl] pid=3D14907, cmd=3D0x2000641f, nr=3D0x1f, dev
0xffffff0001560b00, auth=3D1
[drm:pid14907:drm_ioctl] no function
pid 14907 (Xorg), uid 0: exited on signal 6 (core dumped)
[drm:pid14907:drm_close] open_count =3D 1
[drm:pid14907:drm_close] pid =3D 14907, device =3D 0xffffff0001560b00,
open_count =3D 1
[drm:pid14907:drm_close] Process 14907 dead, freeing lock for context 5
[drm:pid14907:drm_lastclose]

The GPU is Intel 945GM

hostb0@pci0:0:0:0:	class=3D0x060000 card=3D0x30aa103c chip=3D0x27a08086
rev=3D0x03 hdr=3D0x00
    vendor     =3D 'Intel Corporation'
    device     =3D '955XM/945GM/PM/GMS/940GML Express Processor to DRAM
Controller'
    class      =3D bridge
    subclass   =3D HOST-PCI
vgapci0@pci0:0:2:0:	class=3D0x030000 card=3D0x30aa103c chip=3D0x27a28086
rev=3D0x03 hdr=3D0x00
    vendor     =3D 'Intel Corporation'
    device     =3D 'Mobile 945GM/GU Express Integrated Graphics Controller'
    class      =3D display
    subclass   =3D VGA
vgapci1@pci0:0:2:1:	class=3D0x038000 card=3D0x30aa103c chip=3D0x27a68086
rev=3D0x03 hdr=3D0x00
    vendor     =3D 'Intel Corporation'
    device     =3D 'Mobile 945GM/GU Express Integrated Graphics Controller'
    class      =3D display


BTW, the problem does not seem to be specific to Intel GPU or FreeBSD.
I also get a X server crash by running x11perf -shmputxy10 on another
machine running Ubuntu 8.10, with a nVidia GPU:

00:05.0 VGA compatible controller: nVidia Corporation C51 [Geforce
6150 Go] (rev a2)
	Subsystem: Hewlett-Packard Company Device 30b7
	Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 18
	Memory at b2000000 (32-bit, non-prefetchable) [size=3D16M]
	Memory at c0000000 (64-bit, prefetchable) [size=3D256M]
	Memory at b1000000 (64-bit, non-prefetchable) [size=3D16M]
	[virtual] Expansion ROM at 40000000 [disabled] [size=3D128K]
	Capabilities: <access denied>
	Kernel driver in use: nvidia
	Kernel modules: nvidiafb, nvidia



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e71790db0912280728l59a80c86rc76a3e760b5a21d7>