NetBSD Problem Report #53135

From www@NetBSD.org  Tue Mar 27 17:37:08 2018
Return-Path: <www@NetBSD.org>
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 "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id B05FD7A1D3
	for <gnats-bugs@gnats.NetBSD.org>; Tue, 27 Mar 2018 17:37:08 +0000 (UTC)
Message-Id: <20180327173704.688E87A1EE@mollari.NetBSD.org>
Date: Tue, 27 Mar 2018 17:37:04 +0000 (UTC)
From: venture37@geeklan.co.uk
Reply-To: venture37@geeklan.co.uk
To: gnats-bugs@NetBSD.org
Subject: envstat(8) hangs in tstile
X-Send-Pr-Version: www-1.0

>Number:         53135
>Category:       port-amd64
>Synopsis:       envstat(8) hangs in tstile
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-amd64-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Mar 27 17:40:00 +0000 2018
>Last-Modified:  Sun Jul 30 12:05:02 +0000 2023
>Originator:     Sevan Janiyan
>Release:        NetBSD 8.99.14 Mon Mar 26 21:43:30 UTC 2018
>Organization:
>Environment:
>Description:
On a fresh install of NetBSD/amd64 on a Lenovo Yoga 3 14, executing envstat just hangs in turnstile and cannot be killed, even as root with -9.

I'm not sure if this is system specific or not as I'm unable to test on other amd64 systems at the moment, but here's the dmesg from the system I'm experiencing the issue on:

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017,
    2018 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.14 (GENERIC) #0: Mon Mar 26 21:43:30 UTC 2018
	mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC
total memory = 8073 MB
avail memory = 7815 MB
cpu_rng: RDSEED
rnd: seeded with 128 bits
timecounter: Timecounters tick every 10.000 msec
Kernelized RAIDframe activated
running cgd selftest aes-xts-256 aes-xts-512 done
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
LENOVO 80JH (Lenovo Yoga 3 14)
mainbus0 (root)
ACPI: RSDP 0x00000000000F0150 000024 (v02 LENOVO)
ACPI: XSDT 0x00000000ACFFE1C0 0000F4 (v01 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: FACP 0x00000000ACFFA000 00010C (v05 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: DSDT 0x00000000ACFE2000 012E76 (v02 LENOVO BDW      00000000 INTL 20120711)
ACPI: FACS 0x00000000ACF7B000 000040
ACPI: SSDT 0x00000000ACFFD000 0003D0 (v01 LENOVO OEMTABLE 00001000 INTL 20120711)
ACPI: ASF! 0x00000000ACFFC000 0000A5 (v32 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: HPET 0x00000000ACFF9000 000038 (v01 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: LPIT 0x00000000ACFF8000 000094 (v01 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: APIC 0x00000000ACFF7000 000098 (v01 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: MCFG 0x00000000ACFF6000 00003C (v01 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: WDAT 0x00000000ACFF5000 000104 (v01 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: SSDT 0x00000000ACFE1000 000250 (v01 LENOVO sensrhub 00000000 INTL 20120711)
ACPI: SSDT 0x00000000ACFDD000 00340B (v01 LENOVO PtidDevc 00001000 INTL 20120711)
ACPI: SSDT 0x00000000ACFDA000 002472 (v02 LENOVO SDS_RTD3 00001000 INTL 20120711)
ACPI: SSDT 0x00000000ACFD7000 002C73 (v02 LENOVO ULX_RTD3 00001000 INTL 20120711)
ACPI: SSDT 0x00000000ACFD4000 002225 (v02 LENOVO DptfTabl 00001000 INTL 20120711)
ACPI: SSDT 0x00000000ACFD3000 000539 (v02 LENOVO Cpu0Ist  00003000 INTL 20120711)
ACPI: SSDT 0x00000000ACFD2000 000B74 (v02 LENOVO CpuSsdt  00003000 INTL 20120711)
ACPI: SSDT 0x00000000ACFCC000 005D42 (v02 LENOVO SaSsdt   00003000 INTL 20120711)
ACPI: SSDT 0x00000000ACFCB000 000394 (v02 LENOVO CppcTabl 00001000 INTL 20120711)
ACPI: PCCT 0x00000000ACFCA000 00006E (v05 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: SSDT 0x00000000ACFC9000 000AC4 (v01 LENOVO Cpc_Tabl 00001000 INTL 20120711)
ACPI: UEFI 0x00000000ACFC8000 000042 (v01 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: MSDM 0x00000000ACF55000 000055 (v03 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: BATB 0x00000000ACFC7000 000046 (v01 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: FPDT 0x00000000ACFC6000 000064 (v01 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: SLIC 0x00000000ACFC5000 000176 (v01 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: UEFI 0x00000000ACFC4000 000292 (v01 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: DMAR 0x00000000ACFC2000 0000CC (v01 LENOVO CB-01    00000002 PTEC 00000002)
ACPI: Executed 17 blocks of module-level executable AML code
ACPI: Executed 1 blocks of module-level executable AML code
ACPI: Executed 1 blocks of module-level executable AML code
ACPI: 12 ACPI AML tables successfully acquired and loaded
ioapic0 at mainbus0 apid 2: pa 0xfec00000, version 0x20, 40 pins
x2APIC available but disabled by DMAR table
cpu0 at mainbus0 apid 0
cpu0: Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz, id 0x306d4
cpu0: package 0, core 0, smt 0
cpu1 at mainbus0 apid 1
cpu1: Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz, id 0x306d4
cpu1: package 0, core 0, smt 1
cpu2 at mainbus0 apid 2
cpu2: Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz, id 0x306d4
cpu2: package 0, core 1, smt 0
cpu3 at mainbus0 apid 3
cpu3: Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz, id 0x306d4
cpu3: package 0, core 1, smt 1
acpi0 at mainbus0: Intel ACPICA 20171110
acpi0: X/RSDT: OemId <LENOVO,CB-01   ,00000002>, AslId <PTEC,00000002>
ACPI Error: No handler for Region [ERAM] (0xffffe4024cd4e378) [EmbeddedControl] (20171110/evregion-183)
ACPI Error: Region EmbeddedControl (ID=3) has no handler (20171110/exfldio-323)
ACPI Error: Method parse/execution failed \_SB.PCI0.LPCB.EC0.BAT0._STA, AE_NOT_EXIST (20171110/psparse-569)
ACPI Error: Method execution failed \_SB.PCI0.LPCB.EC0.BAT0._STA, AE_NOT_EXIST (20171110/uteval-111)
acpi0: MCFG: segment 0, bus 0-63, address 0x00000000f8000000
ACPI: Dynamic OEM Table Load:
ACPI: SSDT 0xFFFFE4024CC91C10 0003D3 (v02 PmRef  Cpu0Cst  00003001 INTL 20120711)
ACPI: Dynamic OEM Table Load:
ACPI: SSDT 0xFFFFE4010E75A010 0005AA (v02 PmRef  ApIst    00003000 INTL 20120711)
ACPI: Dynamic OEM Table Load:
ACPI: SSDT 0xFFFFE4010E68E690 000119 (v02 PmRef  ApCst    00003000 INTL 20120711)
ACPI Error: No handler for Region [ERAM] (0xffffe4024cd4e378) [EmbeddedControl] (20171110/evregion-183)
ACPI Error: Region EmbeddedControl (ID=3) has no handler (20171110/exfldio-323)
ACPI Error: Method parse/execution failed \_SB.PCI0.LPCB.EC0.BAT0._STA, AE_NOT_EXIST (20171110/psparse-569)
ACPI Error: Method execution failed \_SB.PCI0.LPCB.EC0.BAT0._STA, AE_NOT_EXIST (20171110/uteval-111)
acpi0: SCI interrupting at int 9
timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
hpet0 at acpi0: high precision event timer (mem 0xfed00000-0xfed00400)
timecounter: Timecounter "hpet0" frequency 14318180 Hz quality 2000
acpiec0 at acpi0 (EC0, PNP0C09-1): io 0x62,0x66
acpivga0 at acpi0 (GFX0): ACPI Display Adapter
acpiout0 at acpivga0 (DD01, 0x0100): ACPI Display Output Device
acpiout1 at acpivga0 (DD02, 0x0002): ACPI Display Output Device
acpiout2 at acpivga0 (DD03, 0x0300): ACPI Display Output Device
acpiout3 at acpivga0 (DD04, 0x0301): ACPI Display Output Device
acpiout4 at acpivga0 (DD05, 0x0302): ACPI Display Output Device
acpiout5 at acpivga0 (DD06, 0x0303): ACPI Display Output Device
acpiout6 at acpivga0 (DD07, 0x0304): ACPI Display Output Device
acpiout7 at acpivga0 (DD08, 0x0305): ACPI Display Output Device
acpiout8 at acpivga0 (DD09, 0x0009): ACPI Display Output Device
acpiout9 at acpivga0 (DD0A, 0x000a): ACPI Display Output Device
acpiout10 at acpivga0 (DD0B, 0x000b): ACPI Display Output Device
acpiout11 at acpivga0 (DD0C, 0x000c): ACPI Display Output Device
acpiout12 at acpivga0 (DD0D, 0x000d): ACPI Display Output Device
acpiout13 at acpivga0 (DD0E, 0x000e): ACPI Display Output Device
acpiout14 at acpivga0 (DD0F, 0x000f): ACPI Display Output Device
acpiout15 at acpivga0 (DD1F, 0x0400): ACPI Display Output Device
acpiout15: brightness levels: [2-100]
acpivga0: unknown output device acpiout0
acpivga0: unknown output device acpiout1
acpivga0: unknown output device acpiout2
acpivga0: unknown output device acpiout3
acpivga0: unknown output device acpiout4
acpivga0: unknown output device acpiout5
acpivga0: unknown output device acpiout6
acpivga0: unknown output device acpiout7
acpivga0: unknown output device acpiout8
acpivga0: unknown output device acpiout9
acpivga0: unknown output device acpiout10
acpivga0: unknown output device acpiout11
acpivga0: unknown output device acpiout12
acpivga0: unknown output device acpiout13
acpivga0: unknown output device acpiout14
acpivga0: connected output devices:
acpivga0:   0x0400 (acpiout15): Unknown Output Device, head 0
acpibat0 at acpi0 (BAT0, PNP0C0A-1): ACPI Battery
acpibat0: LENOVO Li Polymer rechargeable battery
acpibat0: granularity: low->warn 0.100 Wh, warn->full 0.000 Wh
VPC0 (VPC2004) at acpi0 not configured
CIND (CIND0C60) at acpi0 not configured
FWHD (INT0800) at acpi0 not configured
LDRC (PNP0C02) at acpi0 not configured
attimer1 at acpi0 (TIMR, PNP0100): io 0x40-0x43,0x50-0x53 irq 0
CWDT (INT3F0D) at acpi0 not configured
pckbc1 at acpi0 (PS2K, MSFT0001) (kbd port): io 0x60,0x64 irq 1
pckbc2 at acpi0 (PS2M, ETD0635) (aux port): irq 12
SIRC (PNP0C02) at acpi0 not configured
PDRC (PNP0C02) at acpi0 not configured
acpiacad0 at acpi0 (ADP0, ACPI0003): ACPI AC Adapter
acpilid0 at acpi0 (LID0, PNP0C0D): ACPI Lid Switch
acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
acpiwmi0 at acpi0 (WMI1, PNP0C14-LPLW): ACPI WMI Interface
acpiwmibus at acpiwmi0 not configured
VPC1 (IDEA2000) at acpi0 not configured
acpiwmi1 at acpi0 (LSE1, PNP0C14-0): ACPI WMI Interface
acpiwmibus at acpiwmi1 not configured
PTID (INT340E) at acpi0 not configured
IETM (INT3400) at acpi0 not configured
PCCD (INT340F) at acpi0 not configured
acpiwmi2 at acpi0 (WMTF, PNP0C14-TBFP): ACPI WMI Interface
acpiwmibus at acpiwmi2 not configured
ACPI: Enabled 6 GPEs in block 00 to 7F
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: vendor 8086 product 1604 (rev. 0x09)
i915drmkms0 at pci0 dev 2 function 0: vendor 8086 product 1616 (rev. 0x09)
drm: Memory usable by graphics device = 4096M
drm: Supports vblank timestamp caching Rev 2 (21.10.2013).
drm: Driver supports precise vblank timestamp query.
i915drmkms0: interrupting at ioapic0 pin 16 (i915)
intelfb0 at i915drmkms0
i915drmkms0: info: registered panic notifier
i915drmkms0: More than 8 outputs detected via ACPI
intelfb0: framebuffer at 0xffff8000ad5ae000, size 1920x1080, depth 32, stride 7680
DRM error in intel_dp_complete_link_train: failed to train DP, aborting
wsdisplay0 at intelfb0 kbdmux 1: console (default, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
hdaudio0 at pci0 dev 3 function 0: HD Audio Controller
hdaudio0: interrupting at msi0 vec 0
hdaudio0: timeout leaving reset state
hdaudio0: device driver failed to attach
vendor 8086 product 1603 (miscellaneous DASP, revision 0x09) at pci0 dev 4 function 0 not configured
xhci0 at pci0 dev 20 function 0: vendor 8086 product 9cb1 (rev. 0x03)
xhci0: interrupting at msi0 vec 0
xhci0: xHCI version 1.0
usb0 at xhci0: USB revision 3.0
usb1 at xhci0: USB revision 2.0
vendor 8086 product 9cba (miscellaneous communications, revision 0x03) at pci0 dev 22 function 0 not configured
hdaudio1 at pci0 dev 27 function 0: HD Audio Controller
hdaudio1: interrupting at msi1 vec 0
hdafg0 at hdaudio1: vendor 14f1 product 510f
hdafg0: DAC00 2ch: Speaker [Built-In]
hdafg0: ADC01 2ch: Mic In [Built-In]
hdafg0: ADC02 2ch: Mic In [Jack]
hdafg0: DAC03 2ch: HP Out [Jack]
hdafg0: 2ch/2ch 44100Hz 48000Hz 96000Hz PCM16 PCM20 PCM24
audio0 at hdafg0: full duplex, playback, capture, mmap, independent
hdafg0: Virtual format configured - Format SLINEAR, precision 16, channels 2, frequency 48000
hdafg0: Latency: 128 milliseconds
spkr0 at audio0: PC Speaker (synthesized)
wsbell at spkr0 not configured
ppb0 at pci0 dev 28 function 0: vendor 8086 product 9c90 (rev. 0xe3)
ppb0: PCI Express capability version 2 <Root Port of PCI-E Root Complex> x1 @ 5.0GT/s
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
ppb1 at pci0 dev 28 function 2: vendor 8086 product 9c94 (rev. 0xe3)
ppb1: PCI Express capability version 2 <Root Port of PCI-E Root Complex> x1 @ 5.0GT/s
ppb1: link is x1 @ 2.5GT/s
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
iwm0 at pci2 dev 0 function 0: vendor 8086 product 08b4 (rev. 0x93)
iwm0: interrupting at msi2 vec 0
pcib0 at pci0 dev 31 function 0: vendor 8086 product 9cc3 (rev. 0x03)
ahcisata0 at pci0 dev 31 function 2: vendor 8086 product 9c83 (rev. 0x03)
ahcisata0: interrupting at ioapic0 pin 19
ahcisata0: 64-bit DMA
ahcisata0: AHCI revision 1.30, 4 ports, 32 slots, CAP 0xc734ff03<PSC,SSC,PMD,SAM,ISS=0x3=Gen3,SCLO,SAL,SALP,SNCQ,S64A>
atabus0 at ahcisata0 channel 1
ichsmb0 at pci0 dev 31 function 3: vendor 8086 product 9ca2 (rev. 0x03)
ichsmb0: interrupting at ioapic0 pin 18
iic0 at ichsmb0: I2C bus
isa0 at pcib0
pcppi0 at isa0 port 0x61
spkr1 at pcppi0: PC Speaker
wsbell at spkr1 not configured
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
attimer1: attached to pcppi0
acpicpu0 at cpu0: ACPI CPU
acpicpu0: C1: FFH, lat   1 us, pow  1000 mW
acpicpu0: C2: FFH, lat 148 us, pow   200 mW
acpicpu0: C3: FFH, lat 506 us, pow   200 mW
acpicpu0: P0: FFH, lat  10 us, pow 15000 mW, 2301 MHz, turbo boost
acpicpu0: P1: FFH, lat  10 us, pow 14088 mW, 2300 MHz
acpicpu0: P2: FFH, lat  10 us, pow 13340 mW, 2200 MHz
acpicpu0: P3: FFH, lat  10 us, pow 12607 mW, 2100 MHz
acpicpu0: P4: FFH, lat  10 us, pow 11888 mW, 2000 MHz
acpicpu0: P5: FFH, lat  10 us, pow 11184 mW, 1900 MHz
acpicpu0: P6: FFH, lat  10 us, pow  9680 mW, 1700 MHz
acpicpu0: P7: FFH, lat  10 us, pow  9019 mW, 1600 MHz
acpicpu0: P8: FFH, lat  10 us, pow  7738 mW, 1400 MHz
acpicpu0: P9: FFH, lat  10 us, pow  7119 mW, 1300 MHz
acpicpu0: P10: FFH, lat  10 us, pow  6511 mW, 1200 MHz
acpicpu0: P11: FFH, lat  10 us, pow  5209 mW, 1000 MHz
acpicpu0: P12: FFH, lat  10 us, pow  4643 mW,  900 MHz
acpicpu0: P13: FFH, lat  10 us, pow  4090 mW,  800 MHz
acpicpu0: P14: FFH, lat  10 us, pow  3021 mW,  600 MHz
acpicpu0: P15: FFH, lat  10 us, pow  2386 mW,  500 MHz
acpicpu0: T0: I/O, lat   1 us, pow     0 mW, 100 %
acpicpu0: T1: I/O, lat   1 us, pow     0 mW,  88 %
acpicpu0: T2: I/O, lat   1 us, pow     0 mW,  76 %
acpicpu0: T3: I/O, lat   1 us, pow     0 mW,  64 %
acpicpu0: T4: I/O, lat   1 us, pow     0 mW,  52 %
acpicpu0: T5: I/O, lat   1 us, pow     0 mW,  40 %
acpicpu0: T6: I/O, lat   1 us, pow     0 mW,  28 %
acpicpu0: T7: I/O, lat   1 us, pow     0 mW,  16 %
coretemp0 at cpu0: thermal sensor, 1 C resolution, Tjmax=105
acpicpu1 at cpu1: ACPI CPU
acpicpu2 at cpu2: ACPI CPU
coretemp1 at cpu2: thermal sensor, 1 C resolution, Tjmax=105
acpicpu3 at cpu3: ACPI CPU
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "TSC" frequency 2394678000 Hz quality 3000
uhub0 at usb0: vendor 8086 (0x8086) xHCI Root Hub (0000), class 9/0, rev 3.00/1.00, addr 0
uhub0: 4 ports with 4 removable, self powered
uhub1 at usb1: vendor 8086 (0x8086) xHCI Root Hub (0000), class 9/0, rev 2.00/1.00, addr 0
uhub1: 11 ports with 11 removable, self powered
acpiacad0: AC adapter offline.
IPsec: Initialized Security Association Processing.
ahcisata0 port 1: device present, speed: 6.0Gb/s
wd0 at atabus0 drive 0
wd0: <SAMSUNG MZYTE256HMHP-000L2>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 238 GB, 496149 cyl, 16 head, 63 sec, 512 bytes/sect x 500118192 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133), WRITE DMA FUA, NCQ (32 tags)
wd0(ahcisata0:1:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) (using DMA), NCQ (31 tags)
uvideo0 at uhub1 port 1 configuration 1 interface 0: J90F22BHJ (0x1bcf) Lenovo EasyCamera (0x2c43), rev 2.00/1.07, addr 1
video0 at uvideo0: J90F22BHJ (0x1bcf) Lenovo EasyCamera (0x2c43), rev 2.00/1.07, addr 1
ugen0 at uhub1 port 4
ugen0: Generic (0xbda) USB2.0-CRW (0x129), rev 2.00/39.60, addr 2
ubt0 at uhub1 port 5
ubt0: vendor 8087 (0x8087) product 07dc (0x7dc), rev 2.00/0.01, addr 3
uhidev0 at uhub1 port 6 configuration 1 interface 0
uhidev0: ITE Tech. Inc. (0x48d) ITE Device(8386) (0x8386), rev 2.00/0.01, addr 4, iclass 3/0
uhidev0: 90 report ids
uhid0 at uhidev0 reportid 1: input=9, output=0, feature=18
uhid1 at uhidev0 reportid 2: input=14, output=0, feature=28
uhid2 at uhidev0 reportid 3: input=17, output=0, feature=38
uhid3 at uhidev0 reportid 4: input=9, output=0, feature=18
uhid4 at uhidev0 reportid 5: input=37, output=0, feature=34
uhid5 at uhidev0 reportid 6: input=6, output=0, feature=42
uhid6 at uhidev0 reportid 7: input=14, output=0, feature=32
uhid7 at uhidev0 reportid 90: input=0, output=0, feature=16
uhidev1 at uhub1 port 7 configuration 1 interface 0
uhidev1: ELAN (0x4f3) Touchscreen (0x206f), rev 2.00/11.12, addr 5, iclass 3/0
uhidev1: 68 report ids
uts0 at uhidev1 reportid 1
wsmouse1 at uts0 mux 0
uhid8 at uhidev1 reportid 2: input=64, output=0, feature=0
uhid9 at uhidev1 reportid 3: input=0, output=31, feature=0
uhid10 at uhidev1 reportid 4: input=19, output=0, feature=0
uhid11 at uhidev1 reportid 10: input=0, output=0, feature=1
uhid12 at uhidev1 reportid 68: input=0, output=0, feature=256
WARNING: 18 errors while detecting hardware; check system log.
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
kern.module.path=/stand/amd64/8.99.14/modules
iwm0: hw rev 0x160, fw ver 17.352738.0, address d0:7e:35:
iwm0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
iwm0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
iwm0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wsdisplay0: screen 1 added (default, vt100 emulation)
wsdisplay0: screen 2 added (default, vt100 emulation)
wsdisplay0: screen 3 added (default, vt100 emulation)
wsdisplay0: screen 4 added (default, vt100 emulation)

>How-To-Repeat:
run envstat on an amd64 host
>Fix:

>Audit-Trail:
From: Martin Husemann <martin@duskware.de>
To: gnats-bugs@NetBSD.org
Cc: port-amd64-maintainer@netbsd.org, gnats-admin@netbsd.org,
	netbsd-bugs@netbsd.org
Subject: Re: port-amd64/53135: envstat(8) hangs in tstile
Date: Wed, 28 Mar 2018 10:37:13 +0200

 This is very recentish or depends on your ACPI implementation - it works
 fine for me on a kernel a few days older.

 Martin

 NetBSD night-owl.duskware.de 8.99.14 NetBSD 8.99.14 (NIGHT-OWL) #590: Mon Mar 19 14:59:01 CET 2018  martin@night-owl.duskware.de:/usr/src/sys/arch/amd64/compile/NIGHT-OWL amd64
                                      Current  CritMax  WarnMax  WarnMin  CritMin  Unit
 [acpiacad0]
                         connected:      TRUE
 [acpibat0]
                           present:      TRUE
                    design voltage:    10.800                                         V
                           voltage:    12.621                                         V
                        design cap:     4.400                                        Ah
                     last full cap:     3.194                                        Ah
                            charge:     3.194                      6.794%   5.322%   Ah (100.00%)
                       charge rate:       N/A
                    discharge rate:       N/A
                          charging:     FALSE
                      charge state:    NORMAL
 [acpitz0]
   cpu0/cpu1/cpu2/cpu3 temperature:    70.000   92.000                             degC
 [acpitz1]
                       temperature:    39.000   92.000                             degC
 [coretemp0]
                  cpu0 temperature:    70.000                                      degC
 [coretemp1]
                  cpu1 temperature:    70.000                                      degC

From: Sevan Janiyan <venture37@geeklan.co.uk>
To: "gnats-bugs@NetBSD.org" <gnats-bugs@NetBSD.org>
Cc: 
Subject: Re: port-amd64/53135: envstat(8) hangs in tstile
Date: Wed, 28 Mar 2018 11:51:02 +0100

 > On 28 Mar 2018, at 09:40, Martin Husemann <martin@duskware.de> wrote:
 >=20
 > This is very recentish or depends on your ACPI implementation - it works
 > fine for me on a kernel a few days older.


 Tried kernel from the 24th. Same behaviour. I've narrowed it down to being a=
 n issue on cold boot (first boot from powered down system). After a reboot, e=
 nvstat works as expected.


 Sevan=

From: matthew green <mrg@eterna.com.au>
To: Martin Husemann <martin@duskware.de>
Cc: port-amd64-maintainer@netbsd.org, gnats-admin@netbsd.org,
    netbsd-bugs@netbsd.org, gnats-bugs@NetBSD.org
Subject: re: port-amd64/53135: envstat(8) hangs in tstile
Date: Thu, 29 Mar 2018 04:22:14 +1100

 i have a similar problem on a HP notebook.  i haven't disable
 lot of acpi* drivers to have a semi-stable system, and it ususally
 fails to shut down.

 i did get as far as knowing that there is an ACPI lock held and no
 released, but i don't know much about how ACPI works.

 the machine is a HP "14an013nr".  unfortunately, i never got around
 to trying to debug it further.

From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/53135 CVS commit: src/sys/dev/acpi
Date: Tue, 18 Jul 2023 10:04:15 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Tue Jul 18 10:04:14 UTC 2023

 Modified Files:
 	src/sys/dev/acpi: acpi_ec.c

 Log Message:
 acpiec(4): Set sc_got_sci only when a transaction is over.

 Before, when the acpiec thread noticed an SCI had been requested and
 entered acpiec_gpe_state_machine to send the query command, it would
 see the SCI is still requested -- because it had yet to acknowledge
 it by setting the query command! -- and think the EC was asking for a
 _second_ SCI.

 So once the first SCI transaction was over, it would start a second
 one, even though the EC hadn't asked for another -- and this would
 wedge on some ECs.

 Now, acpiec_gpe_state_machine waits to see what state we transition
 to before taking the SCI bit to mean we need to notify the acpiec
 thread to handle another query.

 That way, when the acpiec thread enters acpiec_gpe_state_machine with
 EC_STATE_QUERY, it can send the query command first, with the side
 effect of clearing the SCI bit in subsequent reads of the status
 register, and it won't think another SCI has been requested until it
 returns to EC_STATE_FREE and sees the SCI bit set again in the status
 register.

 Possibly relevant PRs:

 PR kern/53135
 PR kern/52763
 PR kern/57162


 To generate a diff of this commit:
 cvs rdiff -u -r1.91 -r1.92 src/sys/dev/acpi/acpi_ec.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/53135 CVS commit: [netbsd-10] src/sys
Date: Sun, 30 Jul 2023 12:01:54 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Sun Jul 30 12:01:54 UTC 2023

 Modified Files:
 	src/sys/arch/amd64/conf [netbsd-10]: ALL
 	src/sys/arch/i386/conf [netbsd-10]: ALL
 	src/sys/dev/acpi [netbsd-10]: acpi_ec.c files.acpi

 Log Message:
 Pull up following revision(s) (requested by riastradh in ticket #259):

 	sys/dev/acpi/acpi_ec.c: revision 1.102
 	sys/dev/acpi/acpi_ec.c: revision 1.103
 	sys/dev/acpi/acpi_ec.c: revision 1.104
 	sys/dev/acpi/acpi_ec.c: revision 1.105
 	sys/dev/acpi/acpi_ec.c: revision 1.106
 	sys/dev/acpi/acpi_ec.c: revision 1.107
 	sys/dev/acpi/acpi_ec.c: revision 1.108
 	sys/dev/acpi/acpi_ec.c: revision 1.90
 	sys/dev/acpi/acpi_ec.c: revision 1.91
 	sys/dev/acpi/acpi_ec.c: revision 1.92
 	sys/dev/acpi/acpi_ec.c: revision 1.93
 	sys/dev/acpi/acpi_ec.c: revision 1.94
 	sys/dev/acpi/files.acpi: revision 1.128
 	sys/dev/acpi/acpi_ec.c: revision 1.95
 	sys/dev/acpi/acpi_ec.c: revision 1.96
 	sys/dev/acpi/acpi_ec.c: revision 1.97
 	sys/arch/amd64/conf/ALL: revision 1.179
 	sys/dev/acpi/acpi_ec.c: revision 1.98
 	sys/dev/acpi/acpi_ec.c: revision 1.99
 	sys/dev/acpi/acpi_ec.c: revision 1.87
 	sys/dev/acpi/acpi_ec.c: revision 1.88
 	sys/dev/acpi/acpi_ec.c: revision 1.89
 	sys/arch/i386/conf/ALL: revision 1.511
 	sys/dev/acpi/acpi_ec.c: revision 1.100
 	sys/dev/acpi/acpi_ec.c: revision 1.101

 acpiec(4): Record device_t self.

 Not used yet, to be used soon for device_printf and to allow making
 some of the internal functions a little more type-safe later.
 acpiec(4): New ACPIEC_DEBUG option.

 Value is bit mask of debug messages to enable.

 Enable in x86/ALL kernels.

 No functional change intended when the option is off.

 acpiec(4): Clarify lock order and sprinkle lock assertions.
 No functional change intended.

 acpiec(4): Sprinkle comments.
 Note where this code is abusing cv_wait and needs a loop to handle
 spurious wakeups.
 No functional change intended.

 acpiec(4): Assert state is free when we start a transaction.
 No functional change intended.

 acpiec(4): Set sc_got_sci only when a transaction is over.

 Before, when the acpiec thread noticed an SCI had been requested and
 entered acpiec_gpe_state_machine to send the query command, it would
 see the SCI is still requested -- because it had yet to acknowledge
 it by setting the query command! -- and think the EC was asking for a
 _second_ SCI.

 So once the first SCI transaction was over, it would start a second
 one, even though the EC hadn't asked for another -- and this would
 wedge on some ECs.

 Now, acpiec_gpe_state_machine waits to see what state we transition
 to before taking the SCI bit to mean we need to notify the acpiec
 thread to handle another query.

 That way, when the acpiec thread enters acpiec_gpe_state_machine with
 EC_STATE_QUERY, it can send the query command first, with the side
 effect of clearing the SCI bit in subsequent reads of the status
 register, and it won't think another SCI has been requested until it
 returns to EC_STATE_FREE and sees the SCI bit set again in the status
 register.

 Possibly relevant PRs:
 PR kern/53135
 PR kern/52763
 PR kern/57162

 acpiec(4): Fix cv_wait loop around sc->sc_got_sci.

 That is, make it actually loop as required, so it gracefully handles
 spurious wakeups instead of barging into invalid states.

 acpiec(4): Fix interrupt wait loop in acpiec_gpe_query thread.

 acpiec(4): Fix cv_timedwait abuse in acpiec_read/write.

 acpiec(4): Don't touch sc->sc_state outside sc->sc_mtx.

 acpiec(4): Merge returns in acpiec_read/write.
 No functional change intended.

 acpiec(4): Factor wait logic out.
 No functional change intended.

 acpiec(4): Pass softc, not device_t, to acpiec_gpe_state_machine.
 Simpler, type-safer.
 No functional change intended.

 acpiec(4): Pass softc, not device_t, to acpiec_callout.
 Simpler.
 No functional change intended.

 acpiec(4): Pass softc, not device_t, to acpiec_gpe_handler.
 Simpler.
 No functional change intended.

 acpiec(4): Pass softc, not device_t, to acpiec_lock/unlock.
 Simpler, type-safer.
 No functional change intended.

 acpiec(4): Pass softc, not device_t, to acpiec_read/write.
 Simpler, type-safer.
 No functional change intended.

 acpiec(4): Pass softc, not device_t, to acpiec_gpe_query thread.
 Simpler.
 No functional change intended.

 acpiec(4): Pass softc, not device_t, to acpiec_space_handler.
 Better to keep the device_t isolated to public interfaces.  Simpler
 internally this way.
 No functional change intended.

 acpiec(4): Factor out if (state == FREE) cv_signal(sc_cv).

 In principle this could have a functional change, but at worst, it is
 to signal more wakeups than needed, which should always be safe.
 acpiec(4): Take a lock around acpiec_cold updates.

 Otherwise we race with readers -- probably harmlessly, but let's
 avoid the appearance of problems.
 XXX Maybe acpiec_suspend and acpiec_shutdown should interrupt
 transactions and force them to fail promptly?
 XXX This looks bad because acpiec_cold is global and sc->sc_mtx
 doesn't look like it's global, but we expect to have only one
 acpiec(4) device anyway from what I understand.  Maybe we should move
 acpiec_cold into the softc?

 acpiec(4): One more debug message about read/write polling timeout.


 To generate a diff of this commit:
 cvs rdiff -u -r1.174 -r1.174.4.1 src/sys/arch/amd64/conf/ALL
 cvs rdiff -u -r1.503 -r1.503.4.1 src/sys/arch/i386/conf/ALL
 cvs rdiff -u -r1.86 -r1.86.4.1 src/sys/dev/acpi/acpi_ec.c
 cvs rdiff -u -r1.126 -r1.126.4.1 src/sys/dev/acpi/files.acpi

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2023 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.