8086:0412 [Asus B85M-G] No video output after 2nd resume from hibernate

Bug #1250498 reported by b3nmore
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Medium
Unassigned

Bug Description

I'm trying to enable a reliable hibernate/resume cycle on a intel haswell cpu/gpu system with ubuntu 13.10 +xfce. Until now I've failed, because I get three possible outcomes, when resuming (without seeing any pattern). In all cases pm reports, that 'Image restored successfully'; visible on tty1.
Resulting system states after resume:
i) resume just works fine, everything is o.k
ii) X freezes, screen is completely black, mostly no reaction to key strokes (i.e. can't change to ttyX), but ssh is possible
iii) like ii) but network is not reachable (I'd say a complete freeze)

From situation ii) I got a dmesg (attached), which makes me think, that intel gpu driver is to blame.
---
ApportVersion: 2.12.5-0ubuntu2.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: kiran 1525 F.... pulseaudio
 /dev/snd/controlC1: kiran 1525 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
CurrentDmesg:
 [ 29.625714] hda_codec: invalid CONNECT_LIST verb 5[1]:0
 [ 29.625776] hda_codec: invalid CONNECT_LIST verb 6[1]:0
 [ 29.626003] hda_codec: invalid CONNECT_LIST verb 6[1]:0
 [ 29.626067] hda_codec: invalid CONNECT_LIST verb 7[1]:0
DistroRelease: Ubuntu 13.10
HibernationDevice: RESUME=UUID=5ea8b83e-6f6f-4e44-98f6-45ade2c2d6c3
InstallationDate: Installed on 2013-11-16 (8 days ago)
InstallationMedia: Ubuntu-Server 13.10 "Saucy Salamander" - Release amd64 (20131016)
IwConfig:
 p2p1 no wireless extensions.

 lo no wireless extensions.
MachineType: ASUS All Series
MarkForUpload: True
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.11.0-13-generic.efi.signed root=UUID=4fee8160-326f-4688-a0d9-22e158e70f45 ro
ProcVersionSignature: Ubuntu 3.11.0-13.20-generic 3.11.6
RelatedPackageVersions:
 linux-restricted-modules-3.11.0-13-generic N/A
 linux-backports-modules-3.11.0-13-generic N/A
 linux-firmware 1.116
RfKill: Error: [Errno 2] No such file or directory
Tags: saucy
Uname: Linux 3.11.0-13-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
dmi.bios.date: 06/28/2013
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 0410
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: B85M-G
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: Rev X.0x
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr0410:bd06/28/2013:svnASUS:pnAllSeries:pvrSystemVersion:rvnASUSTeKCOMPUTERINC.:rnB85M-G:rvrRevX.0x:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: All Series
dmi.product.version: System Version
dmi.sys.vendor: ASUS

Revision history for this message
b3nmore (b3nmore) wrote :
Revision history for this message
b3nmore (b3nmore) wrote :

I can now reproduce it by hibernating two times. As the attached dmesg shows, resume after first std works fine, resume from the second std onwards results in no video output.
As it may be a kernel issue, I tested it with the 3.11 saucy and the 3.12 tusty kernel. Both show the same behavior.

summary: - haswell, X may freeze after resume
+ haswell, no video output after 2nd resume from suspend to disk (S4)
Revision history for this message
b3nmore (b3nmore) wrote : Re: haswell, no video output after 2nd resume from suspend to disk (S4)

Attached full dmesg with drm.debug=0xe boot option.

Additionally I unplugged/plugged the dvi/vga port after the second resume. The log shows, that those events get registered, but still no video output (monitor goes into power save).

Revision history for this message
b3nmore (b3nmore) wrote :
Download full text (6.4 KiB)

Just to summarize the kernel log on failures (and making this issue easier to locate):

[ 730.725409] [drm:intel_ddi_pll_mode_set] *ERROR* No WRPLLs available!
[ 730.725413] ------------[ cut here ]------------
[ 730.725429] WARNING: CPU: 1 PID: 2213 at /build/buildd/linux-3.11.0/drivers/gpu/drm/i915/intel_display.c:8218 intel_modeset_check_state+0x61d/0x770 [i915]()
[ 730.725430] encoder's hw state doesn't match sw tracking (expected 1, found 0)
[ 730.725447] Modules linked in: nls_iso8859_1(F) snd_hda_codec_hdmi snd_hda_codec_realtek joydev(F) hid_cherry hid_generic usbhid hid x86_pkg_temp_thermal coretemp kvm(F) crct10dif_pclmul(F) crc32_pclmul(F) ghash_clmulni_intel(F) aesni_intel(F) aes_x86_64(F) lrw(F) gf128mul(F) glue_helper(F) ablk_helper(F) cryptd(F) eeepc_wmi asus_wmi sparse_keymap ppdev(F) microcode(F) psmouse(F) serio_raw(F) snd_hda_intel snd_hda_codec snd_hwdep(F) snd_pcm(F) lpc_ich snd_page_alloc(F) i915 drm_kms_helper snd_seq_midi(F) snd_seq_midi_event(F) drm snd_rawmidi(F) parport_pc(F) snd_seq(F) mei_me snd_seq_device(F) snd_timer(F) snd(F) video(F) mac_hid i2c_algo_bit wmi mei soundcore(F) lp(F) parport(F) r8169 ahci(F) libahci(F) mii(F)
[ 730.725448] CPU: 1 PID: 2213 Comm: kworker/u8:89 Tainted: GF 3.11.0-13-generic #20-Ubuntu
[ 730.725449] Hardware name: ASUS All Series/B85M-G, BIOS 0410 06/28/2013
[ 730.725452] Workqueue: events_unbound async_run_entry_fn
[ 730.725454] 0000000000000009 ffff88021215db70 ffffffff816e54ba ffff88021215dbb8
[ 730.725455] ffff88021215dba8 ffffffff81061dbd ffff88021215dc2c 0000000000000001
[ 730.725457] ffff8802108e6000 ffff8802108e6460 ffff880212c58000 ffff88021215dc08
[ 730.725457] Call Trace:
[ 730.725461] [<ffffffff816e54ba>] dump_stack+0x45/0x56
[ 730.725463] [<ffffffff81061dbd>] warn_slowpath_common+0x7d/0xa0
[ 730.725465] [<ffffffff81061e2c>] warn_slowpath_fmt+0x4c/0x50
[ 730.725473] [<ffffffffa018d3d8>] ? intel_ddi_get_hw_state+0x38/0x160 [i915]
[ 730.725480] [<ffffffffa0185fbd>] intel_modeset_check_state+0x61d/0x770 [i915]
[ 730.725486] [<ffffffffa0188d2d>] intel_modeset_setup_hw_state+0x83d/0xad0 [i915]
[ 730.725489] [<ffffffff816e8982>] ? mutex_lock+0x12/0x2f
[ 730.725493] [<ffffffffa0151257>] __i915_drm_thaw+0x117/0x1b0 [i915]
[ 730.725497] [<ffffffffa015168f>] i915_resume+0x6f/0xb0 [i915]
[ 730.725501] [<ffffffffa01516e6>] i915_pm_resume+0x16/0x20 [i915]
[ 730.725504] [<ffffffff813943b4>] pci_pm_restore+0x64/0xb0
[ 730.725506] [<ffffffff81394350>] ? pci_pm_suspend_noirq+0x1a0/0x1a0
[ 730.725508] [<ffffffff8147d144>] dpm_run_callback+0x44/0x90
[ 730.725509] [<ffffffff8147d29e>] device_resume+0xce/0x1f0
[ 730.725510] [<ffffffff8147d3dd>] async_resume+0x1d/0x50
[ 730.725512] [<ffffffff8108b937>] async_run_entry_fn+0x37/0x130
[ 730.725513] [<ffffffff8107d05c>] process_one_work+0x17c/0x430
[ 730.725515] [<ffffffff8107dcac>] worker_thread+0x11c/0x3c0
[ 730.725516] [<ffffffff8107db90>] ? manage_workers.isra.24+0x2a0/0x2a0
[ 730.725518] [<ffffffff810847b0>] kthread+0xc0/0xd0
[ 730.725520] [<ffffffff810846f0>] ? kthread_create_on_node+0x120/0x120
[ 730.725521] [<ffffffff816f51ec>] ret_from_fork+0x7c/0xb0
[ 730.725523] [<...

Read more...

Revision history for this message
b3nmore (b3nmore) wrote :

Same in single user mode, so I guess its a kernel issue.

affects: xserver-xorg-video-intel (Ubuntu) → linux (Ubuntu)
Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1250498

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: trusty
Revision history for this message
b3nmore (b3nmore) wrote : AlsaInfo.txt

apport information

tags: added: apport-collected saucy
description: updated
Revision history for this message
b3nmore (b3nmore) wrote : BootDmesg.txt

apport information

Revision history for this message
b3nmore (b3nmore) wrote : Lspci.txt

apport information

Revision history for this message
b3nmore (b3nmore) wrote : Lsusb.txt

apport information

Revision history for this message
b3nmore (b3nmore) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
b3nmore (b3nmore) wrote : ProcEnviron.txt

apport information

Revision history for this message
b3nmore (b3nmore) wrote : ProcInterrupts.txt

apport information

Revision history for this message
b3nmore (b3nmore) wrote : ProcModules.txt

apport information

Revision history for this message
b3nmore (b3nmore) wrote : PulseList.txt

apport information

Revision history for this message
b3nmore (b3nmore) wrote : UdevDb.txt

apport information

Revision history for this message
b3nmore (b3nmore) wrote : UdevLog.txt

apport information

Revision history for this message
b3nmore (b3nmore) wrote : WifiSyslog.txt

apport information

b3nmore (b3nmore)
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Joseph Salisbury (jsalisbury) wrote : Re: haswell, no video output after 2nd resume from suspend to disk (S4)

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.12 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13-rc1-trusty/

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Revision history for this message
b3nmore (b3nmore) wrote :

Same on 3.13.0-031300rc1-generic tested in single user mode

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: added: kernel-bug-exists-upstream
penalvch (penalvch)
tags: added: bios-outdated-0703
tags: added: kernel-bug-exists-upstream-v3.13-rc1 regression-potential
removed: kernel-bug-exists-upstream
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
tags: added: hibernate resume
summary: - haswell, no video output after 2nd resume from suspend to disk (S4)
+ 8086:0412 [Asus B85M-G] No video output after 2nd resume from hibernate
Revision history for this message
b3nmore (b3nmore) wrote :

No changes at all.

I tested the saucy 3.11 kernel and the 3.13rc1 mainline kernel: After the second resume the screen shows the progress of the resume and then goes into powersave. The system is, apart from the failing video output, fully functional.

The attached kernel logs were made from resume attempts in single user mode.

Revision history for this message
b3nmore (b3nmore) wrote :

kernel log resume with 3.11 in single user mode.

Revision history for this message
b3nmore (b3nmore) wrote :

sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date:
0703
10/30/2013

Sorry for the delay, its (hidden) in the previous kernel logs, so I didn't bother.

penalvch (penalvch)
tags: added: latest-bios-0703
removed: bios-outdated-0703
Revision history for this message
b3nmore (b3nmore) wrote :

> b3nmore, did this problem not occur in a release prior to Saucy?

Can't really tell, I bought it recently and started directly with saucy or trusty respectively. However, I started my old precise 3.2 32bit installation from my previous system (amd athlon xp, nvidia gpu), mainly because I was curious , if it would boot at all. Funny enough it did, but it used the framebuffer to display the video output, due to a problem loading the intel_agp module. And I could hibernate/resume several times.

I'm going to install precise and report back what happens.

Revision history for this message
b3nmore (b3nmore) wrote :

In precise with kernel 3.8.0-33 resume works. I ran it 3 times to be sure. It's weird (or maybe not), according to https://01.org/linuxgraphics/downloads/2013/2013q1-intel-graphics-stack-release full haswell support was reached with 3.8.2.

However the lts-saucy kernel in precise (3.11.0) chokes on the 2nd resume with the known warnings.

Revision history for this message
b3nmore (b3nmore) wrote :

Using 3.11.0.13 kernel (lts-saucy) in precise results in no video output as before.

penalvch (penalvch)
tags: added: needs-bisect regression-release
removed: regression-potential
Revision history for this message
b3nmore (b3nmore) wrote :

A kernel version bisect narrowed it down so far to:
3.9.11-saucy last working version
3.10-rc1-saucy first failing version.

Which git repo should I use for a commit bisect?

Revision history for this message
b3nmore (b3nmore) wrote :

Finally finished a full commit bisect:
5aa1c98862d3f365d9cf6d0833d5dc127d2a76e7 is the first bad commit

penalvch (penalvch)
tags: added: bisect-done
removed: needs-bisect
penalvch (penalvch)
tags: added: needs-upstream-testing
Revision history for this message
b3nmore (b3nmore) wrote :

> b3nmore, thank you for git bisecting. Could you please test the latest mainline kernel via
> http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13-rc6-trusty/ and advise to the results?

Tested 3.13-rc6, same as before.

Revision history for this message
b3nmore (b3nmore) wrote :

In the original bug description I mentioned, that resume may also result in a complete system freeze (no more ssh, hard reset necessary). I believe, I found out how to trigger it: it depends on whether the power is cut completely during hibernation.
The situation is now:
i) computer stays plugged to the main during hibernation -> first resume succeeds, second fails (as discussed)
ii) computer is cut off from main (e.g. power supply cable pulled) -> first resume results in a complete freeze (shortly after hibernation image is restored to 100%)

As a side note: from watching the console log during resume, I would say, that the system fails on the same resume stage in either of the above mentioned cases.

Revision history for this message
b3nmore (b3nmore) wrote :

I've tested 3.9.11 again against the new test case: resume works as long as the power supply cable stays plugged and fails if the power supply is cut off completely.
That means, in my case resume from hibernate is broken for all kernel version, if the pc is disconnected from the mains during hibernation.

Revision history for this message
penalvch (penalvch) wrote :

b3nmore, the issue you are reporting is an upstream one. Could you please report this problem through the appropriate channel by following the instructions _verbatim_ at https://wiki.ubuntu.com/Bugs/Upstream/kernel ?

Please provide a direct URL to your e-mail to the mailing list once you have made it so that it may be tracked.

Thank you for your understanding.

tags: added: kernel-bug-exists-upstream-v3.13-rc6
removed: kernel-bug-exists-upstream-v3.13-rc1 needs-upstream-testing
Changed in linux (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
b3nmore (b3nmore) wrote :
penalvch (penalvch)
tags: added: kernel-fixed-upstream-3.14-rc1
removed: kernel-bug-exists-upstream-v3.13-rc6
tags: added: needs-reverse-bisect
Revision history for this message
b3nmore (b3nmore) wrote :

Out of curiosity I've tested the latest official trusty kernel (3.13.0-30-generic) and found, that this issue is fixed now.

It seems, that one/some of the backports of 3.14-rc1 or later, which went into the kernel updates, was the one which solved this bug as seen upstream. I might add, that I didn't identify the exact version/update, when resuming fromhibernation started to work properly again, but with 3.13.0-30 it definitively does.

Revision history for this message
penalvch (penalvch) wrote :

b3nmore, this bug report is being closed due to your last comment https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1250498/comments/40 regarding this being fixed with an update. For future reference you can manage the status of your own bugs by clicking on the current status in the yellow line and then choosing a new status in the revealed drop down box. You can learn more about bug statuses at https://wiki.ubuntu.com/Bugs/Status. Thank you again for taking the time to report this bug and helping to make Ubuntu better. Please submit any future bugs you may find.

Changed in linux (Ubuntu):
status: Triaged → Invalid
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.