complete system stalls while changing displays resolutions on a hybrid (intel/radeon) system
Submitted by Yaroslav Halchenko
Assigned to Default DRI bug account
Description
Originally reported within DRM/Intel (https://bugs.freedesktop.org/show_bug.cgi?id=92997#c1) and was recommended to seek support with Radeon peopl.
The story began a month or so ago whenever I upgraded my Debian testing/sid installation with a new kernel (can dig out later if needed from which version) to 4.3.0 : laptop started to freeze completely, usually when switching displays (to/from external display)/resolution. My laptop is hp zbook 14" with dual GPU:
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Mars [Radeon HD 8730M]
which sits on the docking station (stalls happen without docking I believe) which has a display connected via display port.
Running nightly of git://anongit.freedesktop.org/drm-intel from yesterday I have managed to trigger the stall again: turned on 2nd display attached to the docking station (also via displayport), which xrandr doesn't actually see as connected, and usually it just shows the cloning of the 1st display (I guess docking station does it internally). When I turned it off again, which lead X to reset display and almost come back when it stalled... after reboot journalctl -b -1 showed:
Nov 18 14:00:49 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) intel(0): resizing framebuffer to 1920x1200
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): EDID vendor "HWP", prod id 9977
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Using hsync ranges from config file
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Using vrefresh ranges from config file
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Printing DDC gathered Modelines:
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "1920x1200"x0.0 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync -vsync (74.0 kHz eP)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "640x480"x0.0 31.50 640 656 720 840 480 481 484 500 -hsync -vsync (37.5 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "720x400"x0.0 28.32 720 738 846 900 400 412 414 449 -hsync +vsync (31.5 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "1280x1024"x0.0 135.00 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "1024x768"x0.0 78.75 1024 1040 1136 1312 768 769 772 800 +hsync +vsync (60.0 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "832x624"x0.0 57.28 832 864 928 1152 624 625 628 667 -hsync -vsync (49.7 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "800x600"x0.0 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync (46.9 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "1152x864"x0.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "1600x1000"x60.0 133.14 1600 1704 1872 2144 1000 1001 1004 1035 -hsync +vsync (62.1 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz e)
Nov 18 14:00:50 hopa /usr/lib/gdm3/gdm-x-session[2354]: (II) RADEON(G0): Modeline "1680x1050"x0.0 119.00 1680 1728 1760 1840 1050 1053 1059 1080 +hsync -vsync (64.7 kHz e)
Nov 18 14:00:50 hopa kernel: BUG: unable to handle kernel NULL pointer dereference at 0000000000000041
Nov 18 14:00:50 hopa kernel: IP: [<ffffffffa089abeb>
] ttm_bo_wait+0x6b/0x170 [ttm]
Nov 18 14:00:50 hopa kernel: PGD 35dba067 PUD 35dbb067 PMD 0
Nov 18 14:00:50 hopa kernel: Oops: 0000 [#1 (closed)] SMP
Nov 18 14:00:50 hopa kernel: Modules linked in: fuse ctr ccm rfcomm ipt_MASQUERADE nf_nat_masquerade_ipv4 xt_addrtype br_netfilter bridge stp llc dm_thin_pool dm_persistent_data dm_bio_prison dm_bufio libcrc32c loop bnep pci_stub vboxpci(
Nov 18 14:00:50 hopa kernel: iosf_mbi x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass pcspkr psmouse serio_raw sg i2c_i801 lpc_ich shpchp evdev tpm_infineon mei_me mei snd_usb_audio snd_usbmidi_lib snd_rawmidi snd_
Nov 18 14:00:50 hopa kernel: sd_mod rtsx_pci_sdmmc mmc_core crct10dif_pclmul crc32_pclmul crc32c_intel jitterentropy_rng sha256_ssse3 sha256_generic hmac drbg ansi_cprng ahci libahci aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_h
Nov 18 14:00:50 hopa kernel: CPU: 2 PID: 4571 Comm: kworker/2:0 Tainted: G W O 4.4.0-rc1+ #2
Nov 18 14:00:50 hopa kernel: Hardware name: Hewlett-Packard HP ZBook 14/198F, BIOS L71 Ver. 01.20 07/28/2014
Nov 18 14:00:50 hopa kernel: Workqueue: events ttm_bo_delayed_workqueue [ttm]
Nov 18 14:00:50 hopa kernel: task: ffff8804384d7100 ti: ffff880035e14000 task.ti: ffff880035e14000
Nov 18 14:00:50 hopa kernel: RIP: 0010:[<ffffffffa089abeb>
] [<ffffffffa089abeb>
] ttm_bo_wait+0x6b/0x170 [ttm]
Nov 18 14:00:50 hopa kernel: RSP: 0018:ffff880035e17d70 EFLAGS: 00010246
Nov 18 14:00:50 hopa kernel: RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000001
Nov 18 14:00:50 hopa kernel: RDX: 0000000000000ea6 RSI: 0000000000000000 RDI: ffff8800a1626068
Nov 18 14:00:50 hopa kernel: RBP: 0000000000000001 R08: ffff8800a5c5cc78 R09: 0000000000000000
Nov 18 14:00:50 hopa kernel: R10: 0000000000000000 R11: ffff8804300f1dc0 R12: 0000000000000000
Nov 18 14:00:50 hopa kernel: R13: 0000000000000001 R14: ffff8804382d76f8 R15: ffff88031b9b6400
Nov 18 14:00:50 hopa kernel: FS: 0000000000000000(0000) GS:ffff88044ea80000(0000) knlGS:0000000000000000
Nov 18 14:00:50 hopa kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Nov 18 14:00:50 hopa kernel: CR2: 0000000000000041 CR3: 000000043018d000 CR4: 00000000001406e0
Nov 18 14:00:50 hopa kernel: Stack:
Nov 18 14:00:50 hopa kernel: 0000000000000ea6 ffff8800a1626068 ffff88044ea959c0 ffff8800a1626068
Nov 18 14:00:50 hopa kernel: 0000000000000001 0000000000000001 ffff880437fcef40 0000000000000000
Nov 18 14:00:50 hopa kernel: 0000000000000001 ffffffffa089b327 0000000000000000 0000000000000001
Nov 18 14:00:50 hopa kernel: Call Trace:
Nov 18 14:00:50 hopa kernel: [<ffffffffa089b327>
] ? ttm_bo_cleanup_refs_and_unlock+0x27/0x170 [ttm]
Nov 18 14:00:50 hopa kernel: [<ffffffffa089b52f>
] ? ttm_bo_delayed_delete+0xbf/0x200 [ttm]
Nov 18 14:00:50 hopa kernel: [<ffffffffa089b687>
] ? ttm_bo_delayed_workqueue+0x17/0x40 [ttm]
Nov 18 14:00:50 hopa kernel: [<ffffffff810856ff>
] ? process_one_work+0x19f/0x3d0
Nov 18 14:00:50 hopa kernel: [<ffffffff8108597d>
] ? worker_thread+0x4d/0x450
Nov 18 14:00:50 hopa kernel: [<ffffffff81085930>
] ? process_one_work+0x3d0/0x3d0
Nov 18 14:00:50 hopa kernel: [<ffffffff8108b47d>
] ? kthread+0xbd/0xe0
Nov 18 14:00:50 hopa kernel: [<ffffffff8108b3c0>
] ? kthread_create_on_node+0x170/0x170
Nov 18 14:00:50 hopa kernel: [<ffffffff8155984f>
] ? ret_from_fork+0x3f/0x70
Nov 18 14:00:50 hopa kernel: [<ffffffff8108b3c0>
] ? kthread_create_on_node+0x170/0x170
Nov 18 14:00:50 hopa kernel: Code: 85 ff 74 71 41 8b 47 10 ba a6 0e 00 00 85 c0 74 64 31 db eb 0e 83 c3 01 48 85 d2 7e 4f 41 39 5f 10 76 52 48 63 c3 49 8b 6c c7 18 <48>
8b 45 40 a8 01 75 e2 48 8b 45 08 48 8b 40 18 48 85 c0 74 11
Nov 18 14:00:50 hopa kernel: RIP [<ffffffffa089abeb>
] ttm_bo_wait+0x6b/0x170 [ttm]
Not sure if this particular traceback is associated with all the stalls -- I think that in majority of the cases system stalls before any log/journal gets dumped to the drive so it is not usually accessible after reboot.
I also setup xrandr providers to enable external displays connected to the docking station:
xrandr --setprovideroffloadsink radeon Intel
xrandr --setprovideroutputsource radeon Intel
but I think I had stalls prior doing that (but it was with older kernels etc)