NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/58743: acpibat has hung, even after recent acpiec fixes



>Number:         58743
>Category:       kern
>Synopsis:       acpibat has hung, even after recent acpiec fixes
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Oct 12 01:00:00 +0000 2024
>Originator:     matthew green
>Release:        10.99.10
>Organization:
people's front against (bozotic) www (softwar foundation)
>Environment:
System: NetBSD gunslinger.eterna23.net 10.99.10 NetBSD 10.99.10 (_gunslinger_) #18: Tue Jun  4 11:14:44 PDT 2024  mrg%gunslinger.eterna23.net@localhost:/var/obj/amd64-x86_64/usr/src/sys/arch/amd64/compile/_gunslinger_ amd64
Architecture: amd64
>Description:

	on a 2016-era HP laptop that before the recent acpiec fixes had
	a largely useless acpi (i had to disable several drivers for it
	to even work normally), that was now able to run normally, it
	seems that there might be a missed unlock in an error case.

	the system ran low on memory some weeks after booting, and most
	of dmesg beecame full of eg:

	[ 1791776.949431] Out of memory allocating ksiginfo for pid 27954

	(pid 27954 is X11.)

	there are a couple of hundred of these around the samet time, the
	last one being at 1791875.609647 (ie, 100s later.)

	more than 2 days later, these appear:

	[ 1962958.103261] ACPI Error: Aborting method \_SB.WMID.RDCF due to previous error (AE_NO_MEMORY) (20230628/psparse-580)
	[ 1962958.103261] ACPI Error: Aborting method \_SB.WMID.WHCM due to previous error (AE_NO_MEMORY) (20230628/psparse-580)
	[ 1962958.113254] ACPI Error: Aborting method \_SB.WMID.WMAA due to previous error (AE_NO_MEMORY) (20230628/psparse-580)
	[ 1963007.203371] ACPI Error: Aborting method \_SB.WMID.WHCM due to previous error (AE_NO_MEMORY) (20230628/psparse-580)
	[ 1963007.213363] ACPI Error: Aborting method \_SB.WMID.WMAA due to previous error (AE_NO_MEMORY) (20230628/psparse-580)
	[ 1963007.453364] ACPI Error: Aborting method \_SB.WMID.WHCM due to previous error (AE_NO_MEMORY) (20230628/psparse-580)
	[ 1963007.453364] ACPI Error: Aborting method \_SB.WMID.WMAA due to previous error (AE_NO_MEMORY) (20230628/psparse-580)

	and then later again:

	[ 2054658.188749] ACPI Error: Aborting method \_SB.WMID.GDDV due to previous error (AE_NO_MEMORY) (20230628/psparse-580)
	[ 2054658.188749] ACPI Error: Aborting method \_SB.WMID.RDCF due to previous error (AE_NO_MEMORY) (20230628/psparse-580)
	[ 2054658.188749] ACPI Error: Aborting method \_SB.WMID.WHCM due to previous error (AE_NO_MEMORY) (20230628/psparse-580)
	[ 2054658.188749] ACPI Error: Aborting method \_SB.WMID.WMAA due to previous error (AE_NO_MEMORY) (20230628/psparse-580)

	and now envstat and xbattbar have hung, waiting for a semaphore.

	crash> ps|grep acpi
	27599 27599 3   1        40   ffffb6ccc07c2000            envstat acpisem
	0       205 3   0       200   ffffb6cc09cc2c00           acpibat0 acpibat0
	0       203 3   3       200   ffffb6cc09b26000            acpitz1 acpitz1
	0       202 3   1       200   ffffb6cc09984c00            acpitz0 acpitz0
	0       106 3   0       200   ffffb6cc09241c00    acpiec sci thre ecsci

	crash> bt/a ffffb6ccc07c2000
	trace: pid 27599 lid 27599 at 0xffffdc840e00d7d0
	sleepq_block() at sleepq_block+0xee
	cv_timedwait() at cv_timedwait+0xde
	AcpiOsWaitSemaphore() at AcpiOsWaitSemaphore+0x87
	AcpiExSystemWaitMutex() at AcpiExSystemWaitMutex+0x45
	AcpiDsBeginMethodExecution() at AcpiDsBeginMethodExecution+0x8a
	AcpiDsCallControlMethod() at AcpiDsCallControlMethod+0x49
	AcpiPsParseAml() at AcpiPsParseAml+0x30f
	AcpiPsExecuteMethod() at AcpiPsExecuteMethod+0x13f
	AcpiNsEvaluate() at AcpiNsEvaluate+0x1fc
	AcpiEvaluateObject() at AcpiEvaluateObject+0xe9
	acpi_wmi_method() at acpi_wmi_method+0x14b
	wmi_hp_method() at wmi_hp_method+0x5e
	wmi_hp_sensor_refresh() at wmi_hp_sensor_refresh+0x4d
	sysmon_envsys_refresh_sensor() at sysmon_envsys_refresh_sensor+0x1b
	sme_update_dictionary() at sme_update_dictionary+0xe8
	sysmonioctl_envsys() at sysmonioctl_envsys+0x6ad
	cdev_ioctl() at cdev_ioctl+0x9b
	spec_ioctl() at spec_ioctl+0x5d
	VOP_IOCTL() at VOP_IOCTL+0x47
	vn_ioctl() at vn_ioctl+0xb5
	sys_ioctl() at sys_ioctl+0x4ca
	syscall() at syscall+0x112
	--- syscall (number 54) ---
	syscall+0x112:

	crash> bt/a ffffb6cc09cc2c00
	trace: pid 0 lid 205 at 0xffffdc840c89ef60
	sleepq_block() at sleepq_block+0xee
	cv_wait() at cv_wait+0xd4
	workqueue_worker() at workqueue_worker+0x97

	crash> bt/a ffffb6cc09b26000
	trace: pid 0 lid 203 at 0xffffdc840c7dcf60
	sleepq_block() at sleepq_block+0xee
	cv_wait() at cv_wait+0xd4
	workqueue_worker() at workqueue_worker+0x97

	crash> bt/a ffffb6cc09984c00
	trace: pid 0 lid 202 at 0xffffdc840c7e3f60
	sleepq_block() at sleepq_block+0xee
	cv_wait() at cv_wait+0xd4
	workqueue_worker() at workqueue_worker+0x97

	crash> bt/a ffffb6cc09241c00
	trace: pid 0 lid 106 at 0xffffdc83fb62af60
	sleepq_block() at sleepq_block+0xee
	cv_wait() at cv_wait+0xd4
	acpiec_gpe_query() at acpiec_gpe_query+0x56

	crash> ps|grep xbattbar
	5655   5655 3   3   1000000   ffffb6cc4a521400           xbattbar mutex

	crash> bt/a ffffb6cc4a521400
	trace: pid 5655 lid 5655 at 0xffffdc840f0d6ac0
	sleepq_block() at sleepq_block+0xee
	turnstile_block() at turnstile_block+0x3cf
	mutex_enter() at mutex_enter+0x155
	sysmon_envsys_find_40() at sysmon_envsys_find_40+0x16
	sysmonioctl_envsys() at sysmonioctl_envsys+0x599
	cdev_ioctl() at cdev_ioctl+0x9b
	spec_ioctl() at spec_ioctl+0x5d
	VOP_IOCTL() at VOP_IOCTL+0x47
	vn_ioctl() at vn_ioctl+0xb5
	sys_ioctl() at sys_ioctl+0x4ca
	syscall() at syscall+0x112
	--- syscall (number 54) ---
	syscall+0x112:

	the CPU is:
	cpu0: AMD E2-7110 APU with AMD Radeon R2 Graphics    , id 0x730f01

	the laptop is still running mostly OK though xbattbar has hung,
	and i can interact with crash remotely.

>How-To-Repeat:
>Fix:



Home | Main Index | Thread Index | Old Index