Bug 20598

Summary: X hanging when using Intel kernel mode setting
Product: xorg Reporter: Frederik Himpe <fhimpe>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: low CC: eugeni, kenyon, russellbell, torotil
Version: 7.4 (2008.09)   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Frederik Himpe 2009-03-11 02:48:15 UTC
When I use a 2.6.29-rc kernel which has Intel kernel mode setting enabled, the
display goes blank when X is started, and the X process starts using 100% of
cpu time. strace does not return anything, so apparently it's not doing any
syscalls.

According to gdb, it's stuck in this function:

Thread 1 (Thread 0x7fbf82dc96f0 (LWP 3985)):
#0  0x00007fbf7eb04d30 in fbSolid (dst=0x7fbf7e5fa000, dstStride=<value
optimized out>, dstX=<value optimized out>, bpp=<value optimized out>,
width=<value optimized out>, 
    height=16, and=0, xor=4294967295) at fbsolid.c:79
#1  0x00007fbf7eafd5e4 in fbFill (pDrawable=<value optimized out>, pGC=<value
optimized out>, x=0, y=0, width=16, height=16) at fbfill.c:53
#2  0x00007fbf7eafd7f6 in fbPolyFillRect (pDrawable=0x5192ea0, pGC=0x5192ef0,
nrect=0, prect=<value optimized out>) at fbfillrect.c:77
#3  0x00007fbf7e8e6234 in ExaCheckPolyFillRect (pDrawable=0x5192ea0,
pGC=0x5192ef0, nrect=1, prect=0x7fff8ade6dd0) at exa_unaccel.c:229
#4  0x00007fbf7e8df172 in exaPolyFillRect (pDrawable=0x5192ea0, pGC=0x5192ef0,
nrect=1, prect=0x7fff8ade6dd0) at exa_accel.c:777
#5  0x0000000000536a06 in ?? ()
#6  0x000000000045ad93 in CreateDefaultStipple ()
#7  0x000000000042ebb5 in main ()

# cat /var/log/Xorg.0.log

X.Org X Server 1.6.0
Release Date: 2009-2-25
X Protocol Version 11, Revision 0
Build Operating System: Linux_2.6.22.18-server-1mdv Mandriva
Current Operating System: Linux defected 2.6.29-tmb-desktop-0.rc6.5.4mdv #1 SMP
PREEMPT Sat Feb 28 19:13:04 EST 2009 x86_64
Build Date: 26 February 2009  02:27:39PM

    Before reporting problems, check http://qa.mandriva.com
    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: Tue Mar  3 20:01:46 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 "SynapticsMouse1"
(**) Option "AllowMouseOpenFail"
(==) Automatically adding devices
(==) Automatically enabling devices
(==) FontPath set to:
    catalogue:/etc/X11/fontpath.d,
    built-ins
(==) ModulePath set to "/usr/lib64/xorg/modules"
(WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse'
will be disabled.
(WW) Disabling Keyboard1
(WW) Disabling Mouse1
(II) Loader magic: 0xbc0
(II) Module ABI versions:
    X.Org ANSI C Emulation: 0.4
    X.Org Video Driver: 5.0
    X.Org XInput driver : 4.0
    X.Org Server Extension : 2.0
(II) Loader running on linux
(++) using VT number 7

(--) PCI:*(0@0:2:0) Intel Corporation Mobile 4 Series Chipset Integrated
Graphics Controller rev 7, Mem @ 0xf6c00000/4194304, 0xe0000000/268435456, I/O
@ 0x0000ef98/8
(--) PCI: (0@0:2:1) Intel Corporation Mobile 4 Series Chipset Integrated
Graphics Controller rev 7, Mem @ 0xf6b00000/1048576
(II) Open ACPI successful (/var/run/acpid.socket)
(II) System resource ranges:
    [0] -1    0    0xffffffff - 0xffffffff (0x1) MX[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 - 0x00000000 (0x1) IX[B]
(II) "extmod" will be loaded. This was enabled by default and also specified in
the config file.
(II) "dbe" will be loaded. This was enabled by default and also specified in
the config file.
(II) "glx" will be loaded. This was enabled by default and also specified in
the config file.
(II) "record" will be loaded by default.
(II) "dri" will be loaded. This was enabled by default and also specified in
the config file.
(II) "dri2" will be loaded by default.
(II) LoadModule: "dbe"
(II) Loading /usr/lib64/xorg/modules/extensions//libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
    compiled for 1.6.0, module version = 1.0.0
    Module class: X.Org Server Extension
    ABI class: X.Org Server Extension, version 2.0
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "v4l"
(II) Loading /usr/lib64/xorg/modules/drivers//v4l_drv.so
(II) Module v4l: vendor="X.Org Foundation"
    compiled for 1.5.99.3, module version = 0.1.1
    ABI class: X.Org Video Driver, version 5.0
(II) LoadModule: "extmod"
(II) Loading /usr/lib64/xorg/modules/extensions//libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
    compiled for 1.6.0, module version = 1.0.0
    Module class: X.Org Server Extension
    ABI class: X.Org Server Extension, version 2.0
(II) Loading extension Multi-Buffering
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "freetype"
(WW) Warning, couldn't open module freetype
(II) UnloadModule: "freetype"
(EE) Failed to load module "freetype" (module does not exist, 0)
(II) LoadModule: "glx"
(II) Loading /usr/lib64/xorg/modules/extensions//libglx.so
(II) Module glx: vendor="X.Org Foundation"
    compiled for 1.6.0, module version = 1.0.0
    ABI class: X.Org Server Extension, version 2.0
(==) AIGLX enabled
(II) Loading extension GLX
(II) LoadModule: "dri"
(II) Loading /usr/lib64/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
    compiled for 1.6.0, module version = 1.0.0
    ABI class: X.Org Server Extension, version 2.0
(II) Loading extension XFree86-DRI
(II) LoadModule: "record"
(II) Loading /usr/lib64/xorg/modules/extensions//librecord.so
(II) Module record: vendor="X.Org Foundation"
    compiled for 1.6.0, module version = 1.13.0
    Module class: X.Org Server Extension
    ABI class: X.Org Server Extension, version 2.0
(II) Loading extension RECORD
(II) LoadModule: "dri2"
(II) Loading /usr/lib64/xorg/modules/extensions//libdri2.so
(II) Module dri2: vendor="X.Org Foundation"
    compiled for 1.6.0, module version = 1.0.0
    ABI class: X.Org Server Extension, version 2.0
(II) Loading extension DRI2
(II) LoadModule: "intel"
(II) Loading /usr/lib64/xorg/modules/drivers//intel_drv.so
(II) Module intel: vendor="X.Org Foundation"
    compiled for 1.6.0, module version = 2.6.3
    Module class: X.Org Video Driver
    ABI class: X.Org Video Driver, version 5.0
(II) LoadModule: "synaptics"
(II) Loading /usr/lib64/xorg/modules/input//synaptics_drv.so
(II) Module synaptics: vendor="X.Org Foundation"
    compiled for 1.6.0, module version = 1.0.99
    Module class: X.Org XInput Driver
    ABI class: X.Org XInput driver, version 4.0
(II) v4l driver for Video4Linux
(II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
    i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,
    E7221 (i915), 915GM, 945G, 945GM, 945GME, 965G, G35, 965Q, 946GZ,
    965GM, 965GME/GLE, G33, Q35, Q33,
    Mobile Intel® GM45 Express Chipset,
    Intel Integrated Graphics Device, G45/G43, Q45/Q43, G41
(II) Primary Device is: PCI 00@00:02:0
(WW) Falling back to old probe method for v4l
(II) resource ranges after xf86ClaimFixedResources() call:
    [0] -1    0    0xffffffff - 0xffffffff (0x1) MX[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 - 0x00000000 (0x1) IX[B]
(II) resource ranges after probing:
    [0] -1    0    0xffffffff - 0xffffffff (0x1) MX[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] 0    0    0x000a0000 - 0x000affff (0x10000) MS[B]
    [5] 0    0    0x000b0000 - 0x000b7fff (0x8000) MS[B]
    [6] 0    0    0x000b8000 - 0x000bffff (0x8000) MS[B]
    [7] -1    0    0x0000ffff - 0x0000ffff (0x1) IX[B]
    [8] -1    0    0x00000000 - 0x00000000 (0x1) IX[B]
    [9] 0    0    0x000003b0 - 0x000003bb (0xc) IS[B]
    [10] 0    0    0x000003c0 - 0x000003df (0x20) IS[B]
(**) intel(0): Depth 24, (--) framebuffer bpp 32
(==) intel(0): RGB weight 888
(==) intel(0): Default visual is TrueColor
(**) intel(0): Option "AccelMethod" "EXA"
(II) intel(0): Integrated Graphics Chipset: Intel(R) Mobile Intel® GM45 Express
Chipset
(--) intel(0): Chipset: "Mobile Intel® GM45 Express Chipset"
(WW) intel(0): libpciaccess reported 0 rom size, guessing 64kB
(II) intel(0): Resizable framebuffer: not available (0 3)
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenByBusid: Searching for BusID pci:0000:00:02.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenByBusid: drmOpenMinor returns 8
drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
(II) [drm] DRM interface version 1.3
(II) [drm] DRM open master succeeded.
(II) intel(0): Output VGA1 using monitor section monitor1
(**) intel(0): Option "PreferredMode" "1280x960"
(II) intel(0): Output LVDS1 has no monitor section
(II) intel(0): Output DVI1 has no monitor section
(II) intel(0): Output DVI2 has no monitor section
(II) intel(0): Output TV1 has no monitor section
(II) intel(0): Output VGA1 disconnected
(II) intel(0): Output LVDS1 connected
(II) intel(0): Output DVI1 disconnected
(II) intel(0): Output DVI2 disconnected
(II) intel(0): Output TV1 disconnected
(II) intel(0): Using exact sizes for initial modes
(II) intel(0): Output LVDS1 using initial mode 1440x900
(==) intel(0): video overlay key set to 0x101fe
(==) intel(0): Will not try to enable page flipping
(==) intel(0): Triple buffering disabled
(==) intel(0): Using gamma correction (1.0, 1.0, 1.0)
(==) intel(0): DPI set to (96, 96)
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Loading /usr/lib64/xorg/modules//libfb.so
(II) Module fb: vendor="X.Org Foundation"
    compiled for 1.6.0, module version = 1.0.0
    ABI class: X.Org ANSI C Emulation, version 0.4
(II) Loading sub module "exa"
(II) LoadModule: "exa"
(II) Loading /usr/lib64/xorg/modules//libexa.so
(II) Module exa: vendor="X.Org Foundation"
    compiled for 1.6.0, module version = 2.4.0
    ABI class: X.Org Video Driver, version 5.0
(II) Loading sub module "ramdac"
(II) LoadModule: "ramdac"
(II) Module "ramdac" already built-in
(==) Depth 24 pixmap format is 32 bpp
(II) do I need RAC?  No, I don't.
(II) resource ranges after preInit:
    [0] -1    0    0xffffffff - 0xffffffff (0x1) MX[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] 0    0    0x000a0000 - 0x000affff (0x10000) MS[B]
    [5] 0    0    0x000b0000 - 0x000b7fff (0x8000) MS[B]
    [6] 0    0    0x000b8000 - 0x000bffff (0x8000) MS[B]
    [7] -1    0    0x0000ffff - 0x0000ffff (0x1) IX[B]
    [8] -1    0    0x00000000 - 0x00000000 (0x1) IX[B]
    [9] 0    0    0x000003b0 - 0x000003bb (0xc) IS[B]
    [10] 0    0    0x000003c0 - 0x000003df (0x20) IS[B]
(WW) intel(0): DRI2 requires UXA
(II) intel(0): [drm] Using the DRM lock SAREA also for drawables.
(II) intel(0): [drm] framebuffer mapped by ddx driver
(II) intel(0): [drm] added 1 reserved context for kernel
(II) intel(0): X context handle = 0x1
(II) intel(0): [drm] installed DRM signal handler
(**) intel(0): Kernel mode setting active, disabling FBC.
(**) intel(0): Framebuffer compression disabled
(**) intel(0): Tiling enabled
(==) intel(0): VideoRam: -1 KB
(II) intel(0): Attempting memory allocation with tiled buffers.
(II) intel(0): Tiled allocation successful.
(II) intel(0): [drm] Initialized kernel agp heap manager, 33554432
(II) intel(0): [dri] visual configs initialized
(II) intel(0): Page Flipping disabled
(II) EXA(0): Driver allocated offscreen pixmaps
(II) EXA(0): Driver registered support for the following operations:
(II)         Solid
(II)         Copy
(II)         Composite (RENDER acceleration)
(==) intel(0): Backing store disabled
(==) intel(0): Silken mouse enabled
(II) intel(0): Initializing HW Cursor
(II) intel(0): [DRI] installation complete
(II) intel(0): Fixed memory allocation layout:
(II) intel(0): 0x00000000-0xfffffffffbefffff: DRI memory manager
(18014398509415424 kB)
(II) intel(0): 0x00000000:            end of aperture
(II) intel(0): BO memory allocation layout:
(II) intel(0): 0x00000000:            start of memory manager
(II) intel(0): 0x06523000-0x08522fff: classic textures (32768 kB)
(II) intel(0): 0x05523000-0x06022fff: depth buffer (11264 kB) Y tiled
(II) intel(0): 0x03523000-0x0525afff: back buffer (29920 kB) X tiled
(II) intel(0): 0x03522000-0x03522fff: power context (4 kB)
(II) intel(0): 0x02522000-0x03021fff: front buffer (11264 kB)
(II) intel(0): 0x02512000-0x0251bfff: HW cursors (40 kB)
(II) intel(0): 0xfffffffffbf00000:            end of memory manager
(II) intel(0): [drm] mapped front buffer at 0x02522000, handle = 0xe2522000
(II) intel(0): [drm] mapped back buffer at 0x03523000, handle = 0xe3523000
(II) intel(0): [drm] mapped depth buffer at 0x05523000, handle = 0xe5523000
(II) intel(0): [drm] mapped classic textures at 0x06523000, handle = 0xe6523000
(II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
(**) Option "dpms"
(**) intel(0): DPMS enabled
(==) intel(0): Intel XvMC decoder disabled
(II) intel(0): Set up textured video
(II) intel(0): direct rendering: XF86DRI Enabled
(WW) intel(0): Option "PreferredMode" is not used
(--) RandR disabled
(II) Initializing built-in extension Generic Event Extension
(II) Initializing built-in extension SHAPE
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension BIG-REQUESTS
(II) Initializing built-in extension SYNC
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension XC-MISC
(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) AIGLX: Screen 0 is not DRI2 capable
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 9, (OK)
drmOpenByBusid: Searching for BusID pci:0000:00:02.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 9, (OK)
drmOpenByBusid: drmOpenMinor returns 9
drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
(II) AIGLX: enabled GLX_SGI_make_current_read
(II) AIGLX: enabled GLX_MESA_copy_sub_buffer
(II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control
(II) AIGLX: enabled GLX_texture_from_pixmap with driver support
(II) AIGLX: Loaded and initialized /usr/lib64/dri/i965_dri.so
(II) GLX: Initialized DRI GL provider for screen 0
(II) intel(0): Setting screen physical size to 303 x 190

X works fine when using a kernel without kernel mode setting enabled.
Comment 1 Eugeni Dodonov 2011-10-03 09:49:46 UTC
I believe that it was fixed long time ago, but feel free to reopen if I am wrong :).
Comment 2 russell bell 2011-11-15 16:09:28 UTC
This has started again with kernel 3.1.0.  3.0.9 is okay.
Comment 3 Chris Wilson 2011-11-16 02:00:41 UTC
Russell, I do not believe you have an EXA bug, if you do then please note you are about 4 years behind on bug fixes. So please create a new bug with all the relevant debug info: http://intellinuxgraphics.org/how_to_report_bug.html

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.