Bug 100246

Summary: Xorg crashes with 16bpp on i3-4150
Product: xorg Reporter: Alkis Georgopoulos <alkisg>
Component: Driver/modesettingAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED MOVED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: intel-gfx-bugs, tjaalton
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg crash dump none

Description Alkis Georgopoulos 2017-03-17 10:12:32 UTC
Created attachment 130285 [details]
Xorg crash dump

Using ubuntu-mate 16.04.1, if I try `xinit -- -depth 16`, it works fine, as it loads the intel driver.

Using ubuntu-mate 16.04.2, if I try `xinit -- -depth 16`, it's using the modesetting driver and I always get a Xorg crash, mentioning "(EE) AddScreen/ScreenInit failed for driver 0; Xorg: ../../../../hw/xfree86/common/xf86Helper.c:1948: xf86ScrnToScreen: Assertion `pScrn->scrnIndex < screenInfo.numScreens' failed."

This is without using a xorg.conf. It does not happen on skylake processors, so it's possible that it only affects older generations.

I'm attaching the crash dump and I'm pasting the Xorg.log below.

CPU : Intel(R) Core(TM) i3-4150 CPU @ 3.50GHz
xserver-xorg-video-intel-hwe-16.04     2:2.99.917+git20160706-1ubuntu1~16.04.1

cat /var/log/Xorg.0.log:
[  7446.712] 
X.Org X Server 1.18.4
Release Date: 2016-07-19
[  7446.712] X Protocol Version 11, Revision 0
[  7446.712] Build Operating System: Linux 4.4.0-59-generic x86_64 Ubuntu
[  7446.712] Current Operating System: Linux tzimasor 4.8.0-41-generic #44~16.04.1-Ubuntu SMP Fri Mar 3 17:11:16 UTC 2017 x86_64
[  7446.712] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.8.0-41-generic root=UUID=01c2d766-abc6-4e6c-a5c7-a0cfa56f7d9c ro quiet splash vt.handoff=7
[  7446.713] Build Date: 26 January 2017  12:26:18AM
[  7446.713] xorg-server 2:1.18.4-1ubuntu6.1~16.04.1 (For technical support please see http://www.ubuntu.com/support) 
[  7446.713] Current version of pixman: 0.33.6
[  7446.713] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[  7446.713] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[  7446.713] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Mar 17 12:08:18 2017
[  7446.713] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[  7446.713] (==) No Layout section.  Using the first Screen section.
[  7446.713] (==) No screen section available. Using defaults.
[  7446.713] (**) |-->Screen "Default Screen Section" (0)
[  7446.713] (**) |   |-->Monitor "<default monitor>"
[  7446.713] (==) No monitor specified for screen "Default Screen Section".
	Using a default monitor configuration.
[  7446.713] (==) Automatically adding devices
[  7446.713] (==) Automatically enabling devices
[  7446.713] (==) Automatically adding GPU devices
[  7446.713] (==) Max clients allowed: 256, resource mask: 0x1fffff
[  7446.713] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[  7446.713] 	Entry deleted from font path.
[  7446.713] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[  7446.713] 	Entry deleted from font path.
[  7446.713] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[  7446.713] 	Entry deleted from font path.
[  7446.713] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[  7446.713] 	Entry deleted from font path.
[  7446.713] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[  7446.713] 	Entry deleted from font path.
[  7446.713] (==) FontPath set to:
	/usr/share/fonts/X11/misc,
	/usr/share/fonts/X11/Type1,
	built-ins
[  7446.713] (==) ModulePath set to "/usr/lib/x86_64-linux-gnu/xorg/extra-modules,/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules"
[  7446.713] (II) The server relies on udev to provide the list of input devices.
	If no devices become available, reconfigure udev or disable AutoAddDevices.
[  7446.713] (II) Loader magic: 0x56367d302dc0
[  7446.713] (II) Module ABI versions:
[  7446.713] 	X.Org ANSI C Emulation: 0.4
[  7446.713] 	X.Org Video Driver: 20.0
[  7446.713] 	X.Org XInput driver : 22.1
[  7446.713] 	X.Org Server Extension : 9.0
[  7446.714] (--) using VT number 7

[  7446.714] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[  7446.715] (II) xfree86: Adding drm device (/dev/dri/card0)
[  7446.730] (--) PCI:*(0:0:2:0) 8086:041e:1458:d000 rev 6, Mem @ 0xf7800000/4194304, 0xe0000000/268435456, I/O @ 0x0000f000/64, BIOS @ 0x????????/131072
[  7446.730] (II) LoadModule: "glx"
[  7446.730] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[  7446.731] (II) Module glx: vendor="X.Org Foundation"
[  7446.731] 	compiled for 1.18.4, module version = 1.0.0
[  7446.731] 	ABI class: X.Org Server Extension, version 9.0
[  7446.731] (==) AIGLX enabled
[  7446.731] (==) Matched modesetting as autoconfigured driver 0
[  7446.731] (==) Matched fbdev as autoconfigured driver 1
[  7446.731] (==) Matched vesa as autoconfigured driver 2
[  7446.731] (==) Assigned the driver to the xf86ConfigLayout
[  7446.731] (II) LoadModule: "modesetting"
[  7446.731] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[  7446.731] (II) Module modesetting: vendor="X.Org Foundation"
[  7446.731] 	compiled for 1.18.4, module version = 1.18.4
[  7446.731] 	Module class: X.Org Video Driver
[  7446.731] 	ABI class: X.Org Video Driver, version 20.0
[  7446.731] (II) LoadModule: "fbdev"
[  7446.731] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[  7446.731] (II) Module fbdev: vendor="X.Org Foundation"
[  7446.731] 	compiled for 1.18.4, module version = 0.4.4
[  7446.731] 	Module class: X.Org Video Driver
[  7446.731] 	ABI class: X.Org Video Driver, version 20.0
[  7446.731] (II) LoadModule: "vesa"
[  7446.731] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[  7446.731] (II) Module vesa: vendor="X.Org Foundation"
[  7446.731] 	compiled for 1.18.4, module version = 2.3.4
[  7446.731] 	Module class: X.Org Video Driver
[  7446.731] 	ABI class: X.Org Video Driver, version 20.0
[  7446.731] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[  7446.731] (II) FBDEV: driver for framebuffer: fbdev
[  7446.731] (II) VESA: driver for VESA chipsets: vesa
[  7446.763] (II) modeset(0): using drv /dev/dri/card0
[  7446.763] (WW) Falling back to old probe method for fbdev
[  7446.763] (II) Loading sub module "fbdevhw"
[  7446.763] (II) LoadModule: "fbdevhw"
[  7446.763] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[  7446.763] (II) Module fbdevhw: vendor="X.Org Foundation"
[  7446.763] 	compiled for 1.18.4, module version = 0.0.2
[  7446.763] 	ABI class: X.Org Video Driver, version 20.0
[  7446.763] (WW) Falling back to old probe method for vesa
[  7446.763] (II) modeset(0): Creating default Display subsection in Screen section
	"Default Screen Section" for depth/fbbpp 16/16
[  7446.763] (++) modeset(0): Depth 16, (--) framebuffer bpp 16
[  7446.763] (==) modeset(0): RGB weight 565
[  7446.763] (==) modeset(0): Default visual is TrueColor
[  7446.763] (II) Loading sub module "glamoregl"
[  7446.763] (II) LoadModule: "glamoregl"
[  7446.763] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[  7446.767] (II) Module glamoregl: vendor="X.Org Foundation"
[  7446.767] 	compiled for 1.18.4, module version = 1.0.0
[  7446.767] 	ABI class: X.Org ANSI C Emulation, version 0.4
[  7446.767] (II) glamor: OpenGL accelerated X.org driver based.
[  7446.780] (II) glamor: EGL version 1.4 (DRI2):
[  7446.781] (II) modeset(0): glamor initialized
[  7446.794] (II) modeset(0): Output VGA-1 has no monitor section
[  7446.795] (II) modeset(0): Output HDMI-1 has no monitor section
[  7446.796] (II) modeset(0): Output HDMI-2 has no monitor section
[  7446.809] (II) modeset(0): EDID for output VGA-1
[  7446.809] (II) modeset(0): Manufacturer: AOC  Model: 2050  Serial#: 41535
[  7446.809] (II) modeset(0): Year: 2014  Week: 2
[  7446.809] (II) modeset(0): EDID Version: 1.3
[  7446.809] (II) modeset(0): Analog Display Input,  Input Voltage Level: 0.700/0.700 V
[  7446.809] (II) modeset(0): Sync:  Separate
[  7446.809] (II) modeset(0): Max Image Size [cm]: horiz.: 43  vert.: 24
[  7446.809] (II) modeset(0): Gamma: 2.20
[  7446.809] (II) modeset(0): DPMS capabilities: Off; RGB/Color Display
[  7446.809] (II) modeset(0): First detailed timing is preferred mode
[  7446.809] (II) modeset(0): redX: 0.641 redY: 0.338   greenX: 0.315 greenY: 0.629
[  7446.809] (II) modeset(0): blueX: 0.159 blueY: 0.059   whiteX: 0.313 whiteY: 0.329
[  7446.809] (II) modeset(0): Supported established timings:
[  7446.809] (II) modeset(0): 720x400@70Hz
[  7446.809] (II) modeset(0): 640x480@60Hz
[  7446.809] (II) modeset(0): 640x480@67Hz
[  7446.809] (II) modeset(0): 640x480@72Hz
[  7446.809] (II) modeset(0): 640x480@75Hz
[  7446.809] (II) modeset(0): 800x600@56Hz
[  7446.809] (II) modeset(0): 800x600@60Hz
[  7446.809] (II) modeset(0): 800x600@72Hz
[  7446.809] (II) modeset(0): 800x600@75Hz
[  7446.809] (II) modeset(0): 832x624@75Hz
[  7446.809] (II) modeset(0): 1024x768@60Hz
[  7446.809] (II) modeset(0): 1024x768@70Hz
[  7446.809] (II) modeset(0): 1024x768@75Hz
[  7446.809] (II) modeset(0): 1280x1024@75Hz
[  7446.809] (II) modeset(0): Manufacturer's mask: 0
[  7446.809] (II) modeset(0): Supported standard timings:
[  7446.809] (II) modeset(0): #0: hsize: 1600  vsize 900  refresh: 60  vid: 49321
[  7446.809] (II) modeset(0): #1: hsize: 1280  vsize 1024  refresh: 60  vid: 32897
[  7446.809] (II) modeset(0): #2: hsize: 1280  vsize 720  refresh: 60  vid: 49281
[  7446.809] (II) modeset(0): Supported detailed timing:
[  7446.809] (II) modeset(0): clock: 108.0 MHz   Image Size:  432 x 240 mm
[  7446.809] (II) modeset(0): h_active: 1600  h_sync: 1624  h_sync_end 1704 h_blank_end 1800 h_border: 0
[  7446.809] (II) modeset(0): v_active: 900  v_sync: 901  v_sync_end 904 v_blanking: 1000 v_border: 0
[  7446.809] (II) modeset(0): Ranges: V min: 50 V max: 76 Hz, H min: 30 H max: 83 kHz, PixClock max 145 MHz
[  7446.809] (II) modeset(0): Monitor name: 2050W
[  7446.809] (II) modeset(0): Serial No: FEBE1HA041535
[  7446.809] (II) modeset(0): EDID (in hex):
[  7446.809] (II) modeset(0): 	00ffffffffffff0005e350203fa20000
[  7446.809] (II) modeset(0): 	02180103682b18782a2cc5a45650a128
[  7446.809] (II) modeset(0): 	0f5054bfef00a9c0818081c001010101
[  7446.809] (II) modeset(0): 	010101010101302a40c8608464301850
[  7446.809] (II) modeset(0): 	1300b0f01000001e000000fd00324c1e
[  7446.809] (II) modeset(0): 	530e000a202020202020000000fc0032
[  7446.809] (II) modeset(0): 	303530570a20202020202020000000ff
[  7446.809] (II) modeset(0): 	00464542453148413034313533350060
[  7446.809] (II) modeset(0): Printing probed modes for output VGA-1
[  7446.809] (II) modeset(0): Modeline "1600x900"x60.0  108.00  1600 1624 1704 1800  900 901 904 1000 +hsync +vsync (60.0 kHz eP)
[  7446.809] (II) modeset(0): Modeline "1280x1024"x75.0  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
[  7446.809] (II) modeset(0): Modeline "1280x1024"x60.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
[  7446.809] (II) modeset(0): Modeline "1280x720"x60.0   74.25  1280 1390 1430 1650  720 725 730 750 +hsync +vsync (45.0 kHz e)
[  7446.809] (II) modeset(0): Modeline "1024x768"x75.0   78.75  1024 1040 1136 1312  768 769 772 800 +hsync +vsync (60.0 kHz e)
[  7446.809] (II) modeset(0): Modeline "1024x768"x70.1   75.00  1024 1048 1184 1328  768 771 777 806 -hsync -vsync (56.5 kHz e)
[  7446.809] (II) modeset(0): Modeline "1024x768"x60.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[  7446.809] (II) modeset(0): Modeline "832x624"x74.6   57.28  832 864 928 1152  624 625 628 667 -hsync -vsync (49.7 kHz e)
[  7446.809] (II) modeset(0): Modeline "800x600"x72.2   50.00  800 856 976 1040  600 637 643 666 +hsync +vsync (48.1 kHz e)
[  7446.809] (II) modeset(0): Modeline "800x600"x75.0   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
[  7446.809] (II) modeset(0): Modeline "800x600"x60.3   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[  7446.809] (II) modeset(0): Modeline "800x600"x56.2   36.00  800 824 896 1024  600 601 603 625 +hsync +vsync (35.2 kHz e)
[  7446.809] (II) modeset(0): Modeline "640x480"x75.0   31.50  640 656 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
[  7446.809] (II) modeset(0): Modeline "640x480"x72.8   31.50  640 664 704 832  480 489 492 520 -hsync -vsync (37.9 kHz e)
[  7446.809] (II) modeset(0): Modeline "640x480"x66.7   30.24  640 704 768 864  480 483 486 525 -hsync -vsync (35.0 kHz e)
[  7446.809] (II) modeset(0): Modeline "640x480"x59.9   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[  7446.809] (II) modeset(0): Modeline "720x400"x70.1   28.32  720 738 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
[  7446.810] (II) modeset(0): EDID for output HDMI-1
[  7446.810] (II) modeset(0): EDID for output HDMI-2
[  7446.810] (II) modeset(0): Output VGA-1 connected
[  7446.810] (II) modeset(0): Output HDMI-1 disconnected
[  7446.810] (II) modeset(0): Output HDMI-2 disconnected
[  7446.810] (II) modeset(0): Using exact sizes for initial modes
[  7446.810] (II) modeset(0): Output VGA-1 using initial mode 1600x900 +0+0
[  7446.810] (II) modeset(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.
[  7446.810] (==) modeset(0): DPI set to (96, 96)
[  7446.810] (II) Loading sub module "fb"
[  7446.810] (II) LoadModule: "fb"
[  7446.810] (II) Loading /usr/lib/xorg/modules/libfb.so
[  7446.810] (II) Module fb: vendor="X.Org Foundation"
[  7446.810] 	compiled for 1.18.4, module version = 1.0.0
[  7446.810] 	ABI class: X.Org ANSI C Emulation, version 0.4
[  7446.810] (II) UnloadModule: "fbdev"
[  7446.810] (II) Unloading fbdev
[  7446.810] (II) UnloadSubModule: "fbdevhw"
[  7446.811] (II) Unloading fbdevhw
[  7446.811] (II) UnloadModule: "vesa"
[  7446.811] (II) Unloading vesa
[  7446.864] (==) modeset(0): Backing store enabled
[  7446.864] (==) modeset(0): Silken mouse enabled
[  7446.864] (II) modeset(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[  7446.864] (==) modeset(0): DPMS enabled
[  7446.864] (II) modeset(0): [DRI2] Setup complete
[  7446.864] (II) modeset(0): [DRI2]   DRI driver: i965
[  7446.864] (II) modeset(0): [DRI2]   VDPAU driver: i965
[  7446.879] (EE) modeset(0): failed to set mode: Invalid argument
[  7446.879] (EE) 
Fatal server error:
[  7446.879] (EE) AddScreen/ScreenInit failed for driver 0
[  7446.879] (EE) 
[  7446.879] (EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
[  7446.879] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[  7446.879] (EE)
Comment 1 Timo Aaltonen 2017-03-17 10:25:18 UTC
should probably be dri/i915

can repro on BDW, can't on SKL
Comment 2 Alkis Georgopoulos 2017-03-18 20:51:55 UTC
Thank you Timo, I moved it to DRI/DRM/Intel.
Comment 3 Chris Wilson 2017-03-19 09:00:35 UTC
It is not a kernel problem; it is not a -intel issue.
Comment 4 Alkis Georgopoulos 2017-03-21 09:44:52 UTC
I believe the crash is caused by this commit:
https://cgit.freedesktop.org/xorg/xserver/commit/?id=21217d02168d1883b2d1f64399aec494f96a8b9d
modesetting: Implement 32->24 bpp conversion in shadow update
author	Dave Airlie <airlied@redhat.com>	2015-07-22 16:14:06 (GMT)
committer	Hans de Goede <hdegoede@redhat.com>	2016-07-02 07:28:04 (GMT)

I tried rebuilding 1.18.4 after reverting it, and I no longer had any crashes.

That commit additionally caused screen corruption on other hardware:
https://bugs.freedesktop.org/show_bug.cgi?id=100295

Would it be possible to review or revert that commit?
Thank you.
Comment 5 Alkis Georgopoulos 2017-03-23 09:24:06 UTC
I tried this recent patch proposal:
https://lists.x.org/archives/xorg-devel/2017-March/053133.html

It works fine as long as I use a xorg.conf.
It also solves the screen corruption issues mentioned in bug #100295.

But when I'm using `xinit -- -depth 16` instead of a xorg.conf, then all the issues are still there.
Comment 6 GitLab Migration User 2018-12-13 18:09:04 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/xserver/issues/21.

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.