X bombs on resolution change with savage card

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

X bombs on resolution change with savage card

Ryan Freeman
Hello,

I've been watching latest snapshots for about 6 months now hoping this might
disappear but it has yet to so I thought I'd step in and provide some
hopfully solid info. I have upgraded to the latest snapshot as of today also
to try this again and get this report going, system tarballs showing July 5th,
X tarballs showing June 25th. This crash also existed in the 4.0 and 4.1
releases.

Short description: Any time a program or myself tries to change the X.org
resolution while the server is running (modifying the conf and restarting of
course works fine) the server will crash with a signal 11.

Below is the full gdb log I have taken, a tail of the Xorg log (note entirely
useful in terms of crash info) and a dmesg. I have put all logs also at
http://ryan.slipgate.org/savagecrash/ for convenience.

Here is a gdb log:
14:10:16>root@insomniac:ryan 23:0> ps ax|grep X
30283 ??  I       0:18.12 X :0 -auth /home/ryan/.serverauth.14694 (Xorg)
23962 ??  I       0:00.00 X: [priv] (Xorg)
10466 p0  I+      0:00.00 grep X
14694 C0  I+      0:00.01 /bin/sh /usr/X11R6/bin/startx
14:10:24>root@insomniac:ryan 25:0> gdb /usr/X11R6/bin/Xorg 30283
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-openbsd4.1"...
Attaching to program: /usr/X11R6/bin/Xorg, process 30283
Reading symbols from /usr/X11R6/lib/libXfont.so.6.0...done.
Loaded symbols for /usr/X11R6/lib/libXfont.so.6.0
Reading symbols from /usr/X11R6/lib/libfreetype.so.14.0...done.
Loaded symbols for /usr/X11R6/lib/libfreetype.so.14.0
Reading symbols from /usr/X11R6/lib/libXau.so.9.0...done.
Loaded symbols for /usr/X11R6/lib/libXau.so.9.0
Reading symbols from /usr/X11R6/lib/libfontenc.so.3.0...done.
Loaded symbols for /usr/X11R6/lib/libfontenc.so.3.0
Reading symbols from /usr/lib/libz.so.4.1...done.
Loaded symbols for /usr/lib/libz.so.4.1
Reading symbols from /usr/X11R6/lib/libXdmcp.so.9.0...done.
Loaded symbols for /usr/X11R6/lib/libXdmcp.so.9.0
Reading symbols from /usr/lib/libm.so.2.3...done.
Loaded symbols for /usr/lib/libm.so.2.3
Reading symbols from /usr/lib/libc.so.41.0...done.
Loaded symbols for /usr/lib/libc.so.41.0
Reading symbols from /usr/libexec/ld.so...done.
Loaded symbols for /usr/libexec/ld.so
Reading symbols from /usr/X11R6/lib/modules/libpcidata.so...done.
Loaded symbols for /usr/X11R6/lib/modules/libpcidata.so
Reading symbols from /usr/X11R6/lib/modules/extensions/libdbe.so...done.
Loaded symbols for /usr/X11R6/lib/modules/extensions/libdbe.so
Reading symbols from /usr/X11R6/lib/modules/extensions/libextmod.so...done.
Loaded symbols for /usr/X11R6/lib/modules/extensions/libextmod.so
Reading symbols from /usr/X11R6/lib/modules/extensions/librecord.so...done.
Loaded symbols for /usr/X11R6/lib/modules/extensions/librecord.so
Reading symbols from /usr/X11R6/lib/modules/extensions/libxtrap.so...done.
Loaded symbols for /usr/X11R6/lib/modules/extensions/libxtrap.so
Reading symbols from /usr/X11R6/lib/modules/fonts/libtype1.so...done.
Loaded symbols for /usr/X11R6/lib/modules/fonts/libtype1.so
Reading symbols from /usr/X11R6/lib/modules/extensions/libglx.so...done.
Loaded symbols for /usr/X11R6/lib/modules/extensions/libglx.so
Reading symbols from /usr/X11R6/lib/modules/drivers/savage_drv.so...done.
Loaded symbols for /usr/X11R6/lib/modules/drivers/savage_drv.so
Reading symbols from /usr/X11R6/lib/modules/input/mouse_drv.so...done.
Loaded symbols for /usr/X11R6/lib/modules/input/mouse_drv.so
Reading symbols from /usr/X11R6/lib/modules/input/keyboard_drv.so...done.
Loaded symbols for /usr/X11R6/lib/modules/input/keyboard_drv.so
Reading symbols from /usr/X11R6/lib/modules/libvgahw.so...done.
Loaded symbols for /usr/X11R6/lib/modules/libvgahw.so
Reading symbols from /usr/X11R6/lib/modules/libvbe.so...done.
Loaded symbols for /usr/X11R6/lib/modules/libvbe.so
Reading symbols from /usr/X11R6/lib/modules/libint10.so...done.
Loaded symbols for /usr/X11R6/lib/modules/libint10.so
Reading symbols from /usr/X11R6/lib/modules/libddc.so...done.
Loaded symbols for /usr/X11R6/lib/modules/libddc.so
Reading symbols from /usr/X11R6/lib/modules/libi2c.so...done.
Loaded symbols for /usr/X11R6/lib/modules/libi2c.so
Reading symbols from /usr/X11R6/lib/modules/libfb.so...done.
Loaded symbols for /usr/X11R6/lib/modules/libfb.so
Reading symbols from /usr/X11R6/lib/modules/libxaa.so...done.
Loaded symbols for /usr/X11R6/lib/modules/libxaa.so
Reading symbols from /usr/X11R6/lib/modules/libramdac.so...done.
Loaded symbols for /usr/X11R6/lib/modules/libramdac.so
Reading symbols from /usr/X11R6/lib/modules/extensions/libGLcore.so...done.
Loaded symbols for /usr/X11R6/lib/modules/extensions/libGLcore.so
0x04157835 in select () from /usr/lib/libc.so.41.0
(gdb) cont
Continuing.


Program received signal SIGSEGV, Segmentation fault.
0x06175849 in SavageDoAdjustFrame ()
   from /usr/X11R6/lib/modules/drivers/savage_drv.so
(gdb)
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb)



Xorg.log.0:
(ryan@insomniac:~) tail Xorg.0.log.old                      (04:31PM/527/ttyp4)
(**) Option "XkbRules" "xorg"
(**) Keyboard0: XkbRules: "xorg"
(**) Keyboard0: XkbModel: "pc101"
(**) Option "XkbLayout" "us"
(**) Keyboard0: XkbLayout: "us"
(**) Option "CustomKeycodes" "off"
(**) Keyboard0: CustomKeycodes disabled
(II) XINPUT: Adding extended input device "Keyboard0" (type: KEYBOARD)
(II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)
(--) SAVAGE(0): Chose mode 11d at 70Hz.

complete log available at http://ryan.slipgate.org/savagecrash/


and finally a dmesg:
OpenBSD 4.1-current (GENERIC) #323: Thu Jul  5 21:17:07 MDT 2007
    [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Pentium(R) III Mobile CPU 1133MHz ("GenuineIntel" 686-class) 1.14 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE
real mem  = 267415552 (255MB)
avail mem = 250994688 (239MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 07/06/04, BIOS32 rev. 0 @ 0xfd7e0, SMBIOS rev. 2.31 @ 0xe0010 (49 entries)
bios0: IBM 26478MU
apm0 at bios0: Power Management spec V1.2
apm0: battery life expectancy 100%
apm0: AC on, battery charge high
apm0: flags 30102 dobusy 0 doidle 1
pcibios0 at bios0: rev 2.1 @ 0xfd770/0x890
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdeb0/256 (14 entries)
pcibios0: PCI Interrupt Router at 000:31:0 ("Intel 82371FB ISA" rev 0x00)
pcibios0: PCI bus #6 is the last bus
bios0: ROM list: 0xc0000/0xe000 0xce000/0x1000 0xcf000/0x1000 0xdc000/0x4000! 0xe0000/0x10000
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel 82830MP CPU-I/O-1" rev 0x04
ppb0 at pci0 dev 1 function 0 "Intel 82830MP CPU-AGP" rev 0x04
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "S3 SuperSavage" rev 0x05
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
uhci0 at pci0 dev 29 function 0 "Intel 82801CA/CAM USB" rev 0x02: irq 11
uhci1 at pci0 dev 29 function 1 "Intel 82801CA/CAM USB" rev 0x02: irq 11
uhci2 at pci0 dev 29 function 2 "Intel 82801CA/CAM USB" rev 0x02: irq 11
ppb1 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0x42
pci2 at ppb1 bus 2
cbb0 at pci2 dev 0 function 0 "TI PCI1420 CardBus" rev 0x00: irq 11
cbb1 at pci2 dev 0 function 1 "TI PCI1420 CardBus" rev 0x00: irq 11
fxp0 at pci2 dev 8 function 0 "Intel PRO/100 VE" rev 0x42, i82562: irq 11, address 00:02:8a:21:73:24
inphy0 at fxp0 phy 1: i82562ET 10/100 PHY, rev. 0
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 3 device 0 cacheline 0x8, lattimer 0xb0
pcmcia0 at cardslot0
cardslot1 at cbb1 slot 1 flags 0
cardbus1 at cardslot1: bus 6 device 0 cacheline 0x8, lattimer 0xb0
pcmcia1 at cardslot1
ichpcib0 at pci0 dev 31 function 0 "Intel 82801CAM LPC" rev 0x02: 24-bit timer at 3579545Hz
pciide0 at pci0 dev 31 function 1 "Intel 82801CAM IDE" rev 0x02: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <ST9100822A>
wd0: 16-sector PIO, LBA48, 95396MB, 195371568 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
atapiscsi0 at pciide0 channel 1 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <HITACHI, DVD-ROM GD-S250, 0012> SCSI0 5/cdrom removable
cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2
ichiic0 at pci0 dev 31 function 3 "Intel 82801CA/CAM SMBus" rev 0x02: irq 11
iic0 at ichiic0
auich0 at pci0 dev 31 function 5 "Intel 82801CA/CAM AC97" rev 0x02: irq 11, ICH3 AC97
ac97: codec id 0x43525936 (Cirrus Logic CS4299 rev 6)
ac97: codec features headphone, 20 bit DAC, 18 bit ADC, Crystal Semi 3D
audio0 at auich0
usb0 at uhci0: USB revision 1.0
uhub0 at usb0: Intel UHCI root hub, rev 1.00/1.00, addr 1
usb1 at uhci1: USB revision 1.0
uhub1 at usb1: Intel UHCI root hub, rev 1.00/1.00, addr 1
usb2 at uhci2: USB revision 1.0
uhub2 at usb2: Intel UHCI root hub, rev 1.00/1.00, addr 1
isa0 at ichpcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt2 at isa0 port 0x3bc/4: polled
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
biomask effd netmask effd ttymask ffff
pctr: 686-class user-level performance counters enabled
mtrr: Pentium Pro MTRR support
ral0 at cardbus1 dev 0 function 0: irq 11, address ff:ff:ff:ff:ff:ff
ral0: MAC/BBP RT2661B, RF unknown
dkcsum: wd0 matches BIOS drive 0x80
root on wd0a swap on wd0b dump on wd0b
auich0: measured ac97 link rate at 47997 Hz, will use 48000 Hz


I hope this is enough info to get started, i'm hoping the crash message
in the savage driver itself will be the juicy stuff. Regards,

-ryan

Reply | Threaded
Open this post in threaded view
|

Re: X bombs on resolution change with savage card

Ryan Freeman
On Sat, Jul 07, 2007 at 04:47:22PM -0700, Ryan Freeman wrote:

--snip--
>
> Short description: Any time a program or myself tries to change the X.org
> resolution while the server is running (modifying the conf and restarting of
> course works fine) the server will crash with a signal 11.
>
> Below is the full gdb log I have taken, a tail of the Xorg log (note entirely
> useful in terms of crash info) and a dmesg. I have put all logs also at
> http://ryan.slipgate.org/savagecrash/ for convenience.
>
--snip--

>
> Program received signal SIGSEGV, Segmentation fault.
> 0x06175849 in SavageDoAdjustFrame ()
>    from /usr/X11R6/lib/modules/drivers/savage_drv.so
> (gdb)
> Continuing.
>
> Program terminated with signal SIGSEGV, Segmentation fault.
> The program no longer exists.
> (gdb)

--snip--

It would seem that after I have done this work I have now found that this
problem may be directly related to the driver rather than an x.org -> openbsd
problem. If so I apologise for the noise, here is the development I have found
on a debian mailing list which includes a patch that supposedly remedies or
'works around' the problem:

http://lists.debian.org/debian-x/2007/05/msg00642.html

Regards,

-ryan

Reply | Threaded
Open this post in threaded view
|

Re: X bombs on resolution change with savage card

Ryan Freeman
> On Sat, Jul 07, 2007 at 04:47:22PM -0700, Ryan Freeman wrote:
> >
> > Short description: Any time a program or myself tries to change the X.org
> > resolution while the server is running (modifying the conf and restarting of
> > course works fine) the server will crash with a signal 11.
> >
> --snip--
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > 0x06175849 in SavageDoAdjustFrame ()
> >    from /usr/X11R6/lib/modules/drivers/savage_drv.so
> > (gdb)
> > Continuing.
> >
> > Program terminated with signal SIGSEGV, Segmentation fault.
> > The program no longer exists.
> > (gdb)
>
> --snip--
>
> It would seem that after I have done this work I have now found that this
> problem may be directly related to the driver rather than an x.org -> openbsd
> problem. If so I apologise for the noise, here is the development I have found
> on a debian mailing list which includes a patch that supposedly remedies or
> 'works around' the problem:
>
> http://lists.debian.org/debian-x/2007/05/msg00642.html
>

I have confirmed the patch to be working, just checked out the latest xenocara
cvs and applied the following:

Index: src/savage_driver.c
===================================================================
--- src/savage_driver.c 2007-05-13 00:58:41.000000000 +0200
+++ src/savage_driver.c 2007-05-13 01:16:25.000000000 +0200
@@ -3547,6 +3547,7 @@

         /* do it! */
         SavageWriteMode(pScrn, vganew, new, TRUE);
+       pScrn->currentMode = mode;

         if (psav->FBStart2nd) {
            SavageStreamsOn(pScrn);
@@ -3809,6 +3810,7 @@
                     
     /* do it! */    
     SavageWriteMode(pScrn, vganew, new, TRUE);
+    pScrn->currentMode = mode;
                               
     if (psav->FBStart2nd) {  
         SavageStreamsOn(pScrn);

directly from the above url. Credit goes to whomever made that post.
I am no coder so I don't know if this would be considered an 'acceptable' fix
or not, i'm hoping this would be something that can be integrated into xenocara
but from the looks of it, it should actually go directly to the x.org devs.
Thanks and best regards,

-ryan