New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 627795 link

Starred by 5 users

Issue metadata

Status: Verified
Owner:
Closed: Jul 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Black monitors after monitor unplug after sleep/resume

Reported by dawid.ku...@displaylink.com, Jul 13 2016

Issue description

Chrome Version: Google Chrome 52.0.2743.57 (Official Build) beta (64-bit)
Chrome OS Version: Platform 8350.46.0 (Official Build) beta-channel lulu
Chrome OS Platform: Dell Chromebook 13
Network info: wifi, encrypted, private

Steps To Reproduce:
(1) Connect two monitors to device: one directly and one with DL2 device (UDL)
(2) Go to sleep
(3) Resume
(4) Unplug monitor (this one connected directly or the second)

Expected Result:
Two monitors working (the build it and the second one connected)

Actual Result:
All monitors are black. Event mouse pointer is invisible.

How frequently does this problem reproduce? (Always, sometimes, hard to
reproduce?)
Always

What is the impact to the user, and is there a workaround? If so, what is
it?
Impack is that he needs to restart system. Monitors are black, no mouse visible. It is unusable.
I did not found any workaround. The only thing that looks to work to recover is Alt+x+Power up. But this also doesn't work all the time.

Please provide any additional information below. Attach a screen shot or
log if possible.

After resuming from sleep we can see 'Dear monitor..' message.
When we unplug monitor two remaining monitors works for one second and than they  goes black.

dmesg log attached
 
dmesg.log
40.5 KB View Download
It seems that it is not related to UDL device.
I have seen the same issue when using two external monitors connected via USBC-HDMI adapters.

Reproduced on:
Version: 53.0.2785.4 dev (64-bit)
Platform 8530.6.0 (Official Build) dev-channel chell
Laptop: HP YOK Spyder 13.3



dmesg.log
170 KB View Download
Cc: marc...@chromium.org dnicoara@chromium.org h...@chromium.org
Would it be possible to have a feedback report (with system logs) submitted right after the issue is re-produced (even if a reboot is required)?

I don't have any of the devices to attempt to re-produce the issue. Trying on a ToT samus, I didn't run into that issue.

Not sure if related, but there are a large number of kernel warnings in the second dmesg attached.

[  179.450417] WARNING: CPU: 2 PID: 17583 at /mnt/host/source/src/third_party/kernel/v3.18/drivers/gpu/drm/i915/intel_pm.c:3729 skl_update_other_pipe_wm+0x161/0x1bc()
[  179.450447] WARN_ON(!wm_changed)
[  179.450456] Modules linked in:
[  179.450467]  ccm rfcomm evdi i2c_dev uinput cros_ec_devs cros_usbpd_charger snd_soc_dmic snd_soc_skl_nau88l25_ssm4567 snd_soc_hdac_hdmi snd_soc_skl snd_soc_skl_ipc memconsole_x86_legacy memconsole btusb snd_soc_sst_acpi snd_soc_sst_ipc snd_soc_sst_dsp btrtl snd_hda_ext_core btbcm snd_hda_core btintel bluetooth cros_ec_lpcs fuse zram snd_soc_nau8825 snd_soc_ssm4567 cros_ec_pd_update cros_ec uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables r8152 iwlmvm mii iwlwifi iwl7000_mac80211 cfg80211 joydev snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq snd_seq_device ppp_async ppp_generic slhc tun
[  179.450721] CPU: 2 PID: 17583 Comm: kworker/u8:4 Tainted: G        W      3.18.0-12582-g7614f0e #1
[  179.450741] Hardware name: Hewlett-Packard Chell/Chell, BIOS Google_Chell.7820.121.0 06/03/2016
[  179.450767] Workqueue: events_unbound async_run_entry_fn
[  179.450783]  0000000000000000 0000000017e3f529 ffff88006be8f728 ffffffffb6e227f8
[  179.450808]  0000000000000000 ffff88006be8f780 ffff88006be8f768 ffffffffb683f7d0
[  179.450833]  ffff88006be8f919 ffffffffb6b190be ffff880275a93000 ffff880274a4a008
[  179.450858] Call Trace:
[  179.450874]  [<ffffffffb6e227f8>] dump_stack+0x4e/0x71
[  179.450891]  [<ffffffffb683f7d0>] warn_slowpath_common+0x81/0x9b
[  179.450912]  [<ffffffffb6b190be>] ? skl_update_other_pipe_wm+0x161/0x1bc
[  179.450930]  [<ffffffffb683f83f>] warn_slowpath_fmt+0x55/0x6b
[  179.450950]  [<ffffffffb6b190be>] skl_update_other_pipe_wm+0x161/0x1bc
[  179.450972]  [<ffffffffb6b19346>] skl_update_wm+0x22d/0x773
[  179.451004]  [<ffffffffb6871381>] ? finish_wait+0x64/0x64
[  179.451025]  [<ffffffffb6b1a61b>] intel_update_watermarks+0x1e/0x20
[  179.451044]  [<ffffffffb6b7213b>] haswell_crtc_enable+0x389/0x866
[  179.451062]  [<ffffffffb6b77032>] intel_atomic_commit+0x490/0x689
[  179.451084]  [<ffffffffb6b0a824>] drm_atomic_commit+0x4d/0x52
[  179.451101]  [<ffffffffb6b78e9e>] intel_display_resume+0x112/0x13e
[  179.451119]  [<ffffffffb6b0fad3>] i915_drm_resume+0xf4/0x169
[  179.451137]  [<ffffffffb6b0fb6f>] i915_pm_resume+0x27/0x29
[  179.451155]  [<ffffffffb6a5ed77>] pci_pm_resume+0xc7/0xf1
[  179.451174]  [<ffffffffb688f2c5>] ? ktime_get+0x41/0x52
[  179.451190]  [<ffffffffb6a5ecb0>] ? store_new_id+0x198/0x198
[  179.451210]  [<ffffffffb6bbc9fd>] dpm_run_callback+0x4a/0xae
[  179.451228]  [<ffffffffb6bbcf67>] device_resume+0x184/0x1c6
[  179.451245]  [<ffffffffb6bbcfc7>] async_resume+0x1e/0x45
[  179.451261]  [<ffffffffb685b31a>] async_run_entry_fn+0x38/0xcf
[  179.451279]  [<ffffffffb68543f5>] process_one_work+0x17a/0x2d8
[  179.451297]  [<ffffffffb6854d7a>] worker_thread+0x1fb/0x2ce
[  179.451314]  [<ffffffffb6854b7f>] ? rescuer_thread+0x2d7/0x2d7
[  179.451347]  [<ffffffffb68589c6>] kthread+0x10e/0x116
[  179.451366]  [<ffffffffb68588b8>] ? __kthread_parkme+0x67/0x67
[  179.451385]  [<ffffffffb6e2796c>] ret_from_fork+0x7c/0xb0
[  179.451402]  [<ffffffffb68588b8>] ? __kthread_parkme+0x67/0x67
Uploading output from /var/log/chrome at the moment of failure and after recovery.
627795_samus.zip
18.7 KB Download
Owner: dnicoara@chromium.org
Status: Started (was: Unconfirmed)
Thank you for the additional feedback!

I've tracked the issues down and there are 2 separate bugs here: 
 1) Monitors are blank after unplug and 
 2) There is a "Dear monitor ..." message showing up.

For (1) I've figured out the issue and have a fix up for review: https://codereview.chromium.org/2154743003 (This is the critical bug.)

For (2) I've got a pretty good idea and will work out a fix.
Project Member

Comment 6 by bugdroid1@chromium.org, Jul 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/760bfbf595eb8e4597c971b60c2da1c911481fbd

commit 760bfbf595eb8e4597c971b60c2da1c911481fbd
Author: dnicoara <dnicoara@chromium.org>
Date: Mon Jul 18 15:04:23 2016

Fix queuing of display power state change requests

If a display power change request arrives before the previous one
finishes or if a previous power change request failed the state becomes
inconsistent and future requests are optimized out.

BUG= 627795 
TEST=New unittest in display_unittests and manually checked on Samus

Review-Url: https://codereview.chromium.org/2154743003
Cr-Commit-Position: refs/heads/master@{#405990}

[modify] https://crrev.com/760bfbf595eb8e4597c971b60c2da1c911481fbd/ui/display/chromeos/display_configurator.cc
[modify] https://crrev.com/760bfbf595eb8e4597c971b60c2da1c911481fbd/ui/display/chromeos/display_configurator_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/310889b982ca44844dbb79b409b874f3267c58fe

commit 310889b982ca44844dbb79b409b874f3267c58fe
Author: dnicoara <dnicoara@chromium.org>
Date: Wed Jul 20 14:48:28 2016

Allow idle/suspend with 3+ monitors attached

On Samus it is possible to connect 2 external displays and on other
chromebooks it is possible to connect 2 DisplayLink devices to have
more than 2 monitors. In such cases turning off displays causes the
display configuration to fail and present a "Dear monitor..." message
even though it is possible to turn off these displays.

BUG= 627795 
TEST=display_unittests and ran on Samus with 2 DisplayLink devices attached.

Review-Url: https://codereview.chromium.org/2152303002
Cr-Commit-Position: refs/heads/master@{#406555}

[modify] https://crrev.com/310889b982ca44844dbb79b409b874f3267c58fe/ui/display/chromeos/display_configurator.cc
[modify] https://crrev.com/310889b982ca44844dbb79b409b874f3267c58fe/ui/display/chromeos/display_configurator_unittest.cc
[modify] https://crrev.com/310889b982ca44844dbb79b409b874f3267c58fe/ui/display/chromeos/update_display_configuration_task.cc

Labels: -Pri-3 Merge-Request-53 M-53 Pri-2

Comment 9 by dimu@google.com, Jul 21 2016

Labels: -Merge-Request-53 Merge-Approved-53 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M53 (branch: 2785)
Project Member

Comment 10 by bugdroid1@chromium.org, Jul 21 2016

Labels: -merge-approved-53 merge-merged-2785
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e3b52ec90617f1fc68328068c959e28f2ee23353

commit e3b52ec90617f1fc68328068c959e28f2ee23353
Author: Daniel Nicoara <dnicoara@chromium.org>
Date: Thu Jul 21 15:23:19 2016

Fix queuing of display power state change requests

If a display power change request arrives before the previous one
finishes or if a previous power change request failed the state becomes
inconsistent and future requests are optimized out.

BUG= 627795 
TEST=New unittest in display_unittests and manually checked on Samus

Review-Url: https://codereview.chromium.org/2154743003
Cr-Commit-Position: refs/heads/master@{#405990}
(cherry picked from commit 760bfbf595eb8e4597c971b60c2da1c911481fbd)

Review URL: https://codereview.chromium.org/2172583003 .

Cr-Commit-Position: refs/branch-heads/2785@{#262}
Cr-Branched-From: 68623971be0cfc492a2cb0427d7f478e7b214c24-refs/heads/master@{#403382}

[modify] https://crrev.com/e3b52ec90617f1fc68328068c959e28f2ee23353/ui/display/chromeos/display_configurator.cc
[modify] https://crrev.com/e3b52ec90617f1fc68328068c959e28f2ee23353/ui/display/chromeos/display_configurator_unittest.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Jul 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/44265ba65c8d3b5a59d910fa27cbd1454e5c5806

commit 44265ba65c8d3b5a59d910fa27cbd1454e5c5806
Author: Daniel Nicoara <dnicoara@chromium.org>
Date: Thu Jul 21 15:28:19 2016

Allow idle/suspend with 3+ monitors attached

On Samus it is possible to connect 2 external displays and on other
chromebooks it is possible to connect 2 DisplayLink devices to have
more than 2 monitors. In such cases turning off displays causes the
display configuration to fail and present a "Dear monitor..." message
even though it is possible to turn off these displays.

BUG= 627795 
TEST=display_unittests and ran on Samus with 2 DisplayLink devices attached.

Review-Url: https://codereview.chromium.org/2152303002
Cr-Commit-Position: refs/heads/master@{#406555}
(cherry picked from commit 310889b982ca44844dbb79b409b874f3267c58fe)

Review URL: https://codereview.chromium.org/2170603004 .

Cr-Commit-Position: refs/branch-heads/2785@{#263}
Cr-Branched-From: 68623971be0cfc492a2cb0427d7f478e7b214c24-refs/heads/master@{#403382}

[modify] https://crrev.com/44265ba65c8d3b5a59d910fa27cbd1454e5c5806/ui/display/chromeos/display_configurator.cc
[modify] https://crrev.com/44265ba65c8d3b5a59d910fa27cbd1454e5c5806/ui/display/chromeos/display_configurator_unittest.cc
[modify] https://crrev.com/44265ba65c8d3b5a59d910fa27cbd1454e5c5806/ui/display/chromeos/update_display_configuration_task.cc

Status: Fixed (was: Started)
Cc: jcliang@chromium.org diand...@chromium.org derat@chromium.org dbasehore@chromium.org dbehr@chromium.org osh...@chromium.org
 Issue 620208  has been merged into this issue.
Status: Verified (was: Fixed)
Verified in ChromeOS: 8530.96.0 / 53.0.2785.154

Sign in to add a comment