Bug 519536

Summary: possible circular locking, kacpi_hotplug in flush_workqueue and worker_thread
Product: [Fedora] Fedora Reporter: Mads Kiilerich <mads>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED WORKSFORME QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 12CC: itamar, jglisse, kernel-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-01-13 23:04:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mads Kiilerich 2009-08-27 00:21:47 UTC
Description of problem:

resume after suspend failed and I noticed this in the messages from suspend but syslogged on resume:

Aug 27 01:56:43 localhost kernel: PM: Syncing filesystems ... done.
Aug 27 01:56:43 localhost kernel: Freezing user space processes ... (elapsed 0.00 seconds) done.
Aug 27 01:56:43 localhost kernel: Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
Aug 27 01:56:43 localhost kernel: Suspending console(s) (use no_console_suspend to debug)
Aug 27 01:56:43 localhost kernel: sd 0:0:0:0: [sda] Synchronizing SCSI cache
Aug 27 01:56:43 localhost kernel: sd 0:0:0:0: [sda] Stopping disk
Aug 27 01:56:43 localhost kernel: eth1: Going into suspend...
Aug 27 01:56:43 localhost kernel: ipw2200 0000:03:03.0: PCI INT A disabled
Aug 27 01:56:43 localhost kernel: pci 0000:01:00.0: PCI INT A disabled
Aug 27 01:56:43 localhost kernel: ata_piix 0000:00:1f.2: PCI INT B disabled
Aug 27 01:56:43 localhost kernel: Intel ICH 0000:00:1e.2: PCI INT A disabled
Aug 27 01:56:43 localhost kernel: ehci_hcd 0000:00:1d.7: PCI INT A disabled
Aug 27 01:56:43 localhost kernel: uhci_hcd 0000:00:1d.3: PCI INT D disabled
Aug 27 01:56:43 localhost kernel: uhci_hcd 0000:00:1d.2: PCI INT C disabled
Aug 27 01:56:43 localhost kernel: uhci_hcd 0000:00:1d.1: PCI INT B disabled
Aug 27 01:56:43 localhost kernel: uhci_hcd 0000:00:1d.0: PCI INT A disabled
Aug 27 01:56:43 localhost kernel: PM: suspend devices took 1.208 seconds
Aug 27 01:56:43 localhost kernel: ehci_hcd 0000:00:1d.7: PME# disabled
Aug 27 01:56:43 localhost kernel: ACPI: Preparing to enter system sleep state S3
Aug 27 01:56:43 localhost kernel: Disabling non-boot CPUs ...
Aug 27 01:56:43 localhost kernel: ACPI: Waking up from system sleep state S3
Aug 27 01:56:43 localhost kernel: ehci_hcd 0000:00:1d.7: PME# disabled
Aug 27 01:56:43 localhost kernel:
Aug 27 01:56:43 localhost kernel: =======================================================
Aug 27 01:56:43 localhost kernel: [ INFO: possible circular locking dependency detected ]
Aug 27 01:56:43 localhost kernel: 2.6.31-0.174.rc7.git2.fc12.i686.PAE #1
Aug 27 01:56:43 localhost kernel: -------------------------------------------------------
Aug 27 01:56:43 localhost kernel: kacpi_hotplug/15 is trying to acquire lock:
Aug 27 01:56:43 localhost kernel: (kacpid){+.+.+.}, at: [<c0461413>] flush_workqueue+0x0/0xab
Aug 27 01:56:43 localhost kernel:
Aug 27 01:56:43 localhost kernel: but task is already holding lock:
Aug 27 01:56:43 localhost kernel: (&dpc->work){+.+.+.}, at: [<c0460844>] worker_thread+0x152/0x275
Aug 27 01:56:43 localhost kernel:
Aug 27 01:56:43 localhost kernel: which lock already depends on the new lock.
Aug 27 01:56:43 localhost kernel:
Aug 27 01:56:43 localhost kernel:
Aug 27 01:56:43 localhost kernel: the existing dependency chain (in reverse order) is:
Aug 27 01:56:43 localhost kernel:
Aug 27 01:56:43 localhost kernel: -> #1 (&dpc->work){+.+.+.}:
Aug 27 01:56:43 localhost kernel:       [<c0479733>] __lock_acquire+0x9b3/0xb25
Aug 27 01:56:43 localhost kernel:       [<c047995c>] lock_acquire+0xb7/0xeb
Aug 27 01:56:43 localhost kernel:       [<c0460880>] worker_thread+0x18e/0x275
Aug 27 01:56:43 localhost kernel:       [<c0465459>] kthread+0x7b/0x80
Aug 27 01:56:43 localhost kernel:       [<c040af3f>] kernel_thread_helper+0x7/0x10
Aug 27 01:56:43 localhost kernel:       [<ffffffff>] 0xffffffff
Aug 27 01:56:43 localhost kernel:
Aug 27 01:56:43 localhost kernel: -> #0 (kacpid){+.+.+.}:
Aug 27 01:56:43 localhost kernel:       [<c047963a>] __lock_acquire+0x8ba/0xb25
Aug 27 01:56:43 localhost kernel:       [<c047995c>] lock_acquire+0xb7/0xeb
Aug 27 01:56:43 localhost kernel:       [<c046146b>] flush_workqueue+0x58/0xab
Aug 27 01:56:43 localhost kernel:       [<c064de28>] acpi_os_wait_events_complete+0x20/0x3d
Aug 27 01:56:43 localhost kernel:       [<c064de7a>] acpi_os_execute_hp_deferred+0x35/0x5a
Aug 27 01:56:43 localhost kernel:       [<c0460886>] worker_thread+0x194/0x275
Aug 27 01:56:43 localhost kernel:       [<c0465459>] kthread+0x7b/0x80
Aug 27 01:56:43 localhost kernel:       [<c040af3f>] kernel_thread_helper+0x7/0x10
Aug 27 01:56:43 localhost kernel:       [<ffffffff>] 0xffffffff
Aug 27 01:56:43 localhost kernel:
Aug 27 01:56:43 localhost kernel: other info that might help us debug this:
Aug 27 01:56:43 localhost kernel:
Aug 27 01:56:43 localhost kernel: 2 locks held by kacpi_hotplug/15:
Aug 27 01:56:43 localhost kernel: #0:  (kacpi_hotplug){+.+...}, at: [<c0460844>] worker_thread+0x152/0x275
Aug 27 01:56:43 localhost kernel: #1:  (&dpc->work){+.+.+.}, at: [<c0460844>] worker_thread+0x152/0x275
Aug 27 01:56:43 localhost kernel:
Aug 27 01:56:43 localhost kernel: stack backtrace:
Aug 27 01:56:43 localhost kernel: Pid: 15, comm: kacpi_hotplug Not tainted 2.6.31-0.174.rc7.git2.fc12.i686.PAE #1
Aug 27 01:56:43 localhost kernel: Call Trace:
Aug 27 01:56:43 localhost kernel: [<c083701e>] ? printk+0x22/0x3c
Aug 27 01:56:43 localhost kernel: [<c0478a68>] print_circular_bug_tail+0x68/0x84
Aug 27 01:56:43 localhost kernel: [<c047963a>] __lock_acquire+0x8ba/0xb25
Aug 27 01:56:43 localhost kernel: [<c047995c>] lock_acquire+0xb7/0xeb
Aug 27 01:56:43 localhost kernel: [<c0461413>] ? flush_workqueue+0x0/0xab
Aug 27 01:56:43 localhost kernel: [<c0461413>] ? flush_workqueue+0x0/0xab
Aug 27 01:56:43 localhost kernel: [<c046146b>] flush_workqueue+0x58/0xab
Aug 27 01:56:43 localhost kernel: [<c0461413>] ? flush_workqueue+0x0/0xab
Aug 27 01:56:43 localhost kernel: [<c064de28>] acpi_os_wait_events_complete+0x20/0x3d
Aug 27 01:56:43 localhost kernel: [<c064de7a>] acpi_os_execute_hp_deferred+0x35/0x5a
Aug 27 01:56:43 localhost kernel: [<c0460886>] worker_thread+0x194/0x275
Aug 27 01:56:43 localhost kernel: [<c0460844>] ? worker_thread+0x152/0x275
Aug 27 01:56:43 localhost kernel: [<c064de45>] ? acpi_os_execute_hp_deferred+0x0/0x5a
Aug 27 01:56:43 localhost kernel: [<c04657b6>] ? autoremove_wake_function+0x0/0x55
Aug 27 01:56:43 localhost kernel: [<c04606f2>] ? worker_thread+0x0/0x275
Aug 27 01:56:43 localhost kernel: [<c0465459>] kthread+0x7b/0x80
Aug 27 01:56:43 localhost kernel: [<c04653de>] ? kthread+0x0/0x80
Aug 27 01:56:43 localhost kernel: [<c040af3f>] kernel_thread_helper+0x7/0x10

Are these messages related to the failing resume?


Version-Release number of selected component (if applicable):

kernel-PAE-2.6.31-0.174.rc7.git2.fc12.i686

Comment 1 Jérôme Glisse 2009-11-12 15:30:31 UTC
The kernel version is bit strange what is the output of uname -a and rpm -q ?

Comment 2 Jérôme Glisse 2009-11-12 15:33:13 UTC
Sorry missed that date at which point you did the test. Do you still have this issue with a more recent kernel ? If so please gives us kernel version (rpm -q kernel). Thanks.

Comment 3 Bug Zapper 2009-11-16 11:44:38 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 4 Mads Kiilerich 2009-11-22 15:30:33 UTC
With kernel-PAE-2.6.31.6-145.fc12.i686 nomodeset resume doesn't get as far as this issue. 

Resuming turns the display on, but nothing is written to /var/log/messages, apparently no disc activity, no reaction to caps-lock, ctrl-alt-f2 ctrl-alt-del does nothing, only a hard power off works.

This current problem is covered by bug 521161, so perhaps this issue should be closed?

Comment 5 Mads Kiilerich 2010-01-13 23:04:27 UTC
Suspend/resume works for me with 2.6.32 and KMS, and this report is old and it seems like it is of no use, so I will close it.