Bug 663804

Summary: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected
Product: [Fedora] Fedora Reporter: John Reiser <jreiser>
Component: xorg-x11-drv-nouveauAssignee: Ben Skeggs <bskeggs>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: rawhideCC: airlied, ajax, awilliam, bskeggs, luke.hutch, mcepl
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: [cat:crash]
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-08-08 09:47:38 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:
Attachments:
Description Flags
Xorg.0.log
none
Xorg.0.log.old none

Description John Reiser 2010-12-16 21:29:12 UTC
Created attachment 469219 [details]
Xorg.0.log

Description of problem: /var/log/messages has lock order complaint shortly after  boot.


Version-Release number of selected component (if applicable):
kernel-2.6.37-0.rc5.git2.1.fc15.x86_64
xorg-x11-drv-nouveau-0.0.16-14.20101129gitf29afe6.fc15.x86_64
xorg-x11-drv-nv-2.1.18-4.fc15.x86_64
xorg-x11-server-common-1.9.99.1-2.20101201.fc15.x86_64
xorg-x11-server-Xorg-1.9.99.1-2.20101201.fc15.x86_64


How reproducible: haven't tried


Steps to Reproduce:
1. first boot to multi-user
2.
3.
  
Actual results: from /var/log/messages
[   71.611755] [drm] nouveau 0000:05:00.0: nouveau_channel_free: freeing fifo 2
[   71.613033] 
[   71.613033] ======================================================
[   71.613033] [ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ]
[   71.613033] 2.6.37-0.rc5.git2.1.fc15.x86_64 #1
[   71.613033] ------------------------------------------------------
[   71.613033] Xorg/1294 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
[   71.613033]  (&(&dev_priv->ramin_lock)->rlock){+.+...}, at: [<ffffffffa009324b>] nouveau_gpuobj_del+0xc5/0xf5 [nouveau]
[   71.613033] 
[   71.613033] and this task is already holding:
[   71.613033]  (&(&dev_priv->context_switch_lock)->rlock){-.-...}, at: [<ffffffffa0090896>] nouveau_channel_free+0x11a/0x254 [nouveau]
[   71.613033] which would create a new lock dependency:
[   71.613033]  (&(&dev_priv->context_switch_lock)->rlock){-.-...} -> (&(&dev_priv->ramin_lock)->rlock){+.+...}
[   71.613033] 
[   71.613033] but this new dependency connects a HARDIRQ-irq-safe lock:
[   71.613033]  (&(&dev_priv->context_switch_lock)->rlock){-.-...}
[   71.613033] ... which became HARDIRQ-irq-safe at:
[   71.613033]   [<ffffffff81081e8e>] __lock_acquire+0x2f0/0xd65
[   71.613033]   [<ffffffff81082dd2>] lock_acquire+0xc8/0xf3
[   71.613033]   [<ffffffff814b450b>] _raw_spin_lock_irqsave+0x45/0x7f
[   71.613033]   [<ffffffffa0095046>] nouveau_irq_handler+0x69/0x1ad7 [nouveau]
[   71.613033]   [<ffffffff810ba0eb>] handle_IRQ_event+0x61/0x132
[   71.613033] [drm] nouveau 0000:05:00.0: GPU lockup - switching to software fbcon
[   71.613033]   [<ffffffff810bc4a3>] handle_fasteoi_irq+0xc6/0x10c
[   71.613033]   [<ffffffff8100d351>] handle_irq+0x88/0x90
[   71.613033]   [<ffffffff814bb528>] do_IRQ+0x58/0xb0
[   71.613033]   [<ffffffff814b5053>] ret_from_intr+0x0/0x16
[   71.613033] 
[   71.613033] to a HARDIRQ-irq-unsafe lock:
[   71.613033]  (&(&dev_priv->ramin_lock)->rlock){+.+...}
[   71.613033] ... which became HARDIRQ-irq-unsafe at:
[   71.613033] ...  [<ffffffff81081f0f>] __lock_acquire+0x371/0xd65
[   71.613033]   [<ffffffff81082dd2>] lock_acquire+0xc8/0xf3
[   71.613033]   [<ffffffff814b439b>] _raw_spin_lock+0x36/0x69
[   71.613033]   [<ffffffffa00933e7>] nouveau_gpuobj_new+0x16c/0x3db [nouveau]
[   71.613033]   [<ffffffffa00c59fe>] nv50_instmem_init+0x191/0x75b [nouveau]
[   71.613033]   [<ffffffffa008f9eb>] nouveau_card_init+0x107b/0x138d [nouveau]
[   71.613033]   [<ffffffffa009029c>] nouveau_load+0x582/0x5dd [nouveau]
[   71.613033]   [<ffffffffa0031c83>] drm_get_pci_dev+0x18a/0x28c [drm]
[   71.613033]   [<ffffffffa00d6c89>] nouveau_pci_probe+0x15/0x17 [nouveau]
[   71.613033]   [<ffffffff81268eb3>] local_pci_probe+0x44/0x75
[   71.613033]   [<ffffffff8106907b>] do_work_for_cpu+0x18/0x2a
[   71.613033]   [<ffffffff8106ecee>] kthread+0xa0/0xa8
[   71.613033]   [<ffffffff8100bb24>] kernel_thread_helper+0x4/0x10
[   71.613033] 
[   71.613033] other info that might help us debug this:
[   71.613033] 
[   71.613033] 2 locks held by Xorg/1294:
[   71.613033]  #0:  (drm_global_mutex){+.+.+.}, at: [<ffffffffa002b3ae>] drm_release+0x3a/0x5d9 [drm]
[   71.613033]  #1:  (&(&dev_priv->context_switch_lock)->rlock){-.-...}, at: [<ffffffffa0090896>] nouveau_channel_free+0x11a/0x254 [nouveau]
[   71.613033] 
[   71.613033] the dependencies between HARDIRQ-irq-safe lock and the holding lock:
[   71.613033] -> (&(&dev_priv->context_switch_lock)->rlock){-.-...} ops: 10 {
[   71.613033]    IN-HARDIRQ-W at:
[   71.613033]                                        [<ffffffff81081e8e>] __lock_acquire+0x2f0/0xd65
[   71.613033]                                        [<ffffffff81082dd2>] lock_acquire+0xc8/0xf3
[   71.613033]                                        [<ffffffff814b450b>] _raw_spin_lock_irqsave+0x45/0x7f
[   71.613033]                                        [<ffffffffa0095046>] nouveau_irq_handler+0x69/0x1ad7 [nouveau]
[   71.613033]                                        [<ffffffff810ba0eb>] handle_IRQ_event+0x61/0x132
[   71.613033]                                        [<ffffffff810bc4a3>] handle_fasteoi_irq+0xc6/0x10c
[   71.613033]                                        [<ffffffff8100d351>] handle_irq+0x88/0x90
[   71.613033]                                        [<ffffffff814bb528>] do_IRQ+0x58/0xb0
[   71.613033]                                        [<ffffffff814b5053>] ret_from_intr+0x0/0x16
[   71.613033]    IN-SOFTIRQ-W at:
[   71.613033]                                        [<ffffffff81081eb5>] __lock_acquire+0x317/0xd65
[   71.613033]                                        [<ffffffff81082dd2>] lock_acquire+0xc8/0xf3
[   71.613033]                                        [<ffffffff814b450b>] _raw_spin_lock_irqsave+0x45/0x7f
[   71.613033]                                        [<ffffffffa0095046>] nouveau_irq_handler+0x69/0x1ad7 [nouveau]
[   71.613033]                                        [<ffffffff810ba0eb>] handle_IRQ_event+0x61/0x132
[   71.613033]                                        [<ffffffff810bc4a3>] handle_fasteoi_irq+0xc6/0x10c
[   71.613033]                                        [<ffffffff8100d351>] handle_irq+0x88/0x90
[   71.613033]                                        [<ffffffff814bb528>] do_IRQ+0x58/0xb0
[   71.613033]                                        [<ffffffff814b5053>] ret_from_intr+0x0/0x16
[   71.613033]    INITIAL USE at:
[   71.613033]                                       [<ffffffff81081f90>] __lock_acquire+0x3f2/0xd65
[   71.613033]                                       [<ffffffff81082dd2>] lock_acquire+0xc8/0xf3
[   71.613033]                                       [<ffffffff814b450b>] _raw_spin_lock_irqsave+0x45/0x7f
[   71.613033]                                       [<ffffffffa00b307b>] nv50_fifo_create_context+0x131/0x2cc [nouveau]
[   71.613033]                                       [<ffffffffa0090e8e>] nouveau_channel_alloc+0x4be/0x550 [nouveau]
[   71.613033]                                       [<ffffffffa008fb1b>] nouveau_card_init+0x11ab/0x138d [nouveau]
[   71.613033]                                       [<ffffffffa009029c>] nouveau_load+0x582/0x5dd [nouveau]
[   71.613033]                                       [<ffffffffa0031c83>] drm_get_pci_dev+0x18a/0x28c [drm]
[   71.613033]                                       [<ffffffffa00d6c89>] nouveau_pci_probe+0x15/0x17 [nouveau]
[   71.613033]                                       [<ffffffff81268eb3>] local_pci_probe+0x44/0x75
[   71.613033]                                       [<ffffffff8106907b>] do_work_for_cpu+0x18/0x2a
[   71.613033]                                       [<ffffffff8106ecee>] kthread+0xa0/0xa8
[   71.613033]                                       [<ffffffff8100bb24>] kernel_thread_helper+0x4/0x10
[   71.613033]  }
[   71.613033]  ... key      at: [<ffffffffa00eab28>] __key.36454+0x0/0xfffffffffffec18d [nouveau]
[   71.613033]  ... acquired at:
[   71.613033]    [<ffffffff81081729>] check_irq_usage+0x42/0x89
[   71.613033]    [<ffffffff81082624>] __lock_acquire+0xa86/0xd65
[   71.613033]    [<ffffffff81082dd2>] lock_acquire+0xc8/0xf3
[   71.613033]    [<ffffffff814b439b>] _raw_spin_lock+0x36/0x69
[   71.613033]    [<ffffffffa009324b>] nouveau_gpuobj_del+0xc5/0xf5 [nouveau]
[   71.613033]    [<ffffffff8124cbce>] kref_put+0x43/0x4d
[   71.613033]    [<ffffffffa0092922>] nouveau_gpuobj_ref+0x39/0x42 [nouveau]
[   71.613033]    [<ffffffffa00ba1a1>] nv50_graph_destroy_context+0xbc/0xc8 [nouveau]
[   71.613033]    [<ffffffffa00908cc>] nouveau_channel_free+0x150/0x254 [nouveau]
[   71.613033]    [<ffffffffa0091099>] nouveau_channel_cleanup+0x76/0x8f [nouveau]
[   71.613033]    [<ffffffffa008fd0b>] nouveau_preclose+0xe/0x10 [nouveau]
[   71.613033]    [<ffffffffa002b3ee>] drm_release+0x7a/0x5d9 [drm]
[   71.613033]    [<ffffffff81134409>] fput+0x12c/0x1df
[   71.613033]    [<ffffffff81130e01>] filp_close+0x66/0x70
[   71.613033]    [<ffffffff8105632f>] put_files_struct+0xd3/0x19f
[   71.613033]    [<ffffffff81056498>] exit_files+0x4b/0x54
[   71.613033]    [<ffffffff81056a21>] do_exit+0x27d/0x7d8
[   71.613033]    [<ffffffff81057212>] do_group_exit+0x88/0xb6
[   71.613033]    [<ffffffff8106425b>] get_signal_to_deliver+0x3e2/0x401
[   71.613033]    [<ffffffff81009fe1>] do_signal+0x72/0x695
[   71.613033]    [<ffffffff8100a645>] do_notify_resume+0x28/0x86
[   71.613033]    [<ffffffff8100afd3>] int_signal+0x12/0x17
[   71.613033] 
[   71.613033] 
[   71.613033] the dependencies between the lock to be acquired and HARDIRQ-irq-unsafe lock:
[   71.613033] -> (&(&dev_priv->ramin_lock)->rlock){+.+...} ops: 20676 {
[   71.613033]    HARDIRQ-ON-W at:
[   71.613033]                                        [<ffffffff81081f0f>] __lock_acquire+0x371/0xd65
[   71.613033]                                        [<ffffffff81082dd2>] lock_acquire+0xc8/0xf3
[   71.613033]                                        [<ffffffff814b439b>] _raw_spin_lock+0x36/0x69
[   71.613033]                                        [<ffffffffa00933e7>] nouveau_gpuobj_new+0x16c/0x3db [nouveau]
[   71.613033]                                        [<ffffffffa00c59fe>] nv50_instmem_init+0x191/0x75b [nouveau]
[   71.613033]                                        [<ffffffffa008f9eb>] nouveau_card_init+0x107b/0x138d [nouveau]
[   71.613033]                                        [<ffffffffa009029c>] nouveau_load+0x582/0x5dd [nouveau]
[   71.613033]                                        [<ffffffffa0031c83>] drm_get_pci_dev+0x18a/0x28c [drm]
[   71.613033]                                        [<ffffffffa00d6c89>] nouveau_pci_probe+0x15/0x17 [nouveau]
[   71.613033]                                        [<ffffffff81268eb3>] local_pci_probe+0x44/0x75
[   71.613033]                                        [<ffffffff8106907b>] do_work_for_cpu+0x18/0x2a
[   71.613033]                                        [<ffffffff8106ecee>] kthread+0xa0/0xa8
[   71.613033]                                        [<ffffffff8100bb24>] kernel_thread_helper+0x4/0x10
[   71.613033]    SOFTIRQ-ON-W at:
[   71.613033]                                        [<ffffffff81081f33>] __lock_acquire+0x395/0xd65
[   71.613033]                                        [<ffffffff81082dd2>] lock_acquire+0xc8/0xf3
[   71.613033]                                        [<ffffffff814b439b>] _raw_spin_lock+0x36/0x69
[   71.613033]                                        [<ffffffffa00933e7>] nouveau_gpuobj_new+0x16c/0x3db [nouveau]
[   71.613033]                                        [<ffffffffa00c59fe>] nv50_instmem_init+0x191/0x75b [nouveau]
[   71.613033]                                        [<ffffffffa008f9eb>] nouveau_card_init+0x107b/0x138d [nouveau]
[   71.613033]                                        [<ffffffffa009029c>] nouveau_load+0x582/0x5dd [nouveau]
[   71.613033]                                        [<ffffffffa0031c83>] drm_get_pci_dev+0x18a/0x28c [drm]
[   71.613033]                                        [<ffffffffa00d6c89>] nouveau_pci_probe+0x15/0x17 [nouveau]
[   71.613033]                                        [<ffffffff81268eb3>] local_pci_probe+0x44/0x75
[   71.613033]                                        [<ffffffff8106907b>] do_work_for_cpu+0x18/0x2a
[   71.613033]                                        [<ffffffff8106ecee>] kthread+0xa0/0xa8
[   71.613033]                                        [<ffffffff8100bb24>] kernel_thread_helper+0x4/0x10
[   71.613033]    INITIAL USE at:
[   71.613033]                                       [<ffffffff81081f90>] __lock_acquire+0x3f2/0xd65
[   71.613033]                                       [<ffffffff81082dd2>] lock_acquire+0xc8/0xf3
[   71.613033]                                       [<ffffffff814b439b>] _raw_spin_lock+0x36/0x69
[   71.613033]                                       [<ffffffffa00933e7>] nouveau_gpuobj_new+0x16c/0x3db [nouveau]
[   71.613033]                                       [<ffffffffa00c59fe>] nv50_instmem_init+0x191/0x75b [nouveau]
[   71.613033]                                       [<ffffffffa008f9eb>] nouveau_card_init+0x107b/0x138d [nouveau]
[   71.613033]                                       [<ffffffffa009029c>] nouveau_load+0x582/0x5dd [nouveau]
[   71.613033]                                       [<ffffffffa0031c83>] drm_get_pci_dev+0x18a/0x28c [drm]
[   71.613033]                                       [<ffffffffa00d6c89>] nouveau_pci_probe+0x15/0x17 [nouveau]
[   71.613033]                                       [<ffffffff81268eb3>] local_pci_probe+0x44/0x75
[   71.613033]                                       [<ffffffff8106907b>] do_work_for_cpu+0x18/0x2a
[   71.613033]                                       [<ffffffff8106ecee>] kthread+0xa0/0xa8
[   71.613033]                                       [<ffffffff8100bb24>] kernel_thread_helper+0x4/0x10
[   71.613033]  }
[   71.613033]  ... key      at: [<ffffffffa00eab30>] __key.35811+0x0/0xfffffffffffec185 [nouveau]
[   71.613033]  ... acquired at:
[   71.613033]    [<ffffffff81081729>] check_irq_usage+0x42/0x89
[   71.613033]    [<ffffffff81082624>] __lock_acquire+0xa86/0xd65
[   71.613033]    [<ffffffff81082dd2>] lock_acquire+0xc8/0xf3
[   71.613033]    [<ffffffff814b439b>] _raw_spin_lock+0x36/0x69
[   71.613033]    [<ffffffffa009324b>] nouveau_gpuobj_del+0xc5/0xf5 [nouveau]
[   71.613033]    [<ffffffff8124cbce>] kref_put+0x43/0x4d
[   71.613033]    [<ffffffffa0092922>] nouveau_gpuobj_ref+0x39/0x42 [nouveau]
[   71.613033]    [<ffffffffa00ba1a1>] nv50_graph_destroy_context+0xbc/0xc8 [nouveau]
[   71.613033]    [<ffffffffa00908cc>] nouveau_channel_free+0x150/0x254 [nouveau]
[   71.613033]    [<ffffffffa0091099>] nouveau_channel_cleanup+0x76/0x8f [nouveau]
[   71.613033]    [<ffffffffa008fd0b>] nouveau_preclose+0xe/0x10 [nouveau]
[   71.613033]    [<ffffffffa002b3ee>] drm_release+0x7a/0x5d9 [drm]
[   71.613033]    [<ffffffff81134409>] fput+0x12c/0x1df
[   71.613033]    [<ffffffff81130e01>] filp_close+0x66/0x70
[   71.613033]    [<ffffffff8105632f>] put_files_struct+0xd3/0x19f
[   71.613033]    [<ffffffff81056498>] exit_files+0x4b/0x54
[   71.613033]    [<ffffffff81056a21>] do_exit+0x27d/0x7d8
[   71.613033]    [<ffffffff81057212>] do_group_exit+0x88/0xb6
[   71.613033]    [<ffffffff8106425b>] get_signal_to_deliver+0x3e2/0x401
[   71.613033]    [<ffffffff81009fe1>] do_signal+0x72/0x695
[   71.613033]    [<ffffffff8100a645>] do_notify_resume+0x28/0x86
[   71.613033]    [<ffffffff8100afd3>] int_signal+0x12/0x17
[   71.613033] 
[   71.613033] 
[   71.613033] stack backtrace:
[   71.613033] Pid: 1294, comm: Xorg Not tainted 2.6.37-0.rc5.git2.1.fc15.x86_64 #1
[   71.613033] Call Trace:
[   71.613033]  [<ffffffff810816d2>] check_usage+0x351/0x366
[   71.613033]  [<ffffffff8101161c>] ? sched_clock+0x9/0xd
[   71.613033]  [<ffffffff81082108>] ? __lock_acquire+0x56a/0xd65
[   71.613033]  [<ffffffff81081729>] check_irq_usage+0x42/0x89
[   71.613033]  [<ffffffff81082624>] __lock_acquire+0xa86/0xd65
[   71.613033]  [<ffffffff81082108>] ? __lock_acquire+0x56a/0xd65
[   71.613033]  [<ffffffffa009324b>] ? nouveau_gpuobj_del+0xc5/0xf5 [nouveau]
[   71.613033]  [<ffffffff81082dd2>] lock_acquire+0xc8/0xf3
[   71.613033]  [<ffffffffa009324b>] ? nouveau_gpuobj_del+0xc5/0xf5 [nouveau]
[   71.613033]  [<ffffffff814b439b>] _raw_spin_lock+0x36/0x69
[   71.613033]  [<ffffffffa009324b>] ? nouveau_gpuobj_del+0xc5/0xf5 [nouveau]
[   71.613033]  [<ffffffffa00c55e6>] ? nv84_instmem_flush+0x3a/0x6a [nouveau]
[   71.613033]  [<ffffffffa009324b>] nouveau_gpuobj_del+0xc5/0xf5 [nouveau]
[   71.613033]  [<ffffffffa0093186>] ? nouveau_gpuobj_del+0x0/0xf5 [nouveau]
[   71.613033]  [<ffffffff8124cbce>] kref_put+0x43/0x4d
[   71.613033]  [<ffffffffa0092922>] nouveau_gpuobj_ref+0x39/0x42 [nouveau]
[   71.613033]  [<ffffffffa00ba1a1>] nv50_graph_destroy_context+0xbc/0xc8 [nouveau]
[   71.613033]  [<ffffffffa00908cc>] nouveau_channel_free+0x150/0x254 [nouveau]
[   71.613033]  [<ffffffffa0091099>] nouveau_channel_cleanup+0x76/0x8f [nouveau]
[   71.613033]  [<ffffffffa008fd0b>] nouveau_preclose+0xe/0x10 [nouveau]
[   71.613033]  [<ffffffffa002b3ee>] drm_release+0x7a/0x5d9 [drm]
[   71.613033]  [<ffffffff81134409>] fput+0x12c/0x1df
[   71.613033]  [<ffffffff81130e01>] filp_close+0x66/0x70
[   71.613033]  [<ffffffff8105632f>] put_files_struct+0xd3/0x19f
[   71.613033]  [<ffffffff81056498>] exit_files+0x4b/0x54
[   71.613033]  [<ffffffff81056a21>] do_exit+0x27d/0x7d8
[   71.613033]  [<ffffffff81057212>] do_group_exit+0x88/0xb6
[   71.613033]  [<ffffffff8106425b>] get_signal_to_deliver+0x3e2/0x401
[   71.613033]  [<ffffffff81009fe1>] do_signal+0x72/0x695
[   71.613033]  [<ffffffff8100acba>] ? sysret_check+0x2e/0x69
[   71.613033]  [<ffffffff810831f1>] ? trace_hardirqs_on_caller+0x10b/0x12f
[   71.613033]  [<ffffffff810ac2a0>] ? audit_syscall_entry+0x11c/0x148
[   71.613033]  [<ffffffff814b4111>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[   71.613033]  [<ffffffff8100ad19>] ? sysret_signal+0x5/0x4e
[   71.613033]  [<ffffffff8100a645>] do_notify_resume+0x28/0x86
[   71.613033]  [<ffffffff8100afd3>] int_signal+0x12/0x17
[   73.131770] [drm] nouveau 0000:05:00.0: Allocating FIFO number 2


Expected results: no complaint


Additional info:
# lspci
00:00.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3)
00:01.0 ISA bridge: nVidia Corporation CK804 ISA Bridge (rev a3)
00:01.1 SMBus: nVidia Corporation CK804 SMBus (rev a2)
00:02.0 USB Controller: nVidia Corporation CK804 USB Controller (rev a2)
00:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3)
00:04.0 Multimedia audio controller: nVidia Corporation CK804 AC'97 Audio Controller (rev a2)
00:06.0 IDE interface: nVidia Corporation CK804 IDE (rev f2)
00:07.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev f3)
00:09.0 PCI bridge: nVidia Corporation CK804 PCI Bridge (rev a2)
00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3)
00:0b.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3)
00:0c.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3)
00:0d.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3)
00:0e.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
05:00.0 VGA compatible controller: nVidia Corporation G84 [GeForce 8400 GS] (rev a1)

Comment 1 John Reiser 2010-12-16 22:12:13 UTC
It looks like firstboot failed graphical mode, then tried console text mode, and then gdm got started in graphical mode.  The problem with lock order was detected at login to graphical mode.  Booting with text console shows:
-----
Starting ACPI Event Daemon...
Starting /etc/rc.local Compatibility...
Starting firstboot configuration program (graphical mode)...
Retrigger failed udev eventsStarting cups: Starting mdmonitor:  Text Mode Setup Utility 1.19.11(c) 1999-2006 Red Hat, Inc. ┌────────┤ Choose a Tool ├─────────┐ ││ │   Authentication configuration   │ │   Firewall configuration│ │   Keyboard configuration│ │   Network configuration│ │   System services│ ││ │┌──────────┐  ┌──────┐│ ││ Run Tool │  │ Quit ││ │└──────────┘  └──────┘│ ││ ││ └──────────────────────────────────┘<Tab>/<Alt-Tab> between elements  |    Use <Enter> to edit a selection[FAILED]
Starting firstboot configuration program (graphical mode) failed.
Starting Display Manager...
[   46.666876] [drm] nouveau 0000:05:00.0: Allocating FIFO number 2
[   46.682439] [drm] nouveau 0000:05:00.0: nouveau_channel_alloc: initialised FIFO 2
[   54.971897] ata1.00: configured for UDMA/100
[   54.976397] ata1: EH complete
[   55.487462] ata3.00: configured for UDMA/133
[   55.491848] ata3: EH complete
[   55.620382] ata4.00: configured for UDMA/133
[   55.624707] ata4: EH complete
[   56.152679] EXT4-fs (sdd7): re-mounted. Opts: commit=0
[   75.438981] [drm] nouveau 0000:05:00.0: nouveau_channel_free: freeing fifo 2
[   75.454022] 
[   75.454022] ======================================================
[   75.454022] [ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ]
[   75.454022] 2.6.37-0.rc5.git2.1.fc15.x86_64 #1
[   75.454022] ------------------------------------------------------
[   75.454022] Xorg/1170 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
[   75.454022]  (&(&dev_priv->ramin_lock)->rlock){+.+...}, at: [<ffffffffa009324b>] nouveau_gpuobj_del+0xc5/0xf5 [nouveau]
-----

There was also a traceback in /var/log/Xorg.0.log.old which I will attach.

Comment 2 John Reiser 2010-12-16 22:14:44 UTC
Created attachment 469225 [details]
Xorg.0.log.old

Backtrace:
[    70.479] 0: /usr/bin/Xorg (xorg_backtrace+0x34) [0x4a2834]
[    70.479] 1: /usr/bin/Xorg (0x400000+0x61f47) [0x461f47]
[    70.479] 2: /lib64/libc.so.6 (0x7f2ccaac8000+0x34100) [0x7f2ccaafc100]
[    70.479] 3: /lib64/libc.so.6 (__select+0x13) [0x7f2ccaba4ec3]
[    70.479] 4: /usr/bin/Xorg (WaitForSomething+0x183) [0x45aff3]
[    70.479] 5: /usr/bin/Xorg (0x400000+0x2d2c2) [0x42d2c2]
[    70.480] 6: /usr/bin/Xorg (0x400000+0x211ca) [0x4211ca]
[    70.480] 7: /lib64/libc.so.6 (__libc_start_main+0xfd) [0x7f2ccaae6e7d]
[    70.480] 8: /usr/bin/Xorg (0x400000+0x20d69) [0x420d69]
[    70.480]
Fatal server error:
[    70.480] Caught signal 3 (Quit). Server aborting
[    70.480]

Comment 3 John Reiser 2010-12-17 16:32:10 UTC
The same thing happens on every boot, probably because firstboot is still trying.  I see files such as
-----/tmp/firstboot-KY7mfE
Traceback (most recent call last):
  File "/usr/sbin/firstboot", line 168, in <module>
    config.frontend.start()
  File "/usr/lib/python2.7/site-packages/firstboot/xfrontend.py", line 98, in start
    raise RuntimeError, "X server failed to start"
RuntimeError: X server failed to start
-----

I also see
-----/var/log/boot.log
  ...
Starting /etc/rc.local Compatibility...
Starting firstboot configuration program (graphical mode)...
Retrigger failed udev eventsStarting cups: Starting mdmonitor:  ^[[1;64r^[(B^[)0^[[1;64r^[[H^[[J^[[1;1HText Mode Setup Utility 1.19.11^[[22C(c) 1999-2006 Red Hat, Inc.^[[26;62H^[[1K ┌────────┤ Choose a Tool ├─────────┐^[[27;62H^[[1K │^[[34C│^[[28;62H^[[1K │   Authentication configuration   │^[[29;62H^[[1K │   Firewall configuration^[[9C│^[[30;62H^[[1K │   Keyboard configuration^[[9C│^[[31;62H^[[1K │   Network configuration^[[10C│^[[32;62H^[[1K │   System services^[[16C│^[[33;62H^[[1K │^[[34C│^[[34;62H^[[1K │^[[6C┌──────────┐  ┌──────┐^[[6C│^[[35;62H^[[1K │^[[6C│ Run Tool │  │ Quit │^[[6C│^[[36;62H^[[1K │^[[6C└──────────┘  └──────┘^[[6C│^[[37;62H^[[1K │^[[34C│^[[38;62H^[[1K │^[[34C│^[[39;62H^[[1K └──────────────────────────────────┘^[[64;5H<Tab>/<Alt-Tab> between elements  |    Use <Enter> to edit a selection^[[28;66H^[[60G[^[[0;31mFAILED^[[0;39m]^M
Starting firstboot configuration program (graphical mode) ^[[1;31mfailed^[[0m.
Starting Display Manager...
-----
which shows two failures to start firstboot in graphical mode.

Comment 4 Adam Williamson 2011-01-11 17:20:12 UTC
firstboot failing to run is quite an important issue, so setting this as high. Is this still happening in current rawhide?



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 5 John Reiser 2011-01-11 19:56:37 UTC
Installing a DVD of today's rawhide hits anaconda bug 668855 (assertion failure in lu_modules_load after Next from timezone dialog).  Installation fails, so we cannot test firstboot until 668855 is fixed.

Comment 6 John Reiser 2011-01-18 05:12:36 UTC
The firstboot problem has been separated into Bug #670379.

Comment 7 Luke Hutchison 2011-02-16 00:30:01 UTC
I just updated to the latest F14 update packages (for the first time in a month or so), and on reboot Nouveau failed to start with this same error message. I'm currently posting this from console-mode elinks because X won't start!  I would say this constitutes major breakage since F14 is a shipping version.

Comment 8 Luke Hutchison 2011-02-16 00:59:31 UTC
Funnily enough, I did a yum update again right after I posted the above, and there was a new kernel version that fixed the problem. I must have gotten the nouveau update but not the corresponding kernel update the first time I updated.

Comment 9 Matěj Cepl 2011-08-04 21:54:30 UTC
(In reply to comment #2)
> Created attachment 469225 [details]
> Xorg.0.log.old

In function WaitForSomething:
(from frame 4: /usr/bin/Xorg (WaitForSomething+0x183) [0x45aff3])
221: 	    i = -1;
222: 	else if (AnyClientsWriteBlocked)
223: 	{
224: 	    XFD_COPYSET(&ClientsWriteBlocked, &clientsWritable);
225: 	    i = Select (MaxClients, &LastSelectMask, &clientsWritable, NULL, wt);
226: 	}
227: 	else 
228: 	{
229: 	    i = Select (MaxClients, &LastSelectMask, NULL, NULL, wt);
230: 	}
231: >>>>>>> 	selecterr = GetErrno();
232: 	WakeupHandler(i, (pointer)&LastSelectMask);
233: 	SmartScheduleStartTimer ();
234: 	if (i <= 0) /* An error or timeout occurred */
235: 	{
236: 	    if (dispatchException)
237: 		return 0;
238: 	    if (i < 0) 
239: 	    {
240: 		if (selecterr == EBADF)    /* Some client disconnected */
241: 		{


Frame 5: /usr/bin/Xorg (0x400000+0x2d2c2) [0x42d2c2]
	/usr/src/debug/xorg-server-20101201/dix/dispatch.c:369
	Dispatch
Frame 6: /usr/bin/Xorg (0x400000+0x211ca) [0x4211ca]
	/usr/src/debug/xorg-server-20101201/dix/main.c:289
	main

Comment 10 Matěj Cepl 2011-08-04 22:27:06 UTC
There are similar backtraces in bug 728321, bug 727778 (and perhaps bug 703155). Less similar (but perhaps in the same function) are bug 714746 and bug 710564.

Comment 11 Matěj Cepl 2011-08-04 23:04:33 UTC
Fatal server error:
[    70.480] Caught signal 3 (Quit). Server aborting

Comment 12 Ben Skeggs 2011-08-04 23:15:04 UTC
Correct me if i'm wrong, but I think the original part of this bug (lockdep complaint) is fixed now?

Comment 13 John Reiser 2011-08-05 14:38:40 UTC
(In reply to comment #12)
I have not seen the problem since January.

Comment 14 Matěj Cepl 2011-08-08 09:47:38 UTC
Thank you for letting us know. Please, reopen if it happens again.