Bug 23239 - elographics crashes xorg on shutdown (double free or corruption)
Summary: elographics crashes xorg on shutdown (double free or corruption)
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/elographics (show other bugs)
Version: 7.4 (2008.09)
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Peter Hutterer
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-10 08:41 UTC by Karim 'Kasi Mir' Senoucci
Modified: 2009-08-24 04:21 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
xorg.conf (2.11 KB, text/plain)
2009-08-10 08:41 UTC, Karim 'Kasi Mir' Senoucci
no flags Details
Xorg.0.log (14.30 KB, text/plain)
2009-08-10 08:42 UTC, Karim 'Kasi Mir' Senoucci
no flags Details
stdout/stderr output of "startx" (12.85 KB, text/plain)
2009-08-10 08:43 UTC, Karim 'Kasi Mir' Senoucci
no flags Details
0001-Reset-local-priv-to-NULL-to-avoid-double-frees.-2323.patch (743 bytes, patch)
2009-08-17 22:38 UTC, Peter Hutterer
no flags Details | Splinter Review

Description Karim 'Kasi Mir' Senoucci 2009-08-10 08:41:33 UTC
Created attachment 28483 [details]
xorg.conf

When xorg is shutdown (via menu or signal) while the elographics driver is active, X crashes with a "double free or corruption" error before shutting down the video so that you can't return to the text console. This happens on a stock Ubuntu 9.04, and a Xubuntu 9.04 install, both when unsing gdm as a display manager and also when starting X directly via startx. 

I recompiled elopgraphics from source package applying patch e98045e8101b13720690352b757cdcc3bc806b02 from Matthieu Herb which looked like it might help, but it didn't change anything. However, I could track down the crash to a single line in the elographics source - which probably just is the trigger and not the source of the problem, though. 

When I remove the line

| xf86DeleteInput(local, 0);

from xf86EloUninit() in xf86Elo.c, X terminates properly. 

I have included the Xorg.0.log and the stdout/stderr output of the crashed X plus my xorg.conf. 

-----------------------------------------------------------------------------------
Xorg.0.log
-----------------------------------------------------------------------------------
X Window System Version 1.3.0
Release Date: 19 April 2007
X Protocol Version 11, Revision 0, Release 1.3
Build Operating System: UNKNOWN
Current Operating System: Linux localhost 2.6.22.17.tex2 #1 SMP Mon Oct 20 15:20:50 CEST 2008 i686
Build Date: 14 February 2008
        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: Fri Aug  7 15:02:09 2009
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "layout1"
(**) |-->Screen "screen1" (0)
(**) |   |-->Monitor "monitor1"
(**) |   |-->Device "device1"
(**) |-->Input Device "Keyboard1"
(**) |-->Input Device "Mouse1"
(**) |-->Input Device "Mouse2"
(**) FontPath set to:
        unix/:-1,
        /usr/share/fonts/misc:unscaled
(==) RgbPath set to "/usr/share/X11/rgb"
(==) ModulePath set to "/usr/lib/xorg/modules"
(**) Option "AllowMouseOpenFail"
(WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
(II) Open APM successful
(II) Loader magic: 0x8205520
(II) Module ABI versions:
        X.Org ANSI C Emulation: 0.3
        X.Org Video Driver: 1.2
        X.Org XInput driver : 0.7
        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.3.0, module version = 1.0.0
        ABI class: X.Org Video Driver, version 1.2
(++) using VT number 7

(II) PCI: PCI scan (all values are in hex)
(II) PCI: 00:00:0: chip 1106,0605 card 1106,0605 rev 00 class 06,00,00 hdr 00
(II) PCI: 00:01:0: chip 1106,8605 card 0000,0000 rev 00 class 06,04,00 hdr 01
(II) PCI: 00:07:0: chip 1106,0686 card 1106,0000 rev 40 class 06,01,00 hdr 80
(II) PCI: 00:07:1: chip 1106,0571 card 1106,0571 rev 06 class 01,01,8a hdr 00
(II) PCI: 00:07:2: chip 1106,3038 card 0925,1234 rev 1a class 0c,03,00 hdr 00
(II) PCI: 00:07:4: chip 1106,3057 card 1106,3057 rev 40 class 06,80,00 hdr 00
(II) PCI: 00:0f:0: chip 10ec,8139 card 10ec,8139 rev 10 class 02,00,00 hdr 00
(II) PCI: 01:00:0: chip 5333,8d01 card 0000,7000 rev 02 class 03,00,00 hdr 00
(II) PCI: End of PCI scan
(II) Host-to-PCI bridge:
(II) Bus 0: bridge is at (0:0:0), (0,0,1), BCTRL: 0x0008 (VGA_EN is set)
(II) Bus 0 I/O range:
        [0] -1  0       0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) Bus 0 non-prefetchable memory range:
        [0] -1  0       0x00000000 - 0xffffffff (0x0) MX[B]
(II) Bus 0 prefetchable memory range:
        [0] -1  0       0x00000000 - 0xffffffff (0x0) MX[B]
(II) PCI-to-PCI bridge:
(II) Bus 1: bridge is at (0:1:0), (0,1,1), BCTRL: 0x000c (VGA_EN is set)
(II) Bus 1 non-prefetchable memory range:
        [0] -1  0       0xec000000 - 0xedffffff (0x2000000) MX[B]
(II) Bus 1 prefetchable memory range:
        [0] -1  0       0xe0000000 - 0xe7ffffff (0x8000000) MX[B]
(II) PCI-to-ISA bridge:
(II) Bus -1: bridge is at (0:7:0), (0,-1,-1), BCTRL: 0x0008 (VGA_EN is set)
(--) PCI:*(1:0:0) S3 Inc. 86C380 [ProSavageDDR K4M266] rev 2, Mem @ 0xed000000/19, 0xe0000000/27
(II) Addressable bus resource ranges are
        [0] -1  0       0x00000000 - 0xffffffff (0x0) MX[B]
        [1] -1  0       0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) OS-reported resource ranges:
        [0] -1  0       0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [1] -1  0       0x000f0000 - 0x000fffff (0x10000) MX[B]
        [2] -1  0       0x000c0000 - 0x000effff (0x30000) MX[B]
        [3] -1  0       0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [4] -1  0       0x0000ffff - 0x0000ffff (0x1) IX[B]
        [5] -1  0       0x00000000 - 0x000000ff (0x100) IX[B]
(II) PCI Memory resource overlap reduced 0xe8000000 from 0xebffffff to 0xe7ffffff
(II) Active PCI resource ranges:
        [0] -1  0       0xee000000 - 0xee0000ff (0x100) MX[B]
        [1] -1  0       0xe8000000 - 0xe7ffffff (0x0) MX[B]O
        [2] -1  0       0xe0000000 - 0xe7ffffff (0x8000000) MX[B](B)
        [3] -1  0       0xed000000 - 0xed07ffff (0x80000) MX[B](B)
        [4] -1  0       0x0000ec00 - 0x0000ecff (0x100) IX[B]
        [5] -1  0       0x0000e400 - 0x0000e41f (0x20) IX[B]
        [6] -1  0       0x0000e000 - 0x0000e00f (0x10) IX[B]
(II) Active PCI resource ranges after removing overlaps:
        [0] -1  0       0xee000000 - 0xee0000ff (0x100) MX[B]
        [1] -1  0       0xe8000000 - 0xe7ffffff (0x0) MX[B]O
        [2] -1  0       0xe0000000 - 0xe7ffffff (0x8000000) MX[B](B)
        [3] -1  0       0xed000000 - 0xed07ffff (0x80000) MX[B](B)
        [4] -1  0       0x0000ec00 - 0x0000ecff (0x100) IX[B]
        [5] -1  0       0x0000e400 - 0x0000e41f (0x20) IX[B]
        [6] -1  0       0x0000e000 - 0x0000e00f (0x10) IX[B]
(II) OS-reported resource ranges after removing overlaps with PCI:
        [0] -1  0       0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [1] -1  0       0x000f0000 - 0x000fffff (0x10000) MX[B]
        [2] -1  0       0x000c0000 - 0x000effff (0x30000) MX[B]
        [3] -1  0       0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [4] -1  0       0x0000ffff - 0x0000ffff (0x1) IX[B]
        [5] -1  0       0x00000000 - 0x000000ff (0x100) IX[B]
(II) All system resource ranges:
        [0] -1  0       0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [1] -1  0       0x000f0000 - 0x000fffff (0x10000) MX[B]
        [2] -1  0       0x000c0000 - 0x000effff (0x30000) MX[B]
        [3] -1  0       0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [4] -1  0       0xee000000 - 0xee0000ff (0x100) MX[B]
        [5] -1  0       0xe8000000 - 0xe7ffffff (0x0) MX[B]O
        [6] -1  0       0xe0000000 - 0xe7ffffff (0x8000000) MX[B](B)
        [7] -1  0       0xed000000 - 0xed07ffff (0x80000) MX[B](B)
        [8] -1  0       0x0000ffff - 0x0000ffff (0x1) IX[B]
        [9] -1  0       0x00000000 - 0x000000ff (0x100) IX[B]
        [10] -1 0       0x0000ec00 - 0x0000ecff (0x100) IX[B]
        [11] -1 0       0x0000e400 - 0x0000e41f (0x20) IX[B]
        [12] -1 0       0x0000e000 - 0x0000e00f (0x10) IX[B]
(II) LoadModule: "dbe"
(II) Loading /usr/lib/xorg/modules/extensions//libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
        compiled for 1.3.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: "v4l"
(II) Loading /usr/lib/xorg/modules/drivers//v4l_drv.so
(II) Module v4l: vendor="X.Org Foundation"
        compiled for 7.1.1, module version = 0.1.1
        ABI class: X.Org Video Driver, version 1.0
(II) LoadModule: "extmod"
(II) Loading /usr/lib/xorg/modules/extensions//libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
        compiled for 1.3.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 Multi-Buffering
(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: "type1"
(II) Loading /usr/lib/xorg/modules/fonts//libtype1.so
(II) Module type1: vendor="X.Org Foundation"
        compiled for 1.3.0, module version = 1.0.2
        Module class: X.Org Font Renderer
        ABI class: X.Org Font Renderer, version 0.5
(II) Loading font Type1
(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.3.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: "fbdev"
(II) Loading /usr/lib/xorg/modules/drivers//fbdev_drv.so
(II) Module fbdev: vendor="X.Org Foundation"
        compiled for 1.3.0, module version = 0.3.1
        ABI class: X.Org Video Driver, version 1.2
(II) LoadModule: "kbd"
(II) Loading /usr/lib/xorg/modules/input//kbd_drv.so
(II) Module kbd: vendor="X.Org Foundation"
        compiled for 1.3.0, module version = 1.1.0
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 0.7
(II) LoadModule: "mouse"
(II) Loading /usr/lib/xorg/modules/input//mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
        compiled for 1.3.0, module version = 1.2.2
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 0.7
(II) LoadModule: "elographics"
(II) Loading /usr/lib/xorg/modules/input//elographics_drv.so
(II) Module elographics: vendor="X.Org Foundation"
        compiled for 7.1.1, module version = 1.0.0
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 0.6
(II) v4l driver for Video4Linux
(II) FBDEV: driver for framebuffer: fbdev
(II) Primary Device is: PCI 01:00:0
(II) Loading sub module "fbdevhw"
(II) LoadModule: "fbdevhw"
(II) Loading /usr/lib/xorg/modules/linux//libfbdevhw.so
(II) Module fbdevhw: vendor="X.Org Foundation"
        compiled for 1.3.0, module version = 0.0.2
        ABI class: X.Org Video Driver, version 1.2
(II) FBDEV(0): using default device
(II) Running in FRAMEBUFFER Mode
(**) FBDEV(0): Depth 16, (--) framebuffer bpp 16
(==) FBDEV(0): RGB weight 565
(==) FBDEV(0): Default visual is TrueColor
(==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)
(II) FBDEV(0): hardware: VESA VGA (video memory: 3750kB)
(II) FBDEV(0): checking modes against framebuffer device...
(II) FBDEV(0):  mode "800x600" test failed
(II) FBDEV(0):  mode "640x480" test failed
(II) FBDEV(0): checking modes against monitor...
(--) FBDEV(0): Virtual size is 800x600 (pitch 800)
(**) FBDEV(0):  Built-in mode "current": 48.0 MHz, 46.9 kHz, 75.1 Hz
(II) FBDEV(0): Modeline "current"   48.00  800 832 928 1024  600 604 608 624 -hsync -vsync -csync
(==) FBDEV(0): DPI set to (75, 75)
(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.3.0, module version = 1.0.0
        ABI class: X.Org ANSI C Emulation, version 0.3
(**) FBDEV(0): using shadow framebuffer
(II) Loading sub module "shadow"
(II) LoadModule: "shadow"
(II) Loading /usr/lib/xorg/modules//libshadow.so
(II) Module shadow: vendor="X.Org Foundation"
        compiled for 1.3.0, module version = 1.1.0
        ABI class: X.Org ANSI C Emulation, version 0.3
(EE) FBDEV(0): FBIOBLANK: Invalid argument
(==) FBDEV(0): Backing store disabled
(**) Option "dpms"
(**) FBDEV(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
(**) Option "CoreKeyboard"
(**) Keyboard1: Core Keyboard
(**) Option "Protocol" "standard"
(**) Keyboard1: Protocol: standard
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "xorg"
(**) Keyboard1: XkbRules: "xorg"
(**) Option "XkbModel" "pc105"
(**) Keyboard1: XkbModel: "pc105"
(**) Option "XkbLayout" "de(nodeadkeys)"
(**) Keyboard1: XkbLayout: "de(nodeadkeys)"
(**) Option "XkbOptions" "compose:rwin"
(**) Keyboard1: XkbOptions: "compose:rwin"
(**) Option "CustomKeycodes" "off"
(**) Keyboard1: CustomKeycodes disabled
(**) Option "Protocol" "ExplorerPS/2"
(**) Mouse1: Device: "/dev/mouse"
(**) Mouse1: Protocol: "ExplorerPS/2"
(**) Option "CorePointer"
(**) Mouse1: Core Pointer
(**) Option "Device" "/dev/mouse"
(==) Mouse1: Emulate3Buttons, Emulate3Timeout: 50
(**) Mouse1: ZAxisMapping: buttons 4 and 5
(**) Mouse1: Buttons: 9
(**) Mouse1: Sensitivity: 1
(**) Option "SendCoreEvents"
(**) TOUCHSCREEN: always reports core events
(**) Elographics X device name: TOUCHSCREEN
(**) Elographics associated screen: 0
(**) Option "UntouchDelay" "10"
(**) Elographics untouch delay: 100 ms
(**) Option "ReportDelay" "10"
(**) Elographics report delay: 100 ms
(**) Option "MaxX" "80"
(**) Elographics maximum x position: 80
(**) Option "MinX" "4020"
(**) Elographics minimum x position: 4020
(**) Option "MaxY" "80"
(**) Elographics maximum y position: 80
(**) Option "MinY" "4020"
(**) Elographics minimum y position: 4020
(**) Elographics device will work in Landscape mode
(II) Elographics: reverse x mode (minimum x position >= maximum x position)
(II) Elographics: reverse y mode (minimum y position >= maximum y position)
(II) XINPUT: Adding extended input device "TOUCHSCREEN" (type: Elographics TouchScreen)
(II) XINPUT: Adding extended input device "Mouse1" (type: MOUSE)
(II) XINPUT: Adding extended input device "Keyboard1" (type: KEYBOARD)
(II) Mouse1: ps2EnableDataReporting: succeeded
(**) Option "Device" "/dev/ttyS0"
(**) Option "BaudRate" "9600"
(**) Option "StopBits" "1"
(**) Option "DataBits" "8"
(**) Option "Parity" "None"
(**) Option "Vmin" "10"
(**) Option "Vtime" "1"
(**) Option "FlowControl" "None"
(--) Elographics touchscreen is a Intellitouch, connected through a serial link.
(--) The controller is a model E271-2200, firmware revision 1.7.
(--)  Additional features:
(--)    External A/D converter
(--)    Z axis active

(EE) FBDEV(0): FBIOBLANK: Invalid argument
(EE) FBDEV(0): FBIOBLANK: Invalid argument





-----------------------------------------------------------------------------------
stdout/stderr output of "startx"
-----------------------------------------------------------------------------------
X.Org X Server 1.6.0
Release Date: 2009-2-25
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.24-23-server i686 Ubuntu
Current Operating System: Linux superchange 2.6.28.9-hms-b1 #1 SMP Fri Aug 7 17:40:59 CEST 2009 i686
Build Date: 09 April 2009  02:10:02AM
xorg-server 2:1.6.0-0ubuntu14 (buildd@rothera.buildd)
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
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: Mon Aug 10 17:12:40 2009
(==) Using config file: "/etc/X11/xorg.conf"

(EE) FBDEV(0): FBIOBLANK: Invalid argument
(EE) FBDEV(0): FBIOBLANK: Invalid argument
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
>                   Ignoring extra symbols
Errors from xkbcomp are not fatal to the X server

waiting for X server to shut down *** glibc detected *** /usr/bin/X11/X: double free or corruption (!prev): 0x083c9140 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7b5b604]
/lib/tls/i686/cmov/libc.so.6(cfree+0x96)[0xb7b5d5b6]
/usr/bin/X11/X(Xfree+0x21)[0x8139021]
/usr/bin/X11/X(xf86DeleteInput+0x43)[0x80d4523]
/usr/lib/xorg/modules/input//elographics_drv.so[0xb783f988]
/usr/bin/X11/X(DeleteInputDeviceRequest+0x6a)[0x80d884a]
/usr/bin/X11/X(CloseDownDevices+0x5b)[0x8085bdb]
/usr/bin/X11/X(main+0x40d)[0x807233d]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb7b02775]
/usr/bin/X11/X[0x80717a1]
======= Memory map: ========
08048000-081e5000 r-xp 00000000 03:02 6310       /usr/bin/Xorg
081e5000-081e6000 r--p 0019d000 03:02 6310       /usr/bin/Xorg
081e6000-081ee000 rw-p 0019e000 03:02 6310       /usr/bin/Xorg
081ee000-084c9000 rw-p 081ee000 00:00 0          [heap]
b6a00000-b6a21000 rw-p b6a00000 00:00 0
b6a21000-b6b00000 ---p b6a21000 00:00 0
b6b7b000-b6c66000 rw-p b6b7b000 00:00 0
b6c66000-b6c70000 r-xp 00000000 03:02 5953       /lib/tls/i686/cmov/libnss_files-2.9.so
b6c70000-b6c71000 r--p 00009000 03:02 5953       /lib/tls/i686/cmov/libnss_files-2.9.so
b6c71000-b6c72000 rw-p 0000a000 03:02 5953       /lib/tls/i686/cmov/libnss_files-2.9.so
b6c72000-b6c7b000 r-xp 00000000 03:02 5957       /lib/tls/i686/cmov/libnss_nis-2.9.so
b6c7b000-b6c7c000 r--p 00008000 03:02 5957       /lib/tls/i686/cmov/libnss_nis-2.9.so
b6c7c000-b6c7d000 rw-p 00009000 03:02 5957       /lib/tls/i686/cmov/libnss_nis-2.9.so
b6c7d000-b6c92000 r-xp 00000000 03:02 5947       /lib/tls/i686/cmov/libnsl-2.9.so
b6c92000-b6c93000 r--p 00014000 03:02 5947       /lib/tls/i686/cmov/libnsl-2.9.so
b6c93000-b6c94000 rw-p 00015000 03:02 5947       /lib/tls/i686/cmov/libnsl-2.9.so
b6c94000-b6c96000 rw-p b6c94000 00:00 0
b6c96000-b6c9d000 r-xp 00000000 03:02 5949       /lib/tls/i686/cmov/libnss_compat-2.9.so
b6c9d000-b6c9e000 r--p 00006000 03:02 5949       /lib/tls/i686/cmov/libnss_compat-2.9.so
b6c9e000-b6c9f000 rw-p 00007000 03:02 5949       /lib/tls/i686/cmov/libnss_compat-2.9.so
b6cac000-b6cd0000 r-xp 00000000 03:02 9252       /usr/lib/libexpat.so.1.5.2
b6cd0000-b6cd2000 r--p 00023000 03:02 9252       /usr/lib/libexpat.so.1.5.2
b6cd2000-b6cd3000 rw-p 00025000 03:02 9252       /usr/lib/libexpat.so.1.5.2
b6cd7000-b6cde000 r-xp 00000000 03:02 18228      /usr/lib/xorg/modules/input/evdev_drv.so
b6cde000-b6cdf000 r--p 00006000 03:02 18228      /usr/lib/xorg/modules/input/evdev_drv.so
b6cdf000-b6ce0000 rw-p 00007000 03:02 18228      /usr/lib/xorg/modules/input/evdev_drv.so
b6ce0000-b6ec6000 r-xp 00000000 03:02 18667      /usr/lib/dri/swrast_dri.so
b6ec6000-b6ec7000 ---p 001e6000 03:02 18667      /usr/lib/dri/swrast_dri.so
b6ec7000-b6ecd000 r--p 001e6000 03:02 18667      /usr/lib/dri/swrast_dri.so
b6ecd000-b6edc000 rw-p 001ec000 03:02 18667      /usr/lib/dri/swrast_dri.so
b6edc000-b763c000 rw-p b6edc000 00:00 0
b763c000-b7811000 rw-s e0000000 00:0d 631        /dev/fb0
b7811000-b7816000 r-xp 00000000 03:02 18175      /usr/lib/xorg/modules/libshadow.so
b7816000-b7817000 r--p 00004000 03:02 18175      /usr/lib/xorg/modules/libshadow.so
b7817000-b7818000 rw-p 00005000 03:02 18175      /usr/lib/xorg/modules/libshadow.so
b7818000-b7835000 r-xp 00000000 03:02 18173      /usr/lib/xorg/modules/libfb.so
b7835000-b7836000 r--p 0001c000 03:02 18173      /usr/lib/xorg/modules/libfb.so
b7836000-b7837000 rw-p 0001d000 03:02 18173      /usr/lib/xorg/modules/libfb.so
b7837000-b783b000 r-xp 00000000 03:02 18233      /usr/lib/xorg/modules/linux/libfbdevhw.so
b783b000-b783c000 r--p 00003000 03:02 18233      /usr/lib/xorg/modules/linux/libfbdevhw.so
b783c000-b783d000 rw-p 00004000 03:02 18233      /usr/lib/xorg/modules/linux/libfbdevhw.so
b783d000-b7841000 r-xp 00000000 03:02 134276     /usr/lib/xorg/modules/input/elographics_drv.so
b7841000-b7842000 r--p 00003000 03:02 134276     /usr/lib/xorg/modules/input/elographics_drv.so
b7842000-b7843000 rw-p 00004000 03:02 134276     /usr/lib/xorg/modules/input/elographics_drv.so
b7843000-b784b000 r-xp 00000000 03:02 9217       /usr/lib/libdrm.so.2.4.0
b784b000-b784c000 r--p 00007000 03:02 9217       /usr/lib/libdrm.so.2.4.0
b784c000-b784d000 rw-p 00008000 03:02 9217       /usr/lib/libdrm.so.2.4.0
b784f000-b7854000 r-xp 00000000 03:02 18191      /usr/lib/xorg/modules/drivers/fbdev_drv.so
b7854000-b7855000 r--p 00004000 03:02 18191      /usr/lib/xorg/modules/drivers/fbdev_drv.so
b7855000-b7856000 rw-p 00005000 03:02 18191      /usr/lib/xorg/modules/drivers/fbdev_drv.so
b7856000-b7858000 r-xp 00000000 03:02 18224      /usr/lib/xorg/modules/extensions/libdri2.so
b7858000-b7859000 r--p 00001000 03:02 18224      /usr/lib/xorg/modules/extensions/libdri2.so
b7859000-b785a000 rw-p 00002000 03:02 18224      /usr/lib/xorg/modules/extensions/libdri2.so
b785a000-b7862000 r-xp 00000000 03:02 18223      /usr/lib/xorg/modules/extensions/libdri.so
b7862000-b7863000 r--p 00007000 03:02 18223      /usr/lib/xorg/modules/extensions/libdri.so
b7863000-b7864000 rw-p 00008000 03:02 18223      /usr/lib/xorg/modules/extensions/libdri.so
b7864000-b786a000 r-xp 00000000 03:02 18227      /usr/lib/xorg/modules/extensions/librecord.so
b786a000-b786b000 r--p 00005000 03:02 18227      /usr/lib/xorg/modules/extensions/librecord.so
b786b000-b786c000 rw-p 00006000 03:02 18227      /usr/lib/xorg/modules/extensions/librecord.so
b786c000-b78bc000 r-xp 00000000 03:02 18226      /usr/lib/xorg/modules/extensions/libglx.so
b78bc000-b78bd000 r--p 0004f000 03:02 18226      /usr/lib/xorg/modules/extensions/libglx.so
b78bd000-b78c0000 rw-p 00050000 03:02 18226      /usr/lib/xorg/modules/extensions/libglx.so
b78c0000-b78d5000 r-xp 00000000 03:02 18225      /usr/lib/xorg/modules/extensions/libextmod.so
b78d5000-b78d6000 r--p 00015000 03:02 18225      /usr/lib/xorg/modules/extensions/libextmod.so
b78d6000-b78d7000 rw-p 00016000 03:02 18225      /usr/lib/xorg/modules/extensions/libextmod.so
b78d7000-b78d9000 rw-p b78d7000 00:00 0
b78d9000-b79bd000 r-xp 00000000 03:02 9847       /usr/lib/libstdc++.so.6.0.10
b79bd000-b79c1000 r--p 000e3000 03:02 9847       /usr/lib/libstdc++.so.6.0.10
b79c1000-b79c2000 rw-p 000e7000 03:02 9847       /usr/lib/libstdc++.so.6.0.10
b79c2000-b79c8000 rw-p b79c2000 00:00 0
b79c8000-b7a59000 r-xp 00000000 03:02 9820       /usr/lib/libsmbios.so.2.1.0
b7a59000-b7a5d000 r--p 00090000 03:02 9820       /usr/lib/libsmbios.so.2.1.0
b7a5d000-b7a5e000 rw-p 00094000 03:02 9820       /usr/lib/libsmbios.so.2.1.0
b7a5e000-b7ad0000 r-xp 00000000 03:02 94224      /usr/lib/libfreetype.so.6.3.20
b7ad0000-b7ad4000 r--p 00071000 03:02 94224      /usr/lib/libfreetype.so.6.3.20
b7ad4000-b7ad5000 rw-p 00075000 03:02 94224      /usr/lib/libfreetype.so.6.3.20
b7ad5000-b7ad6000 rw-p b7ad5000 00:00 0
b7ad6000-b7aea000 r-xp 00000000 03:02 2491       /lib/libz.so.1.2.3.3
b7aea000-b7aeb000 r--p 00013000 03:02 2491       /lib/libz.so.1.2.3.3
b7aeb000-b7aec000 rw-p 00014000 03:02 2491       /lib/libz.so.1.2.3.3
b7aec000-b7c48000 r-xp 00000000 03:02 5936       /lib/tls/i686/cmov/libc-2.9.so
b7c48000-b7c49000 ---p 0015c000 03:02 5936       /lib/tls/i686/cmov/libc-2.9.so
b7c49000-b7c4b000 r--p 0015c000 03:02 5936       /lib/tls/i686/cmov/libc-2.9.so
b7c4b000-b7c4c000 rw-p 0015e000 03:02 5936       /lib/tls/i686/cmov/libc-2.9.so
b7c4c000-b7c4f000 rw-p b7c4c000 00:00 0
b7c4f000-b7c5c000 r-xp 00000000 03:02 2395       /lib/libgcc_s.so.1
b7c5c000-b7c5d000 r--p 0000c000 03:02 2395       /lib/libgcc_s.so.1
b7c5d000-b7c5e000 rw-p 0000d000 03:02 2395       /lib/libgcc_s.so.1
b7c5e000-b7c65000 r-xp 00000000 03:02 5966       /lib/tls/i686/cmov/librt-2.9.so
b7c65000-b7c66000 r--p 00006000 03:02 5966       /lib/tls/i686/cmov/librt-2.9.so
b7c66000-b7c67000 rw-p 00007000 03:02 5966       /lib/tls/i686/cmov/librt-2.9.so
b7c67000-b7c8b000 r-xp 00000000 03:02 5944       /lib/tls/i686/cmov/libm-2.9.so
b7c8b000-b7c8c000 r--p 00023000 03:02 5944       /lib/tls/i686/cmov/libm-2.9.so
b7c8c000-b7c8d000 rw-p 00024000 03:02 5944       /lib/tls/i686/cmov/libm-2.9.so
b7c8d000-b7dc0000 r-xp 00000000 03:02 93960      /lib/i686/cmov/libcrypto.so.0.9.8
b7dc0000-b7dc8000 r--p 00132000 03:02 93960      /lib/i686/cmov/libcrypto.so.0.9.8
b7dc8000-b7dd5000 rw-p 0013a000 03:02 93960      /lib/i686/cmov/libcrypto.so.0.9.8
b7dd5000-b7dda000 rw-p b7dd5000 00:00 0
b7dda000-b7e1c000 r-xp 00000000 03:02 93961      /lib/i686/cmov/libssl.so.0.9.8
b7e1c000-b7e1d000 ---p 00042000 03:02 93961      /lib/i686/cmov/libssl.so.0.9.8
b7e1d000-b7e1e000 r--p 00042000 03:02 93961      /lib/i686/cmov/libssl.so.0.9.8
b7e1e000-b7e21000 rw-p 00043000 03:02 93961      /lib/i686/cmov/libssl.so.0.9.8
b7e21000-b7e25000 r-xp 00000000 03:02 9021       /usr/lib/libXdmcp.so.6.0.0
b7e25000-b7e26000 rw-p 00003000 03:02 9021       /usr/lib/libXdmcp.so.6.0.0
b7e26000-b7e5c000 r-xp 00000000 03:02 94030      /lib/libdbus-1.so.3.4.0
b7e5c000-b7e5d000 r--p 00035000 03:02 94030      /lib/libdbus-1.so.3.4.0
b7e5d000-b7e5e000 rw-p 00036000 03:02 94030      /lib/libdbus-1.so.3.4.0
b7e5e000-b7e6e000 r-xp 00000000 03:02 22394      /usr/lib/libhal.so.1.0.0
b7e6e000-b7e6f000 r--p 0000f000 03:02 22394      /usr/lib/libhal.so.1.0.0
b7e6f000-b7e70000 rw-p 00010000 03:02 22394      /usr/lib/libhal.so.1.0.0
b7e70000-b7eb0000 r-xp 00000000 03:02 9734       /usr/lib/libpixman-1.so.0.13.2
b7eb0000-b7eb2000 r--p 0003f000 03:02 9734       /usr/lib/libpixman-1.so.0.13.2
b7eb2000-b7eb3000 rw-p 00041000 03:02 9734       /usr/lib/libpixman-1.so.0.13.2
b7eb3000-b7eb8000 r-xp 00000000 03:02 9276       /usr/lib/libfontenc.so.1.0.0
b7eb8000-b7eb9000 rw-p 00005000 03:02 9276       /usr/lib/libfontenc.so.1.0.0
b7eb9000-b7eba000 rw-p b7eb9000 00:00 0
b7eba000-b7ebc000 r-xp 00000000 03:02 9010       /usr/lib/libXau.so.6.0.0
b7ebc000-b7ebd000 r--p 00001000 03:02 9010       /usr/lib/libXau.so.6.0.0
b7ebd000-b7ebe000 rw-p 00002000 03:02 9010       /usr/lib/libXau.so.6.0.0
b7ebe000-b7ef7000 r-xp 00000000 03:02 9027       /usr/lib/libXfont.so.1.4.1
b7ef7000-b7ef8000 r--p 00039000 03:02 9027       /usr/lib/libXfont.so.1.4.1
b7ef8000-b7ef9000 rw-p 0003a000 03:02 9027       /usr/lib/libXfont.so.1.4.1
b7ef9000-b7efa000 rw-p b7ef9000 00:00 0
b7efa000-b7f0f000 r-xp 00000000 03:02 5962       /lib/tls/i686/cmov/libpthread-2.9.so
b7f0f000-b7f10000 r--p 00014000 03:02 5962       /lib/tls/i686/cmov/libpthread-2.9.so
b7f10000-b7f11000 rw-p 00015000 03:02 5962       /lib/tls/i686/cmov/libpthread-2.9.so
b7f11000-b7f13000 rw-p b7f11000 00:00 0
b7f13000-b7f15000 r-xp 00000000 03:02 5942       /lib/tls/i686/cmov/libdl-2.9.so
b7f15000-b7f16000 r--p 00001000 03:02 5942       /lib/tls/i686/cmov/libdl-2.9.so
b7f16000-b7f17000 rw-p 00002000 03:02 5942       /lib/tls/i686/cmov/libdl-2.9.so
b7f17000-b7f1c000 r-xp 00000000 03:02 9728       /usr/lib/libpciaccess.so.0.10.2
b7f1c000-b7f1d000 r--p 00004000 03:02 9728       /usr/lib/libpciaccess.so.0.10.2
b7f1d000-b7f1e000 rw-p 00005000 03:02 9728       /usr/lib/libpciaccess.so.0.10.2
b7f1e000-b7f1f000 rw-p b7f1e000 00:00 0
b7f1f000-b7f23000 r-xp 00000000 03:02 18217      /usr/lib/xorg/modules/drivers/v4l_drv.so
b7f23000-b7f24000 r--p 00003000 03:02 18217      /usr/lib/xorg/modules/drivers/v4l_drv.so
b7f24000-b7f25000 rw-p 00004000 03:02 18217      /usr/lib/xorg/modules/drivers/v4l_drv.so
b7f25000-b7f29000 r-xp 00000000 03:02 18222      /usr/lib/xorg/modules/extensions/libdbe.so
b7f29000-b7f2a000 r--p 00003000 03:02 18222      /usr/lib/xorg/modules/extensions/libdbe.so
b7f2a000-b7f2b000 rw-p 00004000 03:02 18222      /usr/lib/xorg/modules/extensions/libdbe.so
b7f2b000-b7f2d000 rw-p b7f2b000 00:00 0
b7f2d000-b7f49000 r-xp 00000000 03:02 2354       /lib/ld-2.9.so
b7f49000-b7f4a000 r--p 0001b000 03:02 2354       /lib/ld-2.9.so
b7f4a000-b7f4b000 rw-p 0001c000 03:02 2354       /lib/ld-2.9.so
bfa35000-bfa4a000 rw-p bffeb000 00:00 0          [stack]
ffffe000-fffff000 r-xp 00000000 00:00 0          [vdso]


xinit:  unexpected signal 2.
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
Comment 1 Karim 'Kasi Mir' Senoucci 2009-08-10 08:42:51 UTC
Created attachment 28484 [details]
Xorg.0.log
Comment 2 Karim 'Kasi Mir' Senoucci 2009-08-10 08:43:33 UTC
Created attachment 28485 [details]
stdout/stderr output of "startx"
Comment 3 Peter Hutterer 2009-08-17 22:38:54 UTC
Created attachment 28743 [details] [review]
0001-Reset-local-priv-to-NULL-to-avoid-double-frees.-2323.patch

untested, but this should fix the issue. Let me know how you go.
Comment 4 Peter Hutterer 2009-08-23 23:18:55 UTC
Pushed as 36d6b8efe232cc20afb74799f013c03cbb79a68b (with a minor adjustment, s/priv/private/)
Comment 5 Karim 'Kasi Mir' Senoucci 2009-08-24 02:20:05 UTC
The patch didn't work as planned for me. Used verbatim on my xserver-xorg-elograhpics-1.2.3-1 source (plus patch e98045e8101b13720690352b757cdcc3bc806b02, as before) from the Ubuntu repository resulted in

> ../../src/xf86Elo.c: In function ‘xf86EloUninit’:
> ../../src/xf86Elo.c:1053: error: ‘struct _LocalDeviceRec’ has no member named ‘priv’
> make[3]: *** [xf86Elo.lo] Error 1

Changing priv to private (which is the name of the member in question in my Ubuntu version of the source) compiled fine, however; furthermore, the crashes are gone. So in the end, the patch works for me (tm), too.

Comment 6 Peter Hutterer 2009-08-24 04:21:25 UTC
Thanks for testing. I did change from 'priv' to 'private' before pushing and
made sure it compiles on my box. so it should be fixed in the repository
now.


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.