Bug 1764 - Server crashes with signal 11 (segfault) on startup
Summary: Server crashes with signal 11 (segfault) on startup
Status: RESOLVED WORKSFORME
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: 6.7.0
Hardware: Alpha FreeBSD
: high blocker
Assignee: Xorg Project Team
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-02 12:57 UTC by Ken Stailey
Modified: 2004-11-21 15:24 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
patch used in OpenBSD (642 bytes, patch)
2004-11-09 13:13 UTC, Matthieu Herrb
no flags Details | Splinter Review

Description Ken Stailey 2004-11-02 12:57:00 UTC
Platform:  DEC AlphaServer 1000A with Matrox Mystique card.  (this platform is
supported correctly by XFree86 3.3.6 but not by XFree86 4)

OS: FreeBSD 5.3-BETA7

Crash occurs right after int10 module loads.  See Xorg.0.log for details:

Release Date: 18 December 2003
X Protocol Version 11, Revision 0, Release 6.7
Build Operating System: FreeBSD 5.3 alpha [ELF] 
Current Operating System: FreeBSD loki.trickster.gods 5.3-BETA7 FreeBSD 
5.3-BETA7 #3: Sun Oct 20 08:45:06 EDT 2024     
kstailey@loki.trickster.gods:/usr/obj/usr/src/sys/LOKI alpha
Build Date: 28 October 2004
	Before reporting problems, check http://wiki.X.Org
	to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Thu Oct 28 19:16:25 2004
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "Simple Layout"
(**) |-->Screen "Screen 1" (0)
(**) |   |-->Monitor "NEC MultiSync 5FGe"
(**) |   |-->Device "Matrox Mystique"
(**) |-->Input Device "Mouse1"
(**) |-->Input Device "Keyboard1"
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "xorg"
(**) XKB: rules: "xorg"
(**) Option "XkbModel" "pc101"
(**) XKB: model: "pc101"
(**) Option "XkbLayout" "us"
(**) XKB: layout: "us"
(==) Keyboard: CustomKeycode disabled
(WW) `fonts.dir' not found (or not valid) in "/usr/X11R6/lib/X11/fonts/local/".
	Entry deleted from font path.
	(Run 'mkfontdir' on "/usr/X11R6/lib/X11/fonts/local/").
(WW) `fonts.dir' not found (or not valid) in 
"/usr/X11R6/lib/X11/fonts/Speedo/".
	Entry deleted from font path.
	(Run 'mkfontdir' on "/usr/X11R6/lib/X11/fonts/Speedo/").
(**) FontPath set to 
"/usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/75dpi/:unscaled,/usr/X11R6/lib/X11/fonts/100dpi/:unscaled,/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/X11/fonts/100dpi/"
(**) RgbPath set to "/usr/X11R6/lib/X11/rgb"
(==) ModulePath set to "/usr/X11R6/lib/modules"
(II) Module ABI versions:
	X.Org ANSI C Emulation: 0.2
	X.Org Video Driver: 0.7
	X.Org XInput driver : 0.4
	X.Org Server Extension : 0.2
	X.Org Font Renderer : 0.4
(II) Loader running on freebsd
(II) LoadModule: "bitmap"
(II) Loading /usr/X11R6/lib/modules/fonts/libbitmap.a
(II) Module bitmap: vendor="X.Org Foundation"
	compiled for 6.7.0, module version = 1.0.0
	Module class: X.Org Font Renderer
	ABI class: X.Org Font Renderer, version 0.4
(II) Loading font Bitmap
(II) LoadModule: "pcidata"
(II) Loading /usr/X11R6/lib/modules/libpcidata.a
(II) Module pcidata: vendor="X.Org Foundation"
	compiled for 6.7.0, module version = 1.0.0
	ABI class: X.Org Video Driver, version 0.7
(--) Using syscons driver with X support (version 16777218.0)
(--) using VT number 9

(II) PCI: PCI scan (all values are in hex)
(II) PCI: 00:07:0: chip 8086,0482 card 0000,0000 rev 15 class 00,00,00 hdr 00
(II) PCI: 00:08:0: chip 1011,0001 card 0000,0000 rev 02 class 06,04,00 hdr 01
(II) PCI: 00:0b:0: chip 102b,051a card ffff,ffff rev 03 class 03,00,00 hdr 00
(II) PCI: 00:0c:0: chip 1011,0009 card 1011,500a rev 20 class 02,00,00 hdr 00
(II) PCI: 00:0d:0: chip 1069,0001 card 0000,0000 rev 02 class 01,04,00 hdr 00
(II) PCI: 02:00:0: chip 1077,1020 card 0000,0000 rev 02 class 01,00,00 hdr 00
(II) PCI: 02:02:0: chip 13f6,0111 card 13f6,0111 rev 10 class 04,01,00 hdr 00
(II) PCI: End of PCI scan
(II) PCI-to-PCI bridge:
(II) Bus 2: bridge is at (0:8:0), (0,2,2), BCTRL: 0x0027 (VGA_EN is cleared)
(II) Bus 2 I/O range:
	[0] -1	0	0x00009000 - 0x000090ff (0x100) IX[B]
	[1] -1	0	0x00009400 - 0x000094ff (0x100) IX[B]
	[2] -1	0	0x00009800 - 0x000098ff (0x100) IX[B]
	[3] -1	0	0x00009c00 - 0x00009cff (0x100) IX[B]
(II) Bus 2 non-prefetchable memory range:
	[0] -1	0	0x81800000 - 0x818fffff (0x100000) MX[B]
(II) Host-to-PCI bridge:
(II) Bus 0: bridge is at (0:0:0), (0,0,0), BCTRL: 0x0008 (VGA_EN is set)
(II) Bus 0 I/O range:
	[0] -1	0	0x00000000 - 0xffffffff (0x100000000) IX[B]
(II) Bus 0 non-prefetchable memory range:
	[0] -1	0	0x80000000 - 0xffffffff (0x80000000) MX[B]
(II) Bus 0 prefetchable memory range:
	[0] -1	0	0x80000000 - 0xffffffff (0x80000000) MX[B]
(--) PCI: (0:7:0) Intel Corp. 82375EB rev 21
(--) PCI:*(0:11:0) Matrox Graphics, Inc. MGA 1064SG [Mystique] rev 3, Mem @ 
0xa0000000/23, 0x81958000/14, 0x81000000/23, BIOS @ 0x81940000/16
(II) Addressable bus resource ranges are
	[0] -1	0	0x00000000 - 0xffffffff (0x100000000) MX[B]
	[1] -1	0	0x00000000 - 0xffffffff (0x100000000) IX[B]
(II) OS-reported resource ranges:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x00000000 - 0x00000000 (0x1) MX[B]
	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[3] -1	0	0xffffffff - 0xffffffff (0x1) IX[B]
	[4] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
(II) Active PCI resource ranges:
	[0] -1	0	0x81810000 - 0x8181ffff (0x10000) MX[B]E
	[1] -1	0	0x8195c080 - 0x8195c0ff (0x80) MX[B]E
	[2] -1	0	0x8195c000 - 0x8195ffff (0x4000) MX[B]E
	[3] -1	0	0x81940000 - 0x8194ffff (0x10000) MX[B](B)
	[4] -1	0	0x81000000 - 0x817fffff (0x800000) MX[B](B)
	[5] -1	0	0x81958000 - 0x8195bfff (0x4000) MX[B](B)
	[6] -1	0	0xa0000000 - 0xa07fffff (0x800000) MX[B](B)
	[7] -1	0	0x00009400 - 0x000094ff (0x100) IX[B]E
	[8] -1	0	0x00009000 - 0x000090ff (0x100) IX[B]E
	[9] -1	0	0x0000a080 - 0x0000a0ff (0x80) IX[B]E
	[10] -1	0	0x0000a000 - 0x0000a0ff (0x100) IX[B]E
(II) PCI Memory resource overlap reduced 0x8195c000 from 0x8195ffff to 
0x8195c07f
(II) PCI I/O resource overlap reduced 0x0000a000 from 0x0000a0ff to 0x0000a07f
(II) Active PCI resource ranges after removing overlaps:
	[0] -1	0	0x81810000 - 0x8181ffff (0x10000) MX[B]E
	[1] -1	0	0x8195c080 - 0x8195c0ff (0x80) MX[B]E
	[2] -1	0	0x8195c000 - 0x8195c07f (0x80) MX[B]E
	[3] -1	0	0x81940000 - 0x8194ffff (0x10000) MX[B](B)
	[4] -1	0	0x81000000 - 0x817fffff (0x800000) MX[B](B)
	[5] -1	0	0x81958000 - 0x8195bfff (0x4000) MX[B](B)
	[6] -1	0	0xa0000000 - 0xa07fffff (0x800000) MX[B](B)
	[7] -1	0	0x00009400 - 0x000094ff (0x100) IX[B]E
	[8] -1	0	0x00009000 - 0x000090ff (0x100) IX[B]E
	[9] -1	0	0x0000a080 - 0x0000a0ff (0x80) IX[B]E
	[10] -1	0	0x0000a000 - 0x0000a07f (0x80) IX[B]E
(II) OS-reported resource ranges after removing overlaps with PCI:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x00000000 - 0x00000000 (0x1) MX[B]
	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[3] -1	0	0xffffffff - 0xffffffff (0x1) IX[B]
	[4] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
(II) All system resource ranges:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x00000000 - 0x00000000 (0x1) MX[B]
	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[3] -1	0	0x81810000 - 0x8181ffff (0x10000) MX[B]E
	[4] -1	0	0x8195c080 - 0x8195c0ff (0x80) MX[B]E
	[5] -1	0	0x8195c000 - 0x8195c07f (0x80) MX[B]E
	[6] -1	0	0x81940000 - 0x8194ffff (0x10000) MX[B](B)
	[7] -1	0	0x81000000 - 0x817fffff (0x800000) MX[B](B)
	[8] -1	0	0x81958000 - 0x8195bfff (0x4000) MX[B](B)
	[9] -1	0	0xa0000000 - 0xa07fffff (0x800000) MX[B](B)
	[10] -1	0	0xffffffff - 0xffffffff (0x1) IX[B]
	[11] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
	[12] -1	0	0x00009400 - 0x000094ff (0x100) IX[B]E
	[13] -1	0	0x00009000 - 0x000090ff (0x100) IX[B]E
	[14] -1	0	0x0000a080 - 0x0000a0ff (0x80) IX[B]E
	[15] -1	0	0x0000a000 - 0x0000a07f (0x80) IX[B]E
(II) LoadModule: "dbe"
(II) Loading /usr/X11R6/lib/modules/extensions/libdbe.a
(II) Module dbe: vendor="X.Org Foundation"
	compiled for 6.7.0, module version = 1.0.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 0.2
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "extmod"
(II) Loading /usr/X11R6/lib/modules/extensions/libextmod.a
(II) Module extmod: vendor="X.Org Foundation"
	compiled for 6.7.0, module version = 1.0.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 0.2
(II) Loading extension SHAPE
(II) Loading extension MIT-SUNDRY-NONSTANDARD
(II) Loading extension BIG-REQUESTS
(II) Loading extension SYNC
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XC-MISC
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-Misc
(II) Loading extension DPMS
(II) Loading extension FontCache
(II) Loading extension TOG-CUP
(II) Loading extension Extended-Visual-Information
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "xaa"
(II) Loading /usr/X11R6/lib/modules/libxaa.a
(II) Module xaa: vendor="X.Org Foundation"
	compiled for 6.7.0, module version = 1.1.0
	ABI class: X.Org Video Driver, version 0.7
(II) LoadModule: "type1"
(II) Loading /usr/X11R6/lib/modules/fonts/libtype1.a
(II) Module type1: vendor="X.Org Foundation"
	compiled for 6.7.0, module version = 1.0.2
	Module class: X.Org Font Renderer
	ABI class: X.Org Font Renderer, version 0.4
(II) Loading font Type1
(II) Loading font CID
(II) LoadModule: "freetype"
(II) Loading /usr/X11R6/lib/modules/fonts/libfreetype.so
(II) Module freetype: vendor="X.Org Foundation & the After X-TT Project"
	compiled for 6.7.0, module version = 2.1.0
	Module class: X.Org Font Renderer
	ABI class: X.Org Font Renderer, version 0.4
(II) Loading font FreeType
(II) LoadModule: "mga"
(II) Loading /usr/X11R6/lib/modules/drivers/mga_drv.o
(II) Module mga: vendor="X.Org Foundation"
	compiled for 6.7.0, module version = 1.1.1
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 0.7
(II) LoadModule: "mouse"
(II) Loading /usr/X11R6/lib/modules/input/mouse_drv.o
(II) Module mouse: vendor="X.Org Foundation"
	compiled for 6.7.0, module version = 1.0.0
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 0.4
(II) MGA: driver for Matrox chipsets: mga2064w, mga1064sg, mga2164w,
	mga2164w AGP, mgag100, mgag100 PCI, mgag200, mgag200 PCI, mgag400,
	mgag550
(II) Primary Device is: PCI 00:0b:0
(--) Assigning device section with no busID to primary device
(--) Chipset mga1064sg found
(II) resource ranges after xf86ClaimFixedResources() call:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x00000000 - 0x00000000 (0x1) MX[B]
	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[3] -1	0	0x81810000 - 0x8181ffff (0x10000) MX[B]E
	[4] -1	0	0x8195c080 - 0x8195c0ff (0x80) MX[B]E
	[5] -1	0	0x8195c000 - 0x8195c07f (0x80) MX[B]E
	[6] -1	0	0x81940000 - 0x8194ffff (0x10000) MX[B](B)
	[7] -1	0	0x81000000 - 0x817fffff (0x800000) MX[B](B)
	[8] -1	0	0x81958000 - 0x8195bfff (0x4000) MX[B](B)
	[9] -1	0	0xa0000000 - 0xa07fffff (0x800000) MX[B](B)
	[10] -1	0	0xffffffff - 0xffffffff (0x1) IX[B]
	[11] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
	[12] -1	0	0x00009400 - 0x000094ff (0x100) IX[B]E
	[13] -1	0	0x00009000 - 0x000090ff (0x100) IX[B]E
	[14] -1	0	0x0000a080 - 0x0000a0ff (0x80) IX[B]E
	[15] -1	0	0x0000a000 - 0x0000a07f (0x80) IX[B]E
(II) resource ranges after probing:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x00000000 - 0x00000000 (0x1) MX[B]
	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[3] -1	0	0x81810000 - 0x8181ffff (0x10000) MX[B]E
	[4] -1	0	0x8195c080 - 0x8195c0ff (0x80) MX[B]E
	[5] -1	0	0x8195c000 - 0x8195c07f (0x80) MX[B]E
	[6] -1	0	0x81940000 - 0x8194ffff (0x10000) MX[B](B)
	[7] -1	0	0x81000000 - 0x817fffff (0x800000) MX[B](B)
	[8] -1	0	0x81958000 - 0x8195bfff (0x4000) MX[B](B)
	[9] -1	0	0xa0000000 - 0xa07fffff (0x800000) MX[B](B)
	[10] 0	0	0x000a0000 - 0x000affff (0x10000) MS[B]
	[11] 0	0	0x000b0000 - 0x000b7fff (0x8000) MS[B]
	[12] 0	0	0x000b8000 - 0x000bffff (0x8000) MS[B]
	[13] -1	0	0xffffffff - 0xffffffff (0x1) IX[B]
	[14] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
	[15] -1	0	0x00009400 - 0x000094ff (0x100) IX[B]E
	[16] -1	0	0x00009000 - 0x000090ff (0x100) IX[B]E
	[17] -1	0	0x0000a080 - 0x0000a0ff (0x80) IX[B]E
	[18] -1	0	0x0000a000 - 0x0000a07f (0x80) IX[B]E
	[19] 0	0	0x000003b0 - 0x000003bb (0xc) IS[B]
	[20] 0	0	0x000003c0 - 0x000003df (0x20) IS[B]
(II) Setting vga for screen 0.
(II) Loading sub module "vgahw"
(II) LoadModule: "vgahw"
(II) Loading /usr/X11R6/lib/modules/libvgahw.a
(II) Module vgahw: vendor="X.Org Foundation"
	compiled for 6.7.0, module version = 0.1.0
	ABI class: X.Org Video Driver, version 0.7
(--) MGA(0): Chipset: "mga1064sg"
(**) MGA(0): Depth 16, (--) framebuffer bpp 16
(==) MGA(0): RGB weight 565
(==) MGA(0): Using AGP 1x mode
(--) MGA(0): Linear framebuffer at 0xA0000000
(--) MGA(0): MMIO registers at 0x81958000
(--) MGA(0): Pseudo-DMA transfer window at 0x81000000
(--) MGA(0): BIOS at 0x81940000
(II) Truncating PCI BIOS Length to 32768
(--) MGA(0): Video BIOS info block at offset 0x07C60
(--) MGA(0): Found and verified enhanced Video BIOS info block
(II) MGA(0): MGABios.RamdacType = 0x0
(--) Machine type has 8/16 bit access
(--) MGA(0): VideoRAM: 2048 kByte
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"
(II) Loading /usr/X11R6/lib/modules/libddc.a
(II) Module ddc: vendor="X.Org Foundation"
	compiled for 6.7.0, module version = 1.0.0
	ABI class: X.Org Video Driver, version 0.7
(II) Loading sub module "i2c"
(II) LoadModule: "i2c"
(II) Loading /usr/X11R6/lib/modules/libi2c.a
(II) Module i2c: vendor="X.Org Foundation"
	compiled for 6.7.0, module version = 1.2.0
	ABI class: X.Org Video Driver, version 0.7
(II) MGA(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000
(II) MGA(0): I2C bus "DDC" initialized.
(II) MGA(0): I2C device "DDC:ddc2" registered at address 0xA0.
(II) MGA(0): I2C device "DDC:ddc2" removed.
(II) MGA(0): I2C Monitor info: 0x0
(II) MGA(0): end of I2C Monitor info
(--) MGA(0): No DDC signal
(II) MGA(0): DDC Monitor info: 0x0
(II) MGA(0): end of DDC Monitor info
(II) Loading sub module "vbe"
(II) LoadModule: "vbe"
(II) Loading /usr/X11R6/lib/modules/libvbe.a
(II) Module vbe: vendor="X.Org Foundation"
	compiled for 6.7.0, module version = 1.1.0
	ABI class: X.Org Video Driver, version 0.7
(II) Loading sub module "int10"
(II) LoadModule: "int10"
(II) Loading /usr/X11R6/lib/modules/libint10.a
(II) Module int10: vendor="X.Org Foundation"
	compiled for 6.7.0, module version = 1.0.0
	ABI class: X.Org Video Driver, version 0.7
(II) MGA(0): initializing int10
(II) MGA(0): No legacy BIOS found -- trying PCI
(II) Truncating PCI BIOS Length to 32768

   *** If unresolved symbols were reported above, they might not
   *** be the reason for the server aborting.

Fatal server error:
Caught signal 11.  Server aborting


Please consult the The X.Org Foundation support 
	 at http://wiki.X.Org
 for help. 
Please also check the log file at "/var/log/Xorg.0.log" for additional 
information.
Comment 1 Matthieu Herrb 2004-11-09 13:13:06 UTC
Created attachment 1258 [details] [review]
patch used in OpenBSD

In the OpenBSD X tree, I've used this patch to get matrox cards working on 
alpha. I don't know if it's the same problem you're seeing though. Could you 
try this patch and report?
Comment 2 Ken Stailey 2004-11-10 08:26:50 UTC
Thank you very much for your patch from OpenBSD.  It did not help my problem but
it might help further down the road once my problem is fixed.

On thing to note is that your patch was for a bus error.  The server does not
bus error it segfaults in my case.

I have started adding "print" statements after the last sucessful message in an
effort to see how far execution gets.
Comment 3 Ken Stailey 2004-11-10 19:32:18 UTC
At this point I have determined that the call to X86EMU_exec() never returns.  I
also see a series of eight calls to int_handler(0x1A) are made from inside
X86EMU_exec() or a sub function.

in xf86x86emu.c

void
xf86ExecX86int10(xf86Int10InfoPtr pInt)
{
    int sig = setup_int(pInt);

    if (sig < 0)
        return;

    if (int_handler(pInt)) {
        xf86DrvMsg(pInt->scrnIndex, X_INFO, "int_handler returned TRUE\n");
        X86EMU_exec();
        xf86DrvMsg(pInt->scrnIndex, X_INFO, "X86EMU_exec returned\n");
    }

    finish_int(pInt, sig);
}

in xf86int10.c

int
int_handler(xf86Int10InfoPtr pInt)
{
    int num = pInt->num;
    int ret = 0;

    xf86DrvMsg(pInt->scrnIndex, X_INFO, "int_handler called (%x)\n", num);

    switch (num) {
[...etc...]

When Xorg is run I get in Xorg.0.log

(II) MGA(0): int_handler called (e6)
(II) MGA(0): int_handler returned TRUE
(II) MGA(0): int_handler called (1a)
(II) MGA(0): int_handler called (1a)
(II) MGA(0): int_handler called (1a)
(II) MGA(0): int_handler called (1a)
(II) MGA(0): int_handler called (1a)
(II) MGA(0): int_handler called (1a)
(II) MGA(0): int_handler called (1a)
(II) MGA(0): int_handler called (1a)

   *** If unresolved symbols were reported above, they might not
   *** be the reason for the server aborting.

Fatal server error:
Caught signal 11.  Server aborting
Comment 4 Ken Stailey 2004-11-22 10:24:16 UTC
It was pointed out to me that adding

Option      "NoInt10"

to the Device (video card) settings in the xorg.conf file works.

I'm up on Xorg now on AS 1000A w/Matrox Mystique.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.