tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: how to debug suspend/resume crash
On Wed, Nov 17, 2021 at 02:25:44PM +0000, Taylor R Campbell wrote:
> - Try suspending and resuming different subtrees of devices:
> drvctl -S foo0 && drvctl -Q foo0
I found three problems:
1) drvctl -S com0; drvctl -Q com0 causes the serial console to become
irresponsive. The device tree's branch in mainbus0/acpi0/com0
Once that is reached, I managed to get a panic by trying drvctl -Q wskbd0
vrelel: missing VOP_CLOSE(): vnode 0xffffb5d716fa1d80 flags 0x14<ISTTY,MPSAFE>
tag VT_NON(0) type VCHR(4) mount 0xffffb5d874e9b000 typedata 0xffffb5d7186749c0
usecount 1 writecount 0 holdcount 0
size 0 writesize 0 numoutput 0
data 0x0 lock 0xffffb5d716fa1f40
state LOADED key(0xffffb5d874e9b000 0)
lrulisthd 0xffffffff818adf10
panic: kernel diagnostic assertion "sn->sn_opencnt == 0" failed: file "/usr/src/sys/miscfs/specfs/spec_vnops.c", line 437
cpu1: Begin traceback...
vpanic() at netbsd:vpanic+0x156
__x86_indirect_thunk_rax() at netbsd:__x86_indirect_thunk_rax
spec_node_destroy() at netbsd:spec_node_destroy+0x1f2
vcache_free() at netbsd:vcache_free+0xea
vrelel() at netbsd:vrelel+0x531
cnclose() at netbsd:cnclose+0x8e
cdev_close() at netbsd:cdev_close+0x80
spec_close() at netbsd:spec_close+0x163
VOP_CLOSE() at netbsd:VOP_CLOSE+0x42
vn_close() at netbsd:vn_close+0x35
closef() at netbsd:closef+0x60
fd_free() at netbsd:fd_free+0x10b
exit1() at netbsd:exit1+0x126
sys_exit() at netbsd:sys_exit+0x39
syscall() at netbsd:syscall+0x196
--- syscall (number 1) ---
netbsd:syscall+0x196:
cpu1: End traceback...
2) drvctl -S xhci0; drvctl -Q xhci0 causes the keyboard to get inresponsive.
The device tree's branch is mainbus0/pci0/xhci0/usb1/uhub1/uhidev0/ukbd0/wskbd1
The keyboard is recovered by drvctl -d uhidev0; drvctl -a usbdevif -r uhub1
3) Nothing seems able to act on the screen, it always remain powered on when
playing with drvctl -S. sysctl hw.acpi.sleep.state=3 powers it doen, thought.
I am not sure what should work here. dmesg says:
acpivga0: connected output devices:
acpivga0: 0x0400 (acpiout15): Unknown Output Device, head 0
What is supposed to power down the screen? Is it
mainbus0/acpi0/acipvga0/acpiout15
or
mainbus0/pci0/genfb0/wsdisplay0
There is also a sysctl hw.acpi.acpiout15.brightness that has no effect.
And for the ihidev problem, it seems it fails to configure properly:
ihidev0 at iic0 addr 0x19ihidev0: autoconfiguration error: failed to get HidDescriptorAddress: AE_NOT_FOUND
ihidev0: WARNING: power management not supported
ihidev1 at iic2 addr 0x5ddwiic2: timed out reading remaining 29
ihidev1: WARNING: power management not supported
--
Emmanuel Dreyfus
manu%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index