[Bug 678097] New: Deadlock after: ACPI Error: [CB04] Namespace lookup failure, AE_ALREADY_EXISTS
https://bugzilla.novell.com/show_bug.cgi?id=678097 https://bugzilla.novell.com/show_bug.cgi?id=678097#c0 Summary: Deadlock after: ACPI Error: [CB04] Namespace lookup failure, AE_ALREADY_EXISTS Classification: openSUSE Product: openSUSE 11.4 Version: Factory Platform: x86 OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel AssignedTo: kernel-maintainers@forge.provo.novell.com ReportedBy: trenn@novell.com QAContact: qa@suse.de Found By: --- Blocker: --- Created an attachment (id=418291) --> (http://bugzilla.novell.com/attachment.cgi?id=418291) acpidump - I double checked dynamically loaded SSDT[2-5]s, CB04 only shows up in the \_SB_.AMW0.WMCA function in the DSDT User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:2.0b10) Gecko/20110121 Firefox/4.0b10 On this machine the acpi wmi method \_SB_.AMW0.WMCA is called frequently (about every second?) when acer-wmi driver is loaded. acer-wmi driver exports software rfkill interfaces to switch off bluetooth/wlan. I could trigger this bug by doing: rfkill block 1 which I expect causes the WMCA function to get called in parallel triggering the issue. Acpica already points to a firmware bug (method must be defined NotSerialized?), the full error log I get is: ACPI Error: [CB04] Namespace lookup failure, AE_ALREADY_EXISTS (20101013/dsfield-143) ACPI Error: Method parse/execution failed [\_SB_.AMW0.WMCA] (Node ffff8800b8b034e8), AE_ALREADY_EXISTS (20101013/psparse-537) ACPI: Marking method WMCA as Serialized because of AE_ALREADY_EXISTS error This looks harmless and expected, but acpica seems to get stuck in a deadlock. The rfkill blocks and is not "killable", even not with -9. echo w >/proc/sysrq-trigger # (show-blocked-tasks(W)) reveals: SysRq : Show Blocked State task PC stack pid father worker/1:0 D 0000000000000001 0 8341 2 0x00000000 ffff880096413a40 0000000000000046 ffff8800964139e8 0000000000012640 ffff880096413fd8 0000000000012640 ffff880096413fd8 ffff880096413fd8 ffff880090f6e8b0 0000000000012640 0000000000012640 ffff880096412000 all Trace: [<ffffffff81521ffd>] schedule_timeout+0x28d/0x310 [<ffffffff81523035>] __down_timeout+0x65/0xb0 [<ffffffff8107f72c>] down_timeout+0x5c/0x70 [<ffffffff812ba026>] acpi_os_wait_semaphore+0x8e/0x130 [<ffffffff812d2373>] acpi_ex_system_wait_mutex+0x3b/0x84 [<ffffffff812c76a4>] acpi_ds_begin_method_execution+0xdf/0x16f [<ffffffff812df024>] acpi_ps_execute_method+0x39/0x2dd [<ffffffff812d90a3>] acpi_ns_evaluate+0x183/0x2c5 [<ffffffff812d89a9>] acpi_evaluate_object+0x158/0x298 [<ffffffffa01d5f85>] wmi_evaluate_method+0x115/0x150 [wmi] [<ffffffffa02a41ae>] WMI_execute_u32+0x4e/0xa0 [acer_wmi] [<ffffffffa02a4681>] get_u32+0x71/0xf0 [acer_wmi] [<ffffffffa02a4885>] acer_rfkill_update+0x35/0xa0 [acer_wmi] [<ffffffff81074630>] process_one_work+0x110/0x490 [<ffffffff81075345>] worker_thread+0x165/0x340 [<ffffffff81079956>] kthread+0x96/0xa0 [<ffffffff81003d74>] kernel_thread_helper+0x4/0x10 fkill D 0000000000000001 0 8780 6316 0x00000004 ffff8800adb0bad8 0000000000000082 000000000001c000 0000000000012640 ffff8800adb0bfd8 0000000000012640 ffff8800adb0bfd8 ffff8800adb0bfd8 ffff880037b4e6f0 0000000000012640 0000000000012640 ffff8800adb0a000 all Trace: [<ffffffff81521ffd>] schedule_timeout+0x28d/0x310 [<ffffffff81523035>] __down_timeout+0x65/0xb0 [<ffffffff8107f72c>] down_timeout+0x5c/0x70 [<ffffffff812ba026>] acpi_os_wait_semaphore+0x8e/0x130 [<ffffffff812d2373>] acpi_ex_system_wait_mutex+0x3b/0x84 [<ffffffff812c76a4>] acpi_ds_begin_method_execution+0xdf/0x16f [<ffffffff812df024>] acpi_ps_execute_method+0x39/0x2dd [<ffffffff812d90a3>] acpi_ns_evaluate+0x183/0x2c5 [<ffffffff812d89a9>] acpi_evaluate_object+0x158/0x298 [<ffffffffa01d5f85>] wmi_evaluate_method+0x115/0x150 [wmi] [<ffffffffa02a41ae>] WMI_execute_u32+0x4e/0xa0 [acer_wmi] [<ffffffffa02a424b>] WMID_set_u32+0x4b/0xf0 [acer_wmi] [<ffffffffa02a4389>] set_u32+0x99/0xc0 [acer_wmi] [<ffffffffa02a4486>] acer_rfkill_set+0x16/0x30 [acer_wmi] [<ffffffffa00e8f60>] rfkill_set_block+0x80/0x100 [rfkill] [<ffffffffa00e935f>] rfkill_fop_write+0x12f/0x150 [rfkill] [<ffffffff81152406>] vfs_write+0xc6/0x180 [<ffffffff8115271e>] sys_write+0x4e/0x90 [<ffffffff81002f8b>] system_call_fastpath+0x16/0x1b [<00007fd1a64280f0>] 0x7fd1a64280f0 Reproducible: Always Steps to Reproduce: 1. 2. 3. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678097 https://bugzilla.novell.com/show_bug.cgi?id=678097#c1 Thomas Renninger <trenn@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |acpi@linux.intel.com, | |coolo@novell.com, | |ming.m.lin@intel.com, | |rjw@novell.com, | |Robert.Moore@intel.com AssignedTo|kernel-maintainers@forge.pr |trenn@novell.com |ovo.novell.com | --- Comment #1 from Thomas Renninger <trenn@novell.com> 2011-03-09 12:36:01 UTC --- I have a chance that ACER takes care about this issue in their BIOS, at least for future releases. Is it correct that: \_SB_.AMW0.WMCA must be defined "Serialized"? Just an idea (not looked at how complicated this would be), but if a function that creates fields (or similar objects) has to be set "Serialized", a compile time check could be added pointing to such (very nasty) firmware bugs? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678097 https://bugzilla.novell.com/show_bug.cgi?id=678097#c2 --- Comment #2 from Robert Moore <Robert.Moore@intel.com> 2011-03-09 15:48:48 UTC --- The deadlock issue has been most likely fixed: 12 January 2011. Summary of changes for version 20110112: Fixed several issues and a possible fault with the automatic "serialized" method support. History: This support changes a method to "serialized" on the fly if the method generates an AE_ALREADY_EXISTS error, indicating the possibility that it cannot handle reentrancy. This fix repairs a couple of issues seen in the field, especially on machines with many cores: 1) Delete method children only upon the exit of the last thread, so as to not delete objects out from under other running threads (and possibly causing a fault.) 2) Set the "serialized" bit for the method only upon the exit of the Last thread, so as to not cause deadlock when running threads attempt to exit. 3) Cleanup the use of the AML "MethodFlags" and internal method flags so that there is no longer any confusion between the two. I'm not sure about having the compiler check for this type of thing. We may have attempted this in the past and run into issues. Another workaround is that there is a global run-time option to ACPICA that automatically marks all control methods "serialized". Bob -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678097 https://bugzilla.novell.com/show_bug.cgi?id=678097#c3 --- Comment #3 from Robert Moore <Robert.Moore@intel.com> 2011-03-09 17:51:04 UTC --- (In reply to comment #1)
Just an idea (not looked at how complicated this would be), but if a function that creates fields (or similar objects) has to be set "Serialized", a compile time check could be added pointing to such (very nasty) firmware bugs?
I've opened an ACPICA bugzilla so that we can look at this suggestion. It would be nice to have iASL automatically mark the method serialized, perhaps with a warning or remark. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678097 https://bugzilla.novell.com/show_bug.cgi?id=678097#c4 Thomas Renninger <trenn@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |youquan.song@intel.com --- Comment #4 from Thomas Renninger <trenn@novell.com> 2011-03-10 13:10:02 UTC --- Ah, it's this one (from acpica git): commit 4110b9bdc9cb38cff4a824d445bb057e363a342e Author: Robert Moore <Robert.Moore@intel.com> Date: Tue Jan 11 10:25:15 2011 -0800 Fix issues/fault with automatic "serialized" method support. The patch already is upstream (Linus kernel-2.6 git repo): commit 262948428878fb340127faca1791acb17146122e Author: Lin Ming <ming.m.lin@intel.com> Date: Wed Jan 12 09:19:43 2011 +0800 This one looks worth to get backported to stable@ kernels? Unfortunately some renaming of variables/flags got added in one patch, not sure what is better (or gets accepted), extracting the real changes or just the whole thing. The patch applies without any fuzz/offset into our 11.4, 2.6.37 based kernel. There are quite some conflicts for our SLE11 SP1 (will also get our SP2), 2.6.32 kernel. I can submit this for 2.6.37-stable inclusion if you agree. I wonder whether this fix should get backported (stripped to the essentials?) and considered for SLE11-SP2 and 2.6.32-stable inclusion as well? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678097 https://bugzilla.novell.com/show_bug.cgi?id=678097#c5 Joey Lee <jlee@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jlee@novell.com --- Comment #5 from Joey Lee <jlee@novell.com> 2011-03-11 06:06:16 UTC --- Thank's Thomas and Robert, I just checked the Acer machine on my hand, there have no WMCA method in TravelMate 8572's DSDT, so I cann't reproduce this issue. Backport this upstream patch to SP2 is not urgent, but it still a good idea for our product work on Acer consumer notebook. Thomas, please kindly submit this patch to SLED-11 SP2, and I will also send out mail to PM Jeffrey, he will pass our suggestion for set WMCA function to serialized. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678097 https://bugzilla.novell.com/show_bug.cgi?id=678097#c6 Thomas Renninger <trenn@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED --- Comment #6 from Thomas Renninger <trenn@novell.com> 2011-10-06 23:32:42 UTC --- I totally forgot about this one. Added to 11.4. As the patch came in in 2.6.38 we already have it in SP2. ->resolving fixed. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678097 https://bugzilla.novell.com/show_bug.cgi?id=678097#c7 Swamp Workflow Management <swamp@suse.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status Whiteboard| |maint:released:11.4:43935 --- Comment #7 from Swamp Workflow Management <swamp@suse.de> 2011-11-08 10:41:35 UTC --- Update released for: kernel-debug, kernel-debug-base, kernel-debug-base-debuginfo, kernel-debug-debuginfo, kernel-debug-debugsource, kernel-debug-devel, kernel-debug-devel-debuginfo, kernel-default, kernel-default-base, kernel-default-base-debuginfo, kernel-default-debuginfo, kernel-default-debugsource, kernel-default-devel, kernel-default-devel-debuginfo, kernel-desktop, kernel-desktop-base, kernel-desktop-base-debuginfo, kernel-desktop-debuginfo, kernel-desktop-debugsource, kernel-desktop-devel, kernel-desktop-devel-debuginfo, kernel-devel, kernel-docs, kernel-ec2, kernel-ec2-base, kernel-ec2-base-debuginfo, kernel-ec2-debuginfo, kernel-ec2-debugsource, kernel-ec2-devel, kernel-ec2-devel-debuginfo, kernel-ec2-extra, kernel-ec2-extra-debuginfo, kernel-pae, kernel-pae-base, kernel-pae-base-debuginfo, kernel-pae-debuginfo, kernel-pae-debugsource, kernel-pae-devel, kernel-pae-devel-debuginfo, kernel-source, kernel-source-vanilla, kernel-syms, kernel-trace, kernel-trace-base, kernel-trace-base-debuginfo, kernel-trace-debuginfo, kernel-trace-debugsource, kernel-trace-devel, kernel-trace-devel-debuginfo, kernel-vanilla, kernel-vanilla-base, kernel-vanilla-base-debuginfo, kernel-vanilla-debuginfo, kernel-vanilla-debugsource, kernel-vanilla-devel, kernel-vanilla-devel-debuginfo, kernel-vmi, kernel-vmi-base, kernel-vmi-base-debuginfo, kernel-vmi-debuginfo, kernel-vmi-debugsource, kernel-vmi-devel, kernel-vmi-devel-debuginfo, kernel-xen, kernel-xen-base, kernel-xen-base-debuginfo, kernel-xen-debuginfo, kernel-xen-debugsource, kernel-xen-devel, kernel-xen-devel-debuginfo, preload-kmp-default, preload-kmp-desktop Products: openSUSE 11.4 (debug, i586, x86_64) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com