Bug 112296 - Kernel 5.3.11 display corruption after "(EE) intel(0): Failed to submit rendering commands (Invalid argument), disabling acceleration" on Dell Precision 5540
Summary: Kernel 5.3.11 display corruption after "(EE) intel(0): Failed to submit rende...
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: x86-64 (AMD64) Linux (All)
: not set major
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-11-15 11:11 UTC by Arcadiy Ivanov
Modified: 2019-11-20 07:21 UTC (History)
1 user (show)

See Also:
i915 platform: CFL
i915 features: display/Other


Attachments
Screenshot of screen corruption (233.05 KB, image/png)
2019-11-15 11:13 UTC, Arcadiy Ivanov
no flags Details
X.org.0.log (72.13 KB, text/x-log)
2019-11-15 11:50 UTC, Arcadiy Ivanov
no flags Details
DRM kernel logs (31.63 MB, text/x-log)
2019-11-15 12:46 UTC, Arcadiy Ivanov
no flags Details

Description Arcadiy Ivanov 2019-11-15 11:11:52 UTC
After upgrade to latest kernel 5.3.11 on Fedora 31, while browsing via chromium with hardware acceleration display corruption suddenly appeared. Resolving it requires a reboot.

X.org logs show:

"[ 18200.032] (EE) intel(0): Failed to submit rendering commands (Invalid argument), disabling acceleration."

Kernel log is unremarkable.
Switching to text terminal and back to X does not resolve the issue.
/sys/kernel/debug/dri/0/i915_error_state is empty.
Comment 1 Arcadiy Ivanov 2019-11-15 11:13:43 UTC
Created attachment 145965 [details]
Screenshot of screen corruption
Comment 2 Arcadiy Ivanov 2019-11-15 11:15:57 UTC
[    2.799789] [drm] Incompatible option detected: enable_guc=3, GuC submission not supported!
[    2.800530] [drm] Switching to non-GuC submission mode!
[    2.801843] fb0: switching to inteldrmfb from EFI VGA
[    2.802750] i915 0000:00:02.0: vgaarb: deactivate vga console
[    2.804954] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.804955] [drm] Driver supports precise vblank timestamp query.
[    2.805703] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    2.805986] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[    3.112744] [drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin (version 2.0)
[    3.123739] [drm] GuC: Loaded firmware i915/kbl_guc_32.0.3.bin (version 32.0)
[    3.123857] [drm] CT: enabled
[    3.134819] i915 0000:00:02.0: GuC firmware version 32.0
[    3.134820] i915 0000:00:02.0: GuC submission disabled
[    3.134821] i915 0000:00:02.0: HuC enabled
[    3.136512] [drm] Initialized i915 1.6.0 20190619 for 0000:00:02.0 on minor 0
[    3.196738] fbcon: i915drmfb (fb0) is primary device
[    3.201428] i915 0000:00:02.0: fb0: i915drmfb frame buffer device
[    7.384231] [drm:intel_dp_start_link_train [i915]] *ERROR* failed to enable link training
Comment 3 Arcadiy Ivanov 2019-11-15 11:16:24 UTC
00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 630 (Mobile) [8086:3e9b] (rev 02)
Comment 4 Chris Wilson 2019-11-15 11:19:05 UTC
Xorg log, please?
Comment 5 Chris Wilson 2019-11-15 11:22:35 UTC
Also can you please grab drm.debug=3 while provoking the error?
Comment 6 Arcadiy Ivanov 2019-11-15 11:50:55 UTC
Created attachment 145966 [details]
X.org.0.log
Comment 7 Arcadiy Ivanov 2019-11-15 12:45:42 UTC
So the bug is reproducible dragging a file in Dolphin with drag-and-drop from one screen to another. Not reliably but it does trigger after several attempts.

Xorg:

[   202.692] (EE) intel(0): Failed to submit rendering commands (Invalid argument), disabling acceleration.

Kernel:

[  202.685093] [drm:vblank_disable_fn [drm]] disabling vblank on crtc 1
[  202.685225] [drm:drm_ioctl [drm]] pid=2098, dev=0xe200, auth=1, DRM_IOCTL_MODE_CURSOR
[  202.685262] [drm:drm_mode_object_get [drm]] OBJ ID: 128 (1)
[  202.685296] [drm:drm_mode_object_get [drm]] OBJ ID: 128 (2)
[  202.685327] [drm:drm_mode_object_get [drm]] OBJ ID: 124 (1)
[  202.685356] [drm:drm_mode_object_get [drm]] OBJ ID: 130 (1)
[  202.685385] [drm:drm_mode_object_get [drm]] OBJ ID: 128 (3)
[  202.685413] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 128 (4)
[  202.685452] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 124 (2)
[  202.685480] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 130 (2)
[  202.685508] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 128 (3)
[  202.685535] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 128 (2)
[  202.692449] [drm:drm_ioctl [drm]] pid=2098, dev=0xe200, auth=1, DRM_IOCTL_MODE_CURSOR
[  202.692486] [drm:drm_mode_object_get [drm]] OBJ ID: 128 (1)
[  202.692519] [drm:drm_mode_object_get [drm]] OBJ ID: 128 (2)
[  202.692549] [drm:drm_mode_object_get [drm]] OBJ ID: 124 (1)
[  202.692578] [drm:drm_mode_object_get [drm]] OBJ ID: 130 (1)
[  202.692606] [drm:drm_mode_object_get [drm]] OBJ ID: 128 (3)
[  202.692634] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 128 (4)
[  202.692673] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 124 (2)
[  202.692702] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 130 (2)
[  202.692730] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 128 (3)
[  202.692758] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 128 (2)
[  202.696359] [drm:vblank_disable_fn [drm]] disabling vblank on crtc 2
Comment 8 Arcadiy Ivanov 2019-11-15 12:46:33 UTC
Created attachment 145967 [details]
DRM kernel logs
Comment 9 Chris Wilson 2019-11-15 14:18:34 UTC
[  202.675263] [drm:drm_ioctl [drm]] pid=2011, dev=0xe200, auth=1, I915_GEM_EXEC
BUFFER2_WR
[  202.675510] [drm:intel_engine_cmd_parser [i915]] CMD: Command length exceeds 
batch length: 0x54F00808 length=10 batchlen=4
[  202.675547] [drm:drm_ioctl [drm]] pid=2011, ret = -22
Comment 10 Chris Wilson 2019-11-15 19:10:08 UTC
Fwiw, it is at least the kernel pointing out a bug in userspace. I'm disappointed that the gfx were not able to recover, but we can now find the root cause in sna.

Would it be possible for you to compile xf86-video-intel with --enable-debug=full, xz/lzma the last 10,000 lines of the log file (it will be huge) and attach? Otherwise, I'm looking for which XY_SRC_COPY miscomputed the remaining space in the batch.
Comment 11 Arcadiy Ivanov 2019-11-16 10:50:14 UTC
I'm travelling and not back in my multi-monitor setup until Tuesday. I should be able to do it then.
Comment 12 Chris Wilson 2019-11-17 15:13:31 UTC
Spotted an issue related to XY_SRC_COPY box overflow,

commit e628d22673dfa494230e6f79ceff7d178137c71a (HEAD -> master, upstream/master)
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Nov 17 15:10:56 2019 +0000

    sna: Fix overflow calculation for number of boxes that fit
    
    We detect when the number of boxes we wished to emit into the batch
    would overflow, but then miscalculated the number that would actually fit.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=112296
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

so fingers crossed.
Comment 13 Arcadiy Ivanov 2019-11-18 19:10:59 UTC
(In reply to Chris Wilson from comment #12)
> Spotted an issue related to XY_SRC_COPY box overflow,
> 
> commit e628d22673dfa494230e6f79ceff7d178137c71a (HEAD -> master,
> upstream/master)


Nice! Is this drm-tip I should be testing? I can't find this commit anywhere. I frankly would rather apply this patch to my current Fedora kernel directly.
Comment 14 Chris Wilson 2019-11-18 20:29:50 UTC
(In reply to Arcadiy Ivanov from comment #13)
> (In reply to Chris Wilson from comment #12)
> > Spotted an issue related to XY_SRC_COPY box overflow,
> > 
> > commit e628d22673dfa494230e6f79ceff7d178137c71a (HEAD -> master,
> > upstream/master)
> 
> Nice! Is this drm-tip I should be testing? I can't find this commit
> anywhere. I frankly would rather apply this patch to my current Fedora
> kernel directly.

That was for x86-video-intel.
Comment 15 Arcadiy Ivanov 2019-11-19 22:28:25 UTC
(In reply to Chris Wilson from comment #14)
> That was for x86-video-intel.

I'm happy to report that with x86-video-intel HEAD (e628d22673dfa494230e6f79ceff7d178137c71a) I'm no longer able to reproduce the problem.
Comment 16 Chris Wilson 2019-11-19 22:30:15 UTC
Panic over kernel regression eases slightly. Thanks. Hopefully, we caught them all.
Comment 17 Arcadiy Ivanov 2019-11-20 05:43:51 UTC
Oh crap, it just happened again. There were many drags-and-drops until finally it was triggere instead of a reliable one. Sorry.

[ 65107.906] (II) intel(0): switch to mode 1920x1080@60.0 on eDP1 using pipe 0, position (2986, 2160), rotation normal, reflection none
[ 65107.958] (II) intel(0): switch to mode 3840x2160@60.0 on DP2 using pipe 1, position (2986, 0), rotation normal, reflection none
[ 65109.173] (II) intel(0): switch to mode 3840x2160@60.0 on DP1-1 using pipe 2, position (0, 0), rotation right, reflection none
[ 68717.739] (II) intel(0): switch to mode 1920x1080@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
[ 68717.773] (II) intel(0): resizing framebuffer to 1920x1080
[ 68720.841] (II) intel(0): resizing framebuffer to 6826x3840
[ 68720.876] (II) intel(0): switch to mode 1920x1080@60.0 on eDP1 using pipe 0, position (2986, 2160), rotation normal, reflection none
[ 68720.928] (II) intel(0): switch to mode 3840x2160@60.0 on DP2 using pipe 1, position (2986, 0), rotation normal, reflection none
[ 68722.164] (II) intel(0): switch to mode 3840x2160@60.0 on DP1-1 using pipe 2, position (0, 0), rotation right, reflection none
[ 81820.521] (EE) intel(0): Failed to submit rendering commands (Invalid argument), disabling acceleration.
Comment 18 Arcadiy Ivanov 2019-11-20 07:21:59 UTC
Nevermind, I'm a moron, the built drivers went into the wrong prefix. So far so good, I'll reopen if the bug pops up again.

    12.086] (II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so
[    12.088] (II) Module intel: vendor="X.Org Foundation"
[    12.089] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
[    12.089] (II) intel: Driver for Intel(R) HD Graphics
[    12.089] (II) intel: Driver for Intel(R) Iris(TM) Graphics
[    12.089] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics
[    12.090] (II) intel(0): Using Kernel Mode Setting driver: i915, version 1.6.0 20190619
[    12.090] (II) intel(0): SNA compiled from 2.99.917-896-ge628d226
[    12.092] (--) intel(0): Integrated Graphics Chipset: Intel(R) HD Graphics
[    12.092] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3, sse4.1, sse4.2, avx, avx2; using a maximum of 8 threads
[    12.092] (II) intel(0): Creating default Display subsection in Screen section
[    12.092] (==) intel(0): Depth 24, (--) framebuffer bpp 32
[    12.092] (==) intel(0): RGB weight 888
[    12.092] (==) intel(0): Default visual is TrueColor
[    12.092] (II) Applying OutputClass "intel" options to /dev/dri/card0
[    12.092] (II) Applying OutputClass "intel" options to /dev/dri/card0
[    12.092] (**) intel(0): Option "AccelMethod" "sna"
[    12.092] (**) intel(0): Option "DRI" "3"
[    12.092] (**) intel(0): Option "TearFree" "true"
[    12.093] (II) intel(0): Output eDP1 has no monitor section
[    12.093] (**) intel(0): Found backlight control interface intel_backlight (type 'raw') for output eDP1
[    12.093] (II) intel(0): Enabled output eDP1
[    12.093] (II) intel(0): Output DP1 has no monitor section
[    12.093] (II) intel(0): Enabled output DP1
[    12.093] (II) intel(0): Output DP2 has no monitor section
[    12.093] (II) intel(0): Enabled output DP2
[    12.093] (II) intel(0): Output DP3 has no monitor section
[    12.093] (II) intel(0): Enabled output DP3
[    12.093] (II) intel(0): Output DP1-1 has no monitor section
[    12.093] (II) intel(0): Enabled output DP1-1
[    12.093] (II) intel(0): Output DP1-2 has no monitor section
[    12.093] (II) intel(0): Enabled output DP1-2
[    12.093] (II) intel(0): Output DP1-3 has no monitor section
[    12.093] (II) intel(0): Enabled output DP1-3
[    12.093] (--) intel(0): Using a maximum size of 256x256 for hardware cursors
[    12.093] (II) intel(0): Output VIRTUAL1 has no monitor section
[    12.093] (II) intel(0): Enabled output VIRTUAL1
[    12.093] (--) intel(0): Output eDP1 using initial mode 1920x1080 on pipe 0
[    12.093] (--) intel(0): Output DP2 using initial mode 1920x1080 on pipe 1
[    12.093] (--) intel(0): Output DP1-1 using initial mode 1920x1080 on pipe 2
[    12.094] (**) intel(0): TearFree enabled
[    12.094] (==) intel(0): Using gamma correction (1.0, 1.0, 1.0)
[    12.094] (==) intel(0): DPI set to (96, 96)
[    12.096] (II) intel(0): SNA initialized with Coffeelake (gen9) backend
[    12.096] (==) intel(0): Backing store enabled
[    12.096] (==) intel(0): Silken mouse enabled
[    12.096] (II) intel(0): HW Cursor enabled
[    12.097] (==) intel(0): DPMS enabled
[    12.097] (==) intel(0): Display hotplug detection enabled
[    12.097] (II) intel(0): [DRI2] Setup complete
[    12.097] (II) intel(0): [DRI2]   DRI driver: i965
[    12.097] (II) intel(0): [DRI2]   VDPAU driver: va_gl
[    12.097] (II) intel(0): direct rendering: DRI2 DRI3 enabled
[    12.097] (II) intel(0): hardware support for Present enabled
[    12.119] (II) intel(0): switch to mode 1920x1080@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
[    12.122] (II) intel(0): switch to mode 1920x1080@60.0 on DP2 using pipe 1, position (0, 0), rotation normal, reflection none
[    12.133] (II) intel(0): switch to mode 1920x1080@60.0 on DP1-1 using pipe 2, position (0, 0), rotation normal, reflection none
[    12.142] (II) intel(0): Setting screen physical size to 508 x 285
[    14.099] (II) intel(0): EDID vendor "SHP", prod id 5306
[    14.099] (II) intel(0): Printing DDC gathered Modelines:
[    14.099] (II) intel(0): Modeline "1920x1080"x0.0  142.52  1920 1968 2000 2080  1080 1083 1088 1142 -hsync -vsync (68.5 kHz eP)
[   329.172] (II) intel(0): resizing framebuffer to 6826x3840
[   329.248] (II) intel(0): switch to mode 1920x1080@60.0 on eDP1 using pipe 0, position (2986, 2160), rotation normal, reflection none
[   329.307] (II) intel(0): switch to mode 3840x2160@60.0 on DP1-1 using pipe 2, position (0, 0), rotation right, reflection none
[   331.817] (II) intel(0): switch to mode 3840x2160@60.0 on DP2 using pipe 1, position (2986, 0), rotation normal, reflection none


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.