[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#455313: xserver-xorg-video-sunffb: crashes when client disconnects



Package: xserver-xorg-video-sunffb
Version: 1:1.1.0-3
Severity: normal

When I running an X server using xserver-xorg-video-sunffb directly
from the command line (don't have anything installed currently and
only had an xserver installed to have xrandr 1.2 to test), the xserver
crashes when the first client disconnects.
Following a (slightly shortened) script of a gdb run. (sunffb has no -dbg
package, perhaps I'll find the time to recompile it with debugging symbols later):

| gdb --args /usr/bin/Xorg :9
| This GDB was configured as "sparc-linux-gnu"...
| (gdb) r
| Starting program: /usr/bin/Xorg :9
| [Thread debugging using libthread_db enabled]
| 
| X.Org X Server 1.4.0
| Release Date: 5 September 2007
| X Protocol Version 11, Revision 0
| Build Operating System: Linux Debian (xorg-server 2:1.4.1~git20071119-1)
| Current Operating System: Linux nn122 2.6.22-3-sparc64-smp #1 SMP Mon Nov 12 12:48:41 UTC 2007 sparc64
| Build Date: 02 December 2007  02:40:49AM
|  
| 	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.9.log", Time: Sun Dec  9 18:16:54 2007
| (==) Using config file: "/etc/X11/xorg.conf"
| [New Thread 0xf7fca6b0 (LWP 20089)]
| [tcsetpgrp failed in terminal_inferior: Operation not permitted]
| (II) Module "ramdac" already built-in
| Detected FFB1-SpeedSort, Z-buffer, Double-buffered.
| expected keysym, got XF86KbdLightOnOff: line 70 of pc
| expected keysym, got XF86KbdBrightnessDown: line 71 of pc
| expected keysym, got XF86KbdBrightnessUp: line 72 of pc
| expected keysym, got XF86KbdLightOnOff: line 70 of pc
| expected keysym, got XF86KbdBrightnessDown: line 71 of pc
| expected keysym, got XF86KbdBrightnessUp: line 72 of pc
| FreeFontPath: FPE "/usr/share/fonts/X11/misc" refcount is 2, should be 1; fixing.
| Detected FFB1-SpeedSort, Z-buffer, Double-buffered.
| 
| Program received signal SIGSEGV, Segmentation fault.
| [Switching to Thread 0xf7fca6b0 (LWP 20089)]
| 0xf7931a98 in FFBDacSaveScreen ()
|    from /usr/lib/xorg/modules/drivers//sunffb_drv.so
| (gdb) bt
| #0  0xf7931a98 in FFBDacSaveScreen ()
|    from /usr/lib/xorg/modules/drivers//sunffb_drv.so
| #1  0xf7932cf4 in ?? () from /usr/lib/xorg/modules/drivers//sunffb_drv.so
| #2  0xf7932cf4 in ?? () from /usr/lib/xorg/modules/drivers//sunffb_drv.so
| Backtrace stopped: previous frame identical to this frame (corrupt stack?)
| (gdb) disassemble
| Dump of assembler code for function FFBDacSaveScreen:
| 0xf7931a7c <FFBDacSaveScreen+0>:	save  %sp, -112, %sp
| 0xf7931a80 <FFBDacSaveScreen+4>:	cmp  %i0, 0
| 0xf7931a84 <FFBDacSaveScreen+8>:	be  0xf7931ab8 <FFBDacSaveScreen+60>
| 0xf7931a88 <FFBDacSaveScreen+12>:	sethi  %hi(0x1000), %g1
| 0xf7931a8c <FFBDacSaveScreen+16>:	or  %g1, 0x2cc, %g1	! 0x12cc
| 0xf7931a90 <FFBDacSaveScreen+20>:	sethi  %hi(0x6000), %g2
| 0xf7931a94 <FFBDacSaveScreen+24>:	ld  [ %i0 + %g1 ], %o0
| 0xf7931a98 <FFBDacSaveScreen+28>:	st  %g2, [ %o0 ]
| 0xf7931a9c <FFBDacSaveScreen+32>:	ld  [ %o0 + 4 ], %g1
| 0xf7931aa0 <FFBDacSaveScreen+36>:	cmp  %i1, 2
| 0xf7931aa4 <FFBDacSaveScreen+40>:	ble  0xf7931ac0 <FFBDacSaveScreen+68>
| 0xf7931aa8 <FFBDacSaveScreen+44>:	cmp  %i1, 1
| 0xf7931aac <FFBDacSaveScreen+48>:	cmp  %i1, 3

For comparison, the begin of FFBDacSaveScreen:

! Bool
! FFBDacSaveScreen(FFBPtr pFfb, int mode) {
!   int tmp;
!   ffb_dacPtr dac;
!   if(!pFfb) return FALSE;   /* Is there any way at all this could happen? */
!   else dac = pFfb -> dac;
! 
!   tmp = DACCFG_READ(dac, FFBDAC_CFG_TGEN);  /* Get the timing information */
! 
!   switch(mode) {
and from the header file:
| #define DACCFG_READ(DAC, ADDR)          ((DAC)->cfg = (ADDR), (DAC)->cfgdata)

So this looks like the write to pFfb -> dac -> cfg is failing. Looking at the
registers, it looks like pFfb -> dac is NULL:

| End of assembler dump.
| (gdb) info registers
| g0             0x0	0
| g1             0x12cc	4812
| g2             0x6000	24576
| g3             0xf7949e4c	-141255092
| g4             0x1ff088	2093192
| g5             0x20287769	539522921
| g6             0x21f958	2226520
| g7             0xf7fca6b0	-134437200
| o0             0x0	0
| o1             0x1	1
| o2             0xf7939000	-141324288
| o3             0xff807b0c	-8357108
| o4             0xff807b0c	-8357108
| o5             0x116c	4460
| sp             0xff807a50	0xff807a50
| o7             0xf79329c0	-141350464
| l0             0xf7fc6000	-134455296
| l1             0xbc18000	197230592
| l2             0x0	0
| l3             0x0	0
| l4             0x0	0
| l5             0x0	0
| l6             0x0	0
| l7             0xf7949660	-141257120
| i0             0xf7d37920	-137135840
| i1             0x0	0
| i2             0x1f4cd0	2051280
| i3             0x4	4
| i4             0xf7c526e8	-138074392
| i5             0x1ff088	2093192
| fp             0xff807ac0	0xff807ac0
| i7             0xf7932cec	-141349652
| y              0x0	0
| psr            0xff800080	[ S #23 #24 #25 #26 #27 #28 #29 #30 #31 ]
| wim            0x0	0
| tbr            0x0	0
| pc             0xf7931a98	0xf7931a98 <FFBDacSaveScreen+28>
| npc            0xf7931a9c	0xf7931a9c <FFBDacSaveScreen+32>
| fsr            0x0	[ ]
| csr            0x0	0

more is sadly not visible, as the stack is a bit confused.

| (gdb) up
| #1  0xf7932cf4 in ?? () from /usr/lib/xorg/modules/drivers//sunffb_drv.so
| (gdb) disassemble
| No function contains program counter for selected frame.
| (gdb) quit

-- Package-specific info:
Contents of /var/lib/x11/X.roster:
xserver-xorg

/var/lib/x11/X.md5sum does not exist.

X server symlink status:
lrwxrwxrwx 1 root root 13 Apr 20  2006 /etc/X11/X -> /usr/bin/Xorg
-rwxr-xr-x 1 root root 1732344 Dec  2 04:27 /usr/bin/Xorg

Contents of /var/lib/x11/xorg.conf.roster:
xserver-xorg

The lspci command was not found; not including PCI data.

/etc/X11/xorg.conf unchanged from checksum in /var/lib/x11/xorg.conf.md5sum.

Xorg X server configuration file status:
-rw-r--r-- 1 root root 1159 Dec  9 17:38 /etc/X11/xorg.conf

Contents of /etc/X11/xorg.conf:
#  (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the  manual page.
# (Type "man " at the shell prompt.)
#
# This file is automatically updated on  package upgrades *only*
# if it has not been modified since the last upgrade of the 
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#   sudo dpkg-reconfigure -phigh 

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc104"
	Option		"XkbLayout"	"us"
EndSection

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
EndSection

Section "Device"
	Identifier	"Sun Creator3D framebuffer or similar (SUNW,501-3129)"
	Driver		"sunffb"
EndSection

Section "Monitor"
	Identifier	"Configured Monitor"
	Option		"DPMS"
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Monitor		"Configured Monitor"
	DefaultDepth	24
	SubSection "Display"
		Modes		"800x600" "640x480"
	EndSubSection
EndSection


Xorg X server log files on system:
-rw-r--r-- 1 root root  9937 Apr 21  2006 /var/log/Xorg.0.log
-rw-r--r-- 1 root root 10614 Dec  9 18:17 /var/log/Xorg.9.log

Contents of most recent Xorg X server log file
/var/log/Xorg.9.log:

X.Org X Server 1.4.0
Release Date: 5 September 2007
X Protocol Version 11, Revision 0
Build Operating System: Linux Debian (xorg-server 2:1.4.1~git20071119-1)
Current Operating System: Linux nn122 2.6.22-3-sparc64-smp #1 SMP Mon Nov 12 12:48:41 UTC 2007 sparc64
Build Date: 02 December 2007  02:40:49AM
 
	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.9.log", Time: Sun Dec  9 18:16:54 2007
(==) Using config file: "/etc/X11/xorg.conf"
(==) No Layout section.  Using the first Screen section.
(**) |-->Screen "Default Screen" (0)
(**) |   |-->Monitor "Configured Monitor"
(==) No device specified for screen "Default Screen".
	Using the first device section listed.
(**) |   |-->Device "Sun Creator3D framebuffer or similar (SUNW,501-3129)"
(==) |-->Input Device "Configured Mouse"
(==) |-->Input Device "Generic Keyboard"
(==) The core pointer device wasn't specified explicitly in the layout.
	Using the first mouse device.
(==) The core keyboard device wasn't specified explicitly in the layout.
	Using the first keyboard device.
(==) Automatically adding devices
(==) Automatically enabling devices
(==) No FontPath specified.  Using compiled-in default.
(WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
	Entry deleted from font path.
(WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
	Entry deleted from font path.
(WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
	Entry deleted from font path.
(WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
	Entry deleted from font path.
(WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
	Entry deleted from font path.
(WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
	Entry deleted from font path.
(WW) The directory "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" does not exist.
	Entry deleted from font path.
(==) FontPath set to:
	/usr/share/fonts/X11/misc
(==) RgbPath set to "/etc/X11/rgb"
(==) ModulePath set to "/usr/lib/xorg/modules"
(II) No APM support in BIOS or kernel
(II) Loader magic: 0x1bece0
(II) Module ABI versions:
	X.Org ANSI C Emulation: 0.3
	X.Org Video Driver: 2.0
	X.Org XInput driver : 2.0
	X.Org Server Extension : 0.3
	X.Org Font Renderer : 0.5
(II) Loader running on linux
(II) LoadModule: "pcidata"
(II) Loading /usr/lib/xorg/modules//libpcidata.so
(II) Module pcidata: vendor="X.Org Foundation"
	compiled for 1.4.0, module version = 1.0.0
	ABI class: X.Org Video Driver, version 2.0
(--) using VT number 7

(WW) OS did not count PCI devices, guessing wildly
(--) SBUS:(0xf0071ad0) Sun FFB 75MHz Creator 3D at /SUNW,ffb@1e,0
(II) Addressable bus resource ranges are
(II) OS-reported resource ranges:
(II) OS-reported resource ranges after removing overlaps with PCI:
(II) All system resource ranges:
(II) LoadModule: "extmod"
(II) Loading /usr/lib/xorg/modules/extensions//libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
	compiled for 1.4.0, module version = 1.0.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 0.3
(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 XFree86-DGA
(II) Loading extension DPMS
(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: "dbe"
(II) Loading /usr/lib/xorg/modules/extensions//libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
	compiled for 1.4.0, module version = 1.0.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 0.3
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "glx"
(II) Loading /usr/lib/xorg/modules/extensions//libglx.so
(II) Module glx: vendor="X.Org Foundation"
	compiled for 1.4.0, module version = 1.0.0
	ABI class: X.Org Server Extension, version 0.3
(==) AIGLX enabled
(II) Loading extension GLX
(II) LoadModule: "freetype"
(II) Loading /usr/lib/xorg/modules/fonts//libfreetype.so
(II) Module freetype: vendor="X.Org Foundation & the After X-TT Project"
	compiled for 1.4.0, module version = 2.1.0
	Module class: X.Org Font Renderer
	ABI class: X.Org Font Renderer, version 0.5
(II) Loading font FreeType
(II) LoadModule: "record"
(II) Loading /usr/lib/xorg/modules/extensions//librecord.so
(II) Module record: vendor="X.Org Foundation"
	compiled for 1.4.0, module version = 1.13.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 0.3
(II) Loading extension RECORD
(II) LoadModule: "dri"
(II) Loading /usr/lib/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
	compiled for 1.4.0, module version = 1.0.0
	ABI class: X.Org Server Extension, version 0.3
(II) Loading extension XFree86-DRI
(II) LoadModule: "sunffb"
(II) Loading /usr/lib/xorg/modules/drivers//sunffb_drv.so
(II) Module sunffb: vendor="X.Org Foundation"
	compiled for 1.4.0, module version = 1.1.0
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 2.0
(II) LoadModule: "mouse"
(II) Loading /usr/lib/xorg/modules/input//mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
	compiled for 1.4.0, module version = 1.2.3
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 2.0
(II) LoadModule: "kbd"
(II) Loading /usr/lib/xorg/modules/input//kbd_drv.so
(II) Module kbd: vendor="X.Org Foundation"
	compiled for 1.4.0, module version = 1.2.2
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 2.0
(II) SUNFFB: driver for Creator, Creator 3D and Elite 3D
(--) Assigning device section with no busID to SBUS:/SUNW,ffb@1e,0
(II) resource ranges after probing:
(==) SUNFFB(0): RGB weight 888
(==) SUNFFB(0): Default visual is TrueColor
(==) SUNFFB(0): Using gamma correction (1.0, 1.0, 1.0)
(==) SUNFFB(0): Using HW cursor
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Loading /usr/lib/xorg/modules//libfb.so
(II) Module fb: vendor="X.Org Foundation"
	compiled for 1.4.0, module version = 1.0.0
	ABI class: X.Org ANSI C Emulation, version 0.3
(II) Loading sub module "xaa"
(II) LoadModule: "xaa"
(II) Loading /usr/lib/xorg/modules//libxaa.so
(II) Module xaa: vendor="X.Org Foundation"
	compiled for 1.4.0, module version = 1.2.0
	ABI class: X.Org Video Driver, version 2.0
(II) Loading sub module "ramdac"
(II) LoadModule: "ramdac"(II) Module "ramdac" already built-in
(II) Loading sub module "dbe"
(II) LoadModule: "dbe"
(II) Reloading /usr/lib/xorg/modules/extensions//libdbe.so
(II) Loading extension DOUBLE-BUFFER
(==) SUNFFB(0): DPI set to (75, 75)
(--) Depth 24 pixmap format is 32 bpp
(II) do I need RAC?  No, I don't.
(II) resource ranges after preInit:
(II) /dev/fb0: Detected FFB1-SpeedSort, Z-buffer, Double-buffered.
(II) /dev/fb0: BT9068 (PAC1) ramdac detected (with normal cursor control)
(II) /dev/fb0: Detected Creator/Creator3D
(II) SUNFFB(0): Using XFree86 Acceleration Architecture (XAA)
	Screen to screen bit blits
	Solid filled rectangles
	8x8 mono pattern filled rectangles
	Indirect CPU to Screen color expansion
	Solid Lines
	Dashed Lines
	Driver provided ScreenToScreenBitBlt replacement
	Driver provided WritePixmap replacement
(II) /dev/fb0: Using acceleration
(==) SUNFFB(0): Backing store disabled
(==) SUNFFB(0): Silken mouse enabled
(II) /dev/fb0: DGA support initialized.
(**) Option "dpms"
(**) SUNFFB(0): DPMS enabled
(**) SUNFFB(0): DPMS enabled
(==) RandR enabled
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension XC-APPGROUP
(II) Initializing built-in extension XAccessControlExtension
(II) Initializing built-in extension SECURITY
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFIXES
(II) Initializing built-in extension XFree86-Bigfont
(II) Initializing built-in extension RENDER
(II) Initializing built-in extension RANDR
(II) Initializing built-in extension COMPOSITE
(II) Initializing built-in extension DAMAGE
(II) Initializing built-in extension XEVIE
(II) AIGLX: Screen 0 is not DRI capable
(II) Loading sub module "GLcore"
(II) LoadModule: "GLcore"
(II) Loading /usr/lib/xorg/modules/extensions//libGLcore.so
(II) Module GLcore: vendor="X.Org Foundation"
	compiled for 1.4.0, module version = 1.0.0
	ABI class: X.Org Server Extension, version 0.3
(II) GLX: Initialized MESA-PROXY GL provider for screen 0
(WW) Configured Mouse: No Device specified, looking for one...
(II) Configured Mouse: Setting Device option to "/dev/input/mice"
(--) Configured Mouse: Device: "/dev/input/mice"
(==) Configured Mouse: Protocol: "Auto"
(**) Option "CorePointer"
(**) Configured Mouse: always reports core events
(==) Configured Mouse: Emulate3Buttons, Emulate3Timeout: 50
(**) Configured Mouse: ZAxisMapping: buttons 4 and 5
(**) Configured Mouse: Buttons: 9
(**) Configured Mouse: Sensitivity: 1
(**) Option "CoreKeyboard"
(**) Generic Keyboard: always reports core events
(**) Option "Protocol" "standard"
(**) Generic Keyboard: Protocol: standard
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "xorg"
(**) Generic Keyboard: XkbRules: "xorg"
(**) Option "XkbModel" "pc104"
(**) Generic Keyboard: XkbModel: "pc104"
(**) Option "XkbLayout" "us"
(**) Generic Keyboard: XkbLayout: "us"
(**) Option "CustomKeycodes" "off"
(**) Generic Keyboard: CustomKeycodes disabled
(II) evaluating device (Generic Keyboard)
(II) XINPUT: Adding extended input device "Generic Keyboard" (type: KEYBOARD)
(II) evaluating device (Configured Mouse)
(II) XINPUT: Adding extended input device "Configured Mouse" (type: MOUSE)
(--) Configured Mouse: PnP-detected protocol: "ExplorerPS/2"
(II) Configured Mouse: ps2EnableDataReporting: succeeded
FreeFontPath: FPE "/usr/share/fonts/X11/misc" refcount is 2, should be 1; fixing.
(II) No APM support in BIOS or kernel
(II) /dev/fb0: Detected FFB1-SpeedSort, Z-buffer, Double-buffered.
(II) /dev/fb0: BT9068 (PAC1) ramdac detected (with normal cursor control)
(II) /dev/fb0: Detected Creator/Creator3D


-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: sparc (sparc64)

Kernel: Linux 2.6.22-3-sparc64-smp (SMP w/1 CPU core)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash

Versions of packages xserver-xorg-video-sunffb depends on:
ii  libc6              2.7-4                 GNU C Library: Shared libraries
ii  xserver-xorg-core  2:1.4.1~git20071119-1 Xorg X server - core server

xserver-xorg-video-sunffb recommends no packages.

-- no debconf information

Hochachtungsvoll,
	Bernhard R. Link
-- 
"Never contain programs so few bugs, as when no debugging tools are available!"
	Niklaus Wirth




Reply to: