[NV86] nouveau/kernel 3.18.0-rc1: nouveau deadlocks on 2nd Xorg start or reboot
Submitted by Christian Vogel
Assigned to Nouveau Project
Description
Created attachment 108436
Dump of serial console during bootup... up to hang on shutdown.
Summary: I can start Xorg once just fine, also switch to/from text-consoles. But once this X-server ends, both monitors will turn black and go to powersave.
After this has happened, a new X-server will hang. Also a clean reboot is no longer possible, because also the shutdown-code running in the Kernel will hang with a similar stack trace.
This bug is reproducible 100%.
Hardware: NVIDIA Corporation G86 [Quadro NVS 290] (rev a1)
BOOT0 : 0x086f00a2
Chipset: G86 (NV86)
Family : NV50
Platform: amd64
Linux-Kernel: 3.18.0-rc1
Distribution: Arch-Linux
Xorg server: xorg-server 1.16.1-1 (from Archlinux repository)
Xorg driver: xf86-video-nouveau 1.0.11-2 (from Archlinux repository)
Everything looks pretty unremarkable while using the computer normally running X which is very stable, can run for days. Also terminating the X server looks uneventful.
***
*** Starting the second X-server hangs...
***
[root@optiplex ~]# ps axf | grep X
4173 pts/1 D+ 0:00 | _ /usr/bin/Xorg.wrap
[root@optiplex ~]# cat /proc/4173/wchan
rpm_resume
[root@optiplex ~]# cat /proc/4173/syscall
2 0x7fffc7a788c0 0x2 0x7fffc7a788ce 0x690 0x7f0c3e0ed140 0x0 0x7fffc7a77fb0 0x7f0c3e06a330
[root@optiplex ~]# cat /proc/4173/stack
[<ffffffff8146b222>
] rpm_resume+0x220/0x4b7
[<ffffffff8146b4fb>
] __pm_runtime_resume+0x42/0x5e
[<ffffffff8143064d>
] nouveau_drm_open+0x3d/0x249
[<ffffffff8138fc3d>
] drm_open+0x235/0x43e
[<ffffffff8139543f>
] drm_stub_open+0xc1/0xee
[<ffffffff81169cb1>
] chrdev_open+0x151/0x18b
[<ffffffff81163cde>
] do_dentry_open+0x245/0x2b7
[<ffffffff81163fb3>
] finish_open+0x35/0x40
[<ffffffff81171e14>
] do_last.isra.32+0x83a/0xa7c
[<ffffffff8117226e>
] path_openat+0x218/0x5cd
[<ffffffff811735fd>
] do_filp_open+0x49/0xad
[<ffffffff81164fec>
] do_sys_open+0x15a/0x1fd
[<ffffffff811650ad>
] SyS_open+0x1e/0x20
[<ffffffff815c7529>
] system_call_fastpath+0x12/0x17
[<ffffffffffffffff>
] 0xffffffffffffffff
***
*** Alternatively, after a new reboot, not trying to start a 2nd X-server,
*** and shutting down the machine, this hangcheck info appears on the serial
*** console two minutes after the shutdown...
***
[ 240.486671] INFO: task kworker/0:3:126 blocked for more than 120 seconds.
[ 240.493460] Not tainted 3.18.0-rc1-cv+ #4
[ 240.497980] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 240.505796] kworker/0:3 D ffff880127c143c0 0 126 2 0x00000000
[ 240.512849] Workqueue: pm pm_runtime_work
[ 240.516858] ffff8800cb3cfbd8 0000000000000046 00000000000003ff ffff8800cb3cffd8
[ 240.524264] ffff8800cb1ae5c0 00000000000143c0 ffffffff81a18540 ffff8800cb1ae5c0
[ 240.531668] 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 240.539087] Call Trace:
[ 240.541538] [<ffffffff812b3001>
] ? cpumask_next_and+0x20/0x3e
[ 240.547357] [<ffffffff81082838>
] ? load_balance+0x20e/0x893
[ 240.552999] [<ffffffff81019bd3>
] ? native_sched_clock+0x28/0x93
[ 240.558987] [<ffffffff815c3e43>
] schedule+0x69/0x6b
[ 240.563936] [<ffffffff8146b222>
] rpm_resume+0x220/0x4b7
[ 240.569231] [<ffffffff81088191>
] ? __wake_up_sync+0x12/0x12
[ 240.574871] [<ffffffff8146b710>
] pm_runtime_forbid+0x42/0x4f
[ 240.580599] [<ffffffff8142f6cd>
] nouveau_pmops_runtime_suspend+0x32/0xd2
[ 240.587366] [<ffffffff812e2972>
] pci_pm_runtime_suspend+0x63/0x110
[ 240.593612] [<ffffffff812e290f>
] ? pci_legacy_suspend+0xbe/0xbe
[ 240.599598] [<ffffffff8146a40c>
] __rpm_callback+0x3a/0x62
[ 240.605064] [<ffffffff8146a4a8>
] rpm_callback+0x74/0x8a
[ 240.610357] [<ffffffff8146aa60>
] rpm_suspend+0x25b/0x459
[ 240.615738] [<ffffffff8146b9d5>
] pm_runtime_work+0x7b/0x88
[ 240.621292] [<ffffffff8106a735>
] process_one_work+0x1b5/0x365
[ 240.627105] [<ffffffff8106b281>
] worker_thread+0x29d/0x381
[ 240.632657] [<ffffffff8106afe4>
] ? rescuer_thread+0x24c/0x24c
[ 240.638472] [<ffffffff8106ed95>
] kthread+0xf3/0xfb
[ 240.643333] [<ffffffff8106eca2>
] ? kthread_create_on_node+0x1a9/0x1a9
[ 240.649839] [<ffffffff815c747c>
] ret_from_fork+0x7c/0xb0
[ 240.655219] [<ffffffff8106eca2>
] ? kthread_create_on_node+0x1a9/0x1a9
Attachment 108436, "Dump of serial console during bootup... up to hang on shutdown.":
kernel_messages_hang_nouveau_on_reboot.txt