NetBSD Problem Report #52409
From makoto@h81.i.ki.nu Sun Jul 16 04:46:21 2017
Return-Path: <makoto@h81.i.ki.nu>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 909277A214
for <gnats-bugs@gnats.NetBSD.org>; Sun, 16 Jul 2017 04:46:21 +0000 (UTC)
Message-Id: <201707160446.v6G4kHQx007335@h81.i.ki.nu>
Date: Sun, 16 Jul 2017 13:46:17 +0900 (JST)
From: makoto@ki.nu
Reply-To: makoto@ki.nu
To: gnats-bugs@NetBSD.org
Subject: uvm_fault when waking up after sleep (Let's Note CF-{N,S}-9, etc.)
X-Send-Pr-Version: 3.95
>Number: 52409
>Category: kern
>Synopsis: uvm_fault when waking up after sleep (Let's Note CF-{N,S}-9, etc.)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jul 16 04:50:00 +0000 2017
>Closed-Date: Mon Jun 04 10:21:35 +0000 2018
>Last-Modified: Mon Jun 04 10:21:35 +0000 2018
>Originator: Makoto Fujiwara
>Release: NetBSD 8.99.1
>Organization:
KINU Corporation
>Environment:
NetBSD 8.99.1 (GENERIC) #0: Sat Jul 15 10:17:09 UTC 2017
mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC
Architecture: x86_64
Machine: amd64
>Description:
At waking up after sleep state,
(1) In file sys/external/bsd/drm2/pci/drm_pci.c,
---------------------
234 static int
235 drm_pci_irq_install(struct drm_device *dev, irqreturn_t (*handler)(void *),
236 int flags, const char *name, void *arg, struct drm_bus_irq_cookie **cookiep)
... (omit) ...
253 intrstr = pci_intr_string(pa->pa_pc, irq_cookie->intr_handles[0],
254 intrbuf, sizeof(intrbuf));
---------------------
at the line 253, irq_cookie->intr_handles == 0,
which causes following trap.
acpi0: entering state S3
Flushing disk caches: 10 done
ioapic0 reenabling
uvm_fault(0xffffe40110dc68b8, 0x0, 1) -> e
fatal page fault in supervisor mode
trap type 6 code 0 rip 0xffffffff806435c8 cs 0x8 rflags 0x10202 cr2 0 ilevel 0 rsp 0xffffe4004003baa0
curlwp 0xffffe40115c38480 pid 823.1 lowest kstack 0xffffe400400382c0
panic: trap
cpu0: Begin traceback...
vpanic() at netbsd:vpanic+0x140
snprintf() at netbsd:snprintf
trap() at netbsd:trap+0xc6b
--- trap (number 6) ---
drm_pci_irq_install() at netbsd:drm_pci_irq_install+0x90
drm_irq_install() at netbsd:drm_irq_install+0xb7
__i915_drm_thaw() at netbsd:__i915_drm_thaw+0xc9
i915drmkms_resume() at netbsd:i915drmkms_resume+0x34
device_pmf_driver_resume() at netbsd:device_pmf_driver_resume+0x46
pmf_device_resume_locked() at netbsd:pmf_device_resume_locked+0xd3
pmf_device_resume() at netbsd:pmf_device_resume+0x41
pmf_system_resume() at netbsd:pmf_system_resume+0xc7
acpi_enter_sleep_state() at netbsd:acpi_enter_sleep_state+0x182
sysctl_hw_acpi_sleepstate() at netbsd:sysctl_hw_acpi_sleepstate+0xfe
sysctl_dispatch() at netbsd:sysctl_dispatch+0xc1
sys___sysctl() at netbsd:sys___sysctl+0xd8
syscall() at netbsd:syscall+0x1d8
--- syscall (number 202) ---
727e27b1bb6a:
cpu0: End traceback...
dumping to dev 0,1 (offset=8802119, size=997005):
dump Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 8.99.1 (GENERIC) #0: Sat Jul 15 10:17:09 UTC 2017
mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC
total memory = 3894 MB
avail memory = 3759 MB
>How-To-Repeat:
1. Have the machine, Let's Note CF-N9 or CF-S9. CF-J10.
(SX2 or N10 are OK for this purpose, but they have another
problem)
2. Install 8.99.1 from the daily
http://nycdn.netbsd.org/pub/NetBSD-daily/HEAD/201707151110Z/amd64/
3. Replace lid_switch by sleep_button in followin path.
ls -lt /etc/powerd/scripts/{sl*,lid*}
-r-xr-xr-x 1 root wheel 1035 Jul 8 00:41 /etc/powerd/scripts/lid_switch
-r-xr-xr-x 1 root wheel 513 Mar 12 03:45 /etc/powerd/scripts/lid_switch.orig
-r-xr-xr-x 1 root wheel 1035 Mar 12 03:45 /etc/powerd/scripts/sleep_button
4. Boot the machine
5. When you see login: prompt, close the lid
(PC gets sleep) .. this works only once after reboot.
see another PR
42051 lid switch works only once
49024 Powerd invokes lid_switch by acpilid only ONCE after boot
6. Wait few seconds, and open the lid
7. You may see some lines for trap or panic (sometimes may not), and soon
screen gets dark out and one or two mins later, it will reboot automatically
Note: (a) in above, don't set ddb.onpanic to 1.
Note: (b) You may replace the procedure 3 to 5 above,
login and do
sudo sysctl -w hw.acpi.sleep.state=3
may give the equivalent effect.
>Fix:
diff --git a/sys/external/bsd/drm2/i915drm/i915_pci.c b/sys/external/bsd/drm2/i915drm/i915_pci.c
index 3ba85bc531c..5b46e472102 100644
--- a/sys/external/bsd/drm2/i915drm/i915_pci.c
+++ b/sys/external/bsd/drm2/i915drm/i915_pci.c
@@ -241,6 +241,7 @@ i915drmkms_resume(device_t self, const pmf_qual_t *qual)
if (dev == NULL)
return true;
+ pci_enable_msi(dev->pdev);
ret = i915_drm_thaw_early(dev);
if (ret)
>Release-Note:
>Audit-Trail:
From: coypu@sdf.org
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: kern/52409: uvm_fault when waking up after sleep (Let's Note
CF-{N,S}-9, etc.)
Date: Sun, 16 Jul 2017 06:58:04 +0000
Hi,
I see that the other code has:
1784 /* On the 945G/GM, the chipset reports the MSI capability on the
1785 * integrated graphics even though the support isn't actually there
1786 * according to the published specs. It doesn't appear to function
1787 * correctly in testing on 945G.
1788 * This may be a side effect of MSI having been made available for PEG
1789 * and the registers being closely associated.
1790 *
1791 * According to chipset errata, on the 965GM, MSI interrupts may
1792 * be lost or delayed, but we use them anyways to avoid
1793 * stuck interrupts on some machines.
1794 */
1795 if (!IS_I945G(dev) && !IS_I945GM(dev))
1796 pci_enable_msi(dev->pdev);
So maybe limit this on resume too.
From: mlelstv@serpens.de (Michael van Elst)
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: kern/52409: uvm_fault when waking up after sleep (Let's Note CF-{N,S}-9, etc.)
Date: Sun, 16 Jul 2017 08:56:55 -0000 (UTC)
makoto@ki.nu writes:
>(1) In file sys/external/bsd/drm2/pci/drm_pci.c,
> ---------------------
> 234 static int
> 235 drm_pci_irq_install(struct drm_device *dev, irqreturn_t (*handler)(void *),
> 236 int flags, const char *name, void *arg, struct drm_bus_irq_cookie **cookiep)
> ... (omit) ...
> 253 intrstr = pci_intr_string(pa->pa_pc, irq_cookie->intr_handles[0],
Can you try:
http://ftp.netbsd.org/pub/NetBSD/misc/mlelstv/drm_pci.diff
?
--
--
Michael van Elst
Internet: mlelstv@serpens.de
"A potential Snark may lurk in every tree."
From: Makoto Fujiwara <makoto@ki.nu>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: kern/52409: uvm_fault when waking up after sleep (Let's Note CF-{N,S}-9, etc.)
Date: Sun, 16 Jul 2017 21:46:43 +0900
Michael, thanks for the Response,
| From: mlelstv@serpens.de (Michael van Elst)
| Date: Sun, 16 Jul 2017 09:00:02 +0000 (UTC)
> Can you try:
> http://ftp.netbsd.org/pub/NetBSD/misc/mlelstv/drm_pci.diff
Unfortunately, (1) crashes again (2) /var/crash does not have files
Following is from /var/run/dmesg.boot
....
sockaddr_getsize_by_family: Unhandled address family=255
acpi0: entering state S3
Flushing disk caches: 4 done
ioapic0 reenabling
i915drmkms0: interrupting at msi0 vec 0 (i915)
fatal protection fault in supervisor mode
trap type 4 code 0x31b rip 0xffffffff80253a43 cs 0x8 rflags 0x10246 cr2 0x77a18fc35000 ilevel 0 rsp 0xffffe400
40013960
curlwp 0xffffe401088b7360 pid 178.1 lowest kstack 0xffffe400400102c0
panic: trap
cpu0: Begin traceback...
vpanic() at netbsd:vpanic+0x140
snprintf() at netbsd:snprintf
trap() at netbsd:trap+0xc6b
--- trap (number 4) ---
lapic_delay() at netbsd:lapic_delay+0x7b
ironlake_crtc_enable() at netbsd:ironlake_crtc_enable+0x58a
__intel_set_mode() at netbsd:__intel_set_mode+0x916
intel_modeset_setup_hw_state() at netbsd:intel_modeset_setup_hw_state+0x7e6
__i915_drm_thaw() at netbsd:__i915_drm_thaw+0xe6
i915drmkms_resume() at netbsd:i915drmkms_resume+0x34
device_pmf_driver_resume() at netbsd:device_pmf_driver_resume+0x46
pmf_device_resume_locked() at netbsd:pmf_device_resume_locked+0xd3
pmf_device_resume() at netbsd:pmf_device_resume+0x41
pmf_system_resume() at netbsd:pmf_system_resume+0xc7
acpi_enter_sleep_state() at netbsd:acpi_enter_sleep_state+0x182
sysctl_hw_acpi_sleepstate() at netbsd:sysctl_hw_acpi_sleepstate+0xfe
sysctl_dispatch() at netbsd:sysctl_dispatch+0xc1
sys___sysctl() at netbsd:sys___sysctl+0xd8
syscall() at netbsd:syscall+0x1d8
--- syscall (number 202) ---
780ec371bb6a:
cpu0: End traceback...
dumping to dev 0,1 (offset=8802119, size=997005):
dump
Thank you,
---
Makoto Fujiwara,
Chiba, Japan, Narita Airport and Disneyland prefecture.
Key fingerprint = 0BFA FAEB EAD1 90BA 7498 8F85 6809 9E0B B7EF A12E
From: Kimihiro Nonaka <nonakap@gmail.com>
To: "gnats-bugs@netbsd.org" <gnats-bugs@netbsd.org>
Cc: kern-bug-people@netbsd.org,
"gnats-admin@netbsd.org" <gnats-admin@netbsd.org>, "netbsd-bugs@netbsd.org" <netbsd-bugs@netbsd.org>
Subject: Re: kern/52409: uvm_fault when waking up after sleep (Let's Note
CF-{N,S}-9, etc.)
Date: Wed, 19 Jul 2017 11:45:52 +0900
--001a114dd5907218ed0554a2a1d1
Content-Type: text/plain; charset="UTF-8"
Hi,
> (1) In file sys/external/bsd/drm2/pci/drm_pci.c,
> ---------------------
> 234 static int
> 235 drm_pci_irq_install(struct drm_device *dev, irqreturn_t (*handler)(void *),
> 236 int flags, const char *name, void *arg, struct drm_bus_irq_cookie **cookiep)
>
> ... (omit) ...
> 253 intrstr = pci_intr_string(pa->pa_pc, irq_cookie->intr_handles[0],
> 254 intrbuf, sizeof(intrbuf));
> ---------------------
> at the line 253, irq_cookie->intr_handles == 0,
> which causes following trap.
Could you try the attached patch?
Regards,
--
Kimihiro Nonaka
--001a114dd5907218ed0554a2a1d1
Content-Type: text/plain; charset="US-ASCII"; name="drm_pci.c.diff"
Content-Disposition: attachment; filename="drm_pci.c.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_j5aeo7yu0
ZGlmZiAtLWdpdCBhL3N5cy9leHRlcm5hbC9ic2QvZHJtMi9wY2kvZHJtX3BjaS5jIGIvc3lzL2V4
dGVybmFsL2JzZC9kcm0yL3BjaS9kcm1fcGNpLmMKaW5kZXggOWYzNzI5ZTMzZGQuLmZjNzEzMmRh
Yjk5IDEwMDY0NAotLS0gYS9zeXMvZXh0ZXJuYWwvYnNkL2RybTIvcGNpL2RybV9wY2kuYworKysg
Yi9zeXMvZXh0ZXJuYWwvYnNkL2RybTIvcGNpL2RybV9wY2kuYwpAQCAtMjQzLDExICsyNDMsMTcg
QEAgZHJtX3BjaV9pcnFfaW5zdGFsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpcnFyZXR1cm5f
dCAoKmhhbmRsZXIpKHZvaWQgKiksCiAJaXJxX2Nvb2tpZSA9IGttZW1fYWxsb2Moc2l6ZW9mKCpp
cnFfY29va2llKSwgS01fU0xFRVApOwogCiAJaWYgKGRldi0+cGRldi0+bXNpX2VuYWJsZWQpIHsK
LQkJaXJxX2Nvb2tpZS0+aW50cl9oYW5kbGVzID0gZGV2LT5wZGV2LT5pbnRyX2hhbmRsZXM7Ci0J
CWRldi0+cGRldi0+aW50cl9oYW5kbGVzID0gTlVMTDsKKwkJaWYgKGRldi0+cGRldi0+aW50cl9o
YW5kbGVzID09IE5VTEwpIHsKKwkJCWlmIChwY2lfbXNpX2FsbG9jX2V4YWN0KHBhLCAmaXJxX2Nv
b2tpZS0+aW50cl9oYW5kbGVzLAorCQkJICAgIDEpKQorCQkJCWdvdG8gZXJyb3I7CisJCX0gZWxz
ZSB7CisJCQlpcnFfY29va2llLT5pbnRyX2hhbmRsZXMgPSBkZXYtPnBkZXYtPmludHJfaGFuZGxl
czsKKwkJCWRldi0+cGRldi0+aW50cl9oYW5kbGVzID0gTlVMTDsKKwkJfQogCX0gZWxzZSB7CiAJ
CWlmIChwY2lfaW50eF9hbGxvYyhwYSwgJmlycV9jb29raWUtPmludHJfaGFuZGxlcykpCi0JCQly
ZXR1cm4gLUVOT0VOVDsKKwkJCWdvdG8gZXJyb3I7CiAJfQogCiAJaW50cnN0ciA9IHBjaV9pbnRy
X3N0cmluZyhwYS0+cGFfcGMsIGlycV9jb29raWUtPmludHJfaGFuZGxlc1swXSwKQEAgLTI1Nywx
MiArMjYzLDE3IEBAIGRybV9wY2lfaXJxX2luc3RhbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg
aXJxcmV0dXJuX3QgKCpoYW5kbGVyKSh2b2lkICopLAogCWlmIChpcnFfY29va2llLT5paF9jb29r
aWUgPT0gTlVMTCkgewogCQlhcHJpbnRfZXJyb3JfZGV2KGRldi0+ZGV2LAogCQkgICAgImNvdWxk
bid0IGVzdGFibGlzaCBpbnRlcnJ1cHQgYXQgJXMgKCVzKVxuIiwgaW50cnN0ciwgbmFtZSk7Ci0J
CXJldHVybiAtRU5PRU5UOworCQlwY2lfaW50cl9yZWxlYXNlKHBhLT5wYV9wYywgaXJxX2Nvb2tp
ZS0+aW50cl9oYW5kbGVzLCAxKTsKKwkJZ290byBlcnJvcjsKIAl9CiAKIAlhcHJpbnRfbm9ybWFs
X2RldihkZXYtPmRldiwgImludGVycnVwdGluZyBhdCAlcyAoJXMpXG4iLCBpbnRyc3RyLCBuYW1l
KTsKIAkqY29va2llcCA9IGlycV9jb29raWU7CiAJcmV0dXJuIDA7CisKK2Vycm9yOgorCWttZW1f
ZnJlZShpcnFfY29va2llLCBzaXplb2YoKmlycV9jb29raWUpKTsKKwlyZXR1cm4gLUVOT0VOVDsK
IH0KIAogc3RhdGljIHZvaWQK
--001a114dd5907218ed0554a2a1d1--
From: Makoto Fujiwara <makoto@ki.nu>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: kern/52409: uvm_fault when waking up after sleep (Let's Note CF-{N,S}-9, etc.)
Date: Wed, 19 Jul 2017 23:45:45 +0900
Thanks nonaka@, yes, your patch works fine on Let's Note CF-N9.
Thank you,
---
Makoto Fujiwara,
Chiba, Japan, Narita Airport and Disneyland prefecture.
http://www.ki.nu/~makoto/pkgsrc/check-update/00_Summary.html
Key fingerprint = 0BFA FAEB EAD1 90BA 7498 8F85 6809 9E0B B7EF A12E
From: coypu@sdf.org
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: kern/52409: uvm_fault when waking up after sleep (Let's Note
CF-{N,S}-9, etc.)
Date: Wed, 26 Jul 2017 11:40:17 +0000
Please commit
From: "NONAKA Kimihiro" <nonaka@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/52409 CVS commit: src/sys/external/bsd/drm2/pci
Date: Thu, 27 Jul 2017 02:11:24 +0000
Module Name: src
Committed By: nonaka
Date: Thu Jul 27 02:11:24 UTC 2017
Modified Files:
src/sys/external/bsd/drm2/pci: drm_pci.c
Log Message:
PR/52409: Avoid panic at resume.
XXX: pullup-8
To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/external/bsd/drm2/pci/drm_pci.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: Kimihiro Nonaka <nonakap@gmail.com>
To: "gnats-bugs@netbsd.org" <gnats-bugs@netbsd.org>
Cc: kern-bug-people@netbsd.org,
"gnats-admin@netbsd.org" <gnats-admin@netbsd.org>, "netbsd-bugs@netbsd.org" <netbsd-bugs@netbsd.org>,
=?UTF-8?B?6Jek5Y6fIOiqoA==?= <makoto@ki.nu>
Subject: Re: kern/52409: uvm_fault when waking up after sleep (Let's Note
CF-{N,S}-9, etc.)
Date: Thu, 27 Jul 2017 16:19:23 +0900
Could you try src/sys/external/bsd/drm2/pci/drm_pci.c 1.18?
2017-07-19 23:45 GMT+09:00 Makoto Fujiwara <makoto@ki.nu>:
> The following reply was made to PR kern/52409; it has been noted by GNATS.
>
> From: Makoto Fujiwara <makoto@ki.nu>
> To: gnats-bugs@netbsd.org
> Cc:
> Subject: Re: kern/52409: uvm_fault when waking up after sleep (Let's Note CF-{N,S}-9, etc.)
> Date: Wed, 19 Jul 2017 23:45:45 +0900
>
> Thanks nonaka@, yes, your patch works fine on Let's Note CF-N9.
>
> Thank you,
> ---
> Makoto Fujiwara,
> Chiba, Japan, Narita Airport and Disneyland prefecture.
> http://www.ki.nu/~makoto/pkgsrc/check-update/00_Summary.html
> Key fingerprint = 0BFA FAEB EAD1 90BA 7498 8F85 6809 9E0B B7EF A12E
>
Regards,
--
Kimihiro Nonaka
From: "Soren Jacobsen" <snj@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/52409 CVS commit: [netbsd-8] src/sys/external/bsd/drm2/pci
Date: Tue, 1 Aug 2017 23:12:06 +0000
Module Name: src
Committed By: snj
Date: Tue Aug 1 23:12:06 UTC 2017
Modified Files:
src/sys/external/bsd/drm2/pci [netbsd-8]: drm_pci.c
Log Message:
Pull up following revision(s) (requested by nonaka in ticket #163):
sys/external/bsd/drm2/pci/drm_pci.c: revision 1.18
PR/52409: Avoid panic at resume.
To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.17.2.1 src/sys/external/bsd/drm2/pci/drm_pci.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: open->closed
State-Changed-By: maya@NetBSD.org
State-Changed-When: Mon, 04 Jun 2018 10:21:35 +0000
State-Changed-Why:
fixed and pulled up to -8. This specific code segment was changed between netbsd-7 and netbsd-8. since I could preivously suspend with the old code, I suspect it wasn't a problem with it.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.