Screen freeze up after changing display mode to external display only

Bug #1813763 reported by Orange Shiang-Yuan Kao
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Hardware: Lenovo ThinkPad X280 with Lenovo USB-C dock
OS: Ubuntu Desktop 18.04.1 LTS, kernel 4.15.0-44-generic

== Reproduce steps ==
1. Connect one screen to Lenovo USB-C dock.
2. Connect Lenovo ThinkPad X280 to Lenovo USB-C dock.
3. Boot Ubuntu Linux and login. The external and built-in display will work in join display mode.
4. Press Fn+F7 and select external display only.

== Expected result ==
Use the external display to display GUI.

== Actual result ==
The built-in display freeze up. Nothing (blank) on the external display.
System does not respond to keyboard input.
If there is an external keyboard connected, Num-lock indicator will not change after pressing Num-lock key on the external keyboard.

Other processes are still running. If the Spotify is running, it will keep playing the music. Having a script as below will keep writing to a file
while [ true ]; do
    date >> time-log.log
    sync
    sleep 1
done

== Additional information ==
Not reproducible on Ubuntu 18.04.1 LiveUSB (kernel 4.15.0-29-generic)
Not reproducible on kernel 4.15.0-43-generic (by selecting the kernel in GRUB)
Always reproducible on kernel 4.15.0-44-generic
Not reproducible if the screen is directly connected to the HDMI port on ThinkPad X280

On kernel 4.15.0-43-generic, it will generate the following kernel message after selecting external display. The external display will work correctly.

[ 80.165447] thunderbolt 0000:04:00.0: control channel starting...
[ 80.165450] thunderbolt 0000:04:00.0: starting TX ring 0
[ 80.165457] thunderbolt 0000:04:00.0: enabling interrupt at register 0x38200 bit 0 (0x0 -> 0x1)
[ 80.165458] thunderbolt 0000:04:00.0: starting RX ring 0
[ 80.165465] thunderbolt 0000:04:00.0: enabling interrupt at register 0x38200 bit 12 (0x1 -> 0x1001)

On kernel 4.15.0-44-generic, it will generate the following kernel message after selecting external display. The external display is blank and the built-in display will freeze.
I run command "sleep 60 ; dmesg > dmesg.log" to record the kernel message after selecting external display, as the keyboard will become irresponsive.

[ 625.581884] BUG: unable to handle kernel NULL pointer dereference at 0000000000000245
[ 625.581980] IP: intel_ddi_post_disable+0x54/0x170 [i915]
[ 625.581986] PGD 0 P4D 0
[ 625.581997] Oops: 0000 [#1] SMP PTI
[ 625.582002] Modules linked in: snd_usb_audio snd_usbmidi_lib hid_generic usbhid hid cdc_ether usbnet r8152 mii rfcomm ccm xt_CHECKSUM iptable_mangle ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack libcrc32c ipt_REJECT nf_reject_ipv4 xt_tcpudp bridge stp llc cmac snd_hda_codec_hdmi ebtable_filter ebtables ip6table_filter ip6_tables devlink iptable_filter bnep snd_hda_codec_realtek snd_hda_codec_generic binfmt_misc joydev intel_rapl nls_iso8859_1 x86_pkg_temp_thermal arc4 intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc snd_soc_skl aesni_intel snd_soc_skl_ipc aes_x86_64 crypto_simd glue_helper cryptd snd_hda_ext_core intel_cstate snd_soc_sst_dsp iwlmvm snd_soc_sst_ipc
[ 625.582114] intel_rapl_perf snd_soc_acpi mac80211 snd_soc_core input_leds rmi_smbus uvcvideo snd_compress serio_raw ac97_bus intel_wmi_thunderbolt wmi_bmof rmi_core snd_pcm_dmaengine iwlwifi videobuf2_vmalloc snd_hda_intel snd_seq_midi videobuf2_memops snd_seq_midi_event videobuf2_v4l2 snd_hda_codec snd_rawmidi videobuf2_core cfg80211 btusb btrtl snd_hda_core videodev btbcm btintel snd_hwdep thinkpad_acpi media bluetooth snd_seq mei_me snd_pcm ucsi_acpi snd_seq_device typec_ucsi processor_thermal_device nvram ecdh_generic mei shpchp typec intel_soc_dts_iosf intel_pch_thermal snd_timer snd int3403_thermal soundcore int340x_thermal_zone acpi_pad int3400_thermal acpi_thermal_rel mac_hid sch_fq_codel parport_pc ppdev lp parport ip_tables x_tables autofs4 btrfs xor zstd_compress raid6_pq uas usb_storage
[ 625.582229] i915 i2c_algo_bit drm_kms_helper nvme e1000e syscopyarea psmouse sysfillrect sysimgblt ptp fb_sys_fops i2c_i801 pps_core nvme_core drm thunderbolt wmi video
[ 625.582266] CPU: 6 PID: 1813 Comm: Xorg Not tainted 4.15.0-44-generic #47-Ubuntu
[ 625.582270] Hardware name: LENOVO 20KFS05Q00/20KFS05Q00, BIOS N20ET31W (1.16 ) 05/30/2018
[ 625.582344] RIP: 0010:intel_ddi_post_disable+0x54/0x170 [i915]
[ 625.582349] RSP: 0018:ffff9dacc3f97a60 EFLAGS: 00010297
[ 625.582356] RAX: 0000000000000007 RBX: ffff896954080000 RCX: ffffffffc0542272
[ 625.582361] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff896954080000
[ 625.582366] RBP: ffff9dacc3f97a90 R08: 0000000000000007 R09: 0000000000000000
[ 625.582370] R10: 000000000000016f R11: 00000000000000d3 R12: 0000000000000000
[ 625.582375] R13: ffff896954080000 R14: ffff896953e68000 R15: ffff896955324800
[ 625.582382] FS: 00007ff4b9034600(0000) GS:ffff896972580000(0000) knlGS:0000000000000000
[ 625.582388] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 625.582393] CR2: 0000000000000245 CR3: 0000000411fea004 CR4: 00000000003606e0
[ 625.582397] Call Trace:
[ 625.582467] ? intel_dp_sink_dpms+0xbb/0xf0 [i915]
[ 625.582531] intel_mst_post_disable_dp+0x99/0xd0 [i915]
[ 625.582599] intel_encoders_post_disable.isra.102+0x66/0x80 [i915]
[ 625.582660] haswell_crtc_disable+0xe8/0x150 [i915]
[ 625.582724] intel_atomic_commit_tail+0x7ea/0xd30 [i915]
[ 625.582784] intel_atomic_commit+0x277/0x2b0 [i915]
[ 625.582826] drm_atomic_commit+0x51/0x60 [drm]
[ 625.582858] drm_atomic_connector_commit_dpms+0xef/0x100 [drm]
[ 625.582890] drm_mode_obj_set_property_ioctl+0x176/0x280 [drm]
[ 625.582921] ? drm_mode_connector_set_obj_prop+0x80/0x80 [drm]
[ 625.582947] drm_mode_connector_property_set_ioctl+0x3f/0x60 [drm]
[ 625.582975] drm_ioctl_kernel+0x5f/0xb0 [drm]
[ 625.583001] drm_ioctl+0x31b/0x3d0 [drm]
[ 625.583027] ? drm_mode_connector_set_obj_prop+0x80/0x80 [drm]
[ 625.583038] ? __handle_mm_fault+0x478/0x5c0
[ 625.583047] ? sock_poll+0x74/0x90
[ 625.583058] do_vfs_ioctl+0xa8/0x630
[ 625.583064] ? handle_mm_fault+0xb1/0x1f0
[ 625.583074] SyS_ioctl+0x79/0x90
[ 625.583083] do_syscall_64+0x73/0x130
[ 625.583093] entry_SYSCALL_64_after_hwframe+0x3d/0xa2
[ 625.583100] RIP: 0033:0x7ff4b642f5d7
[ 625.583105] RSP: 002b:00007ffffc24e798 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[ 625.583112] RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007ff4b642f5d7
[ 625.583117] RDX: 00007ffffc24e7d0 RSI: 00000000c01064ab RDI: 000000000000000c
[ 625.583121] RBP: 00007ffffc24e7d0 R08: 000055b2137c5cd0 R09: 0000000000000008
[ 625.583126] R10: 000055b2137a4140 R11: 0000000000000246 R12: 00000000c01064ab
[ 625.583131] R13: 000000000000000c R14: 000055b213409270 R15: 000055b212cb7b70
[ 625.583137] Code: 0d f6 86 44 02 00 00 40 0f 85 81 00 00 00 83 f8 06 72 77 83 f8 08 76 13 83 f8 0a 75 6d 41 f6 86 60 06 00 00 40 0f 84 dd 00 00 00 <41> f6 84 24 45 02 00 00 08 4d 8d bd 00 01 00 00 74 3e 48 89 df
[ 625.583300] RIP: intel_ddi_post_disable+0x54/0x170 [i915] RSP: ffff9dacc3f97a60
[ 625.583305] CR2: 0000000000000245
[ 625.583311] ---[ end trace 4825f4f3c3ccd1c6 ]---

BIOS / embedded controller / Intel ME version as below

Lenovo X280 model 20KFS05Q00
    BIOS 1.16 (N20ET31W)
    EC 1.05 (N20HT18W)
    ME 11.8.50.3460 (N20RG10W)

ThinkPad USB-C Dock firmware 3.7
    BillBoard(BB) FW: 0.1.0.23
    USB Hub(HX3) FW: 1.14.7.183
    PD(CCG4 DK) FW: 1.3.40
    DP Hub FW: 3.12.005

Tags: bot-comment
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubuntu:
status: New → Confirmed
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. It seems that your bug report is not filed about a specific source package though, rather it is just filed against Ubuntu in general. It is important that bug reports be filed about source packages so that people interested in the package can find the bugs about it. You can find some hints about determining what package your bug might be about at https://wiki.ubuntu.com/Bugs/FindRightPackage. You might also ask for help in the #ubuntu-bugs irc channel on Freenode.

To change the source package that this bug is filed about visit https://bugs.launchpad.net/ubuntu/+bug/1813763/+editstatus and add the package name in the text box next to the word Package.

[This is an automated message. I apologize if it reached you inappropriately; please just reply to this message indicating so.]

tags: added: bot-comment
affects: ubuntu → linux (Ubuntu)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.