Bug 40336

Summary: Nouveau: Kernel oops when unplugging external monitor
Product: xorg Reporter: Marco <marco>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
lspci
none
emerge --info output
none
Xorg.0.log
none
dmesg after kernel oops
none
glxinfo output
none
lsmod
none
xrandr verbose output before unplugging monitor
none
/var/log/messages
none
fix none

Description Marco 2011-08-24 00:16:24 UTC
Created attachment 50518 [details]
lspci

Hi everybody.

I encountered a bug that is kind of annoying. It is my first bug report, so please be patient. ;) When I use an external monitor and either
(a) just unplug the cable or
(b) change the xrandr settings and use ctrl-alt f1 to get a terminal
the screen stays black. Fortunately, I could save the log files with the help of a ssh session.

I use a GeForce Go 7300. The command sequence is the following:
* To use the monitor: xrandr --output VGA-1 --auto --right-of LVDS-1
* To deactivate the monitor: xrandr --output VGA-1 --off

The problems also occurs when I use a much smaller monitor.

I attached all the log files (dmesg, /var/log/messages, kernel configs ...).
Because I am abroad and this computer is my only way to work here, I try to avoid using the current git HEAD of nouveau.

# uname -a
Linux samson 3.0.1-gentoo #1 SMP Fri Aug 12 09:59:57 IDT 2011 i686 Intel(R) Core(TM)2 CPU T5600 @ 1.83GHz GenuineIntel GNU/Linux

I use mesa-7.11, libdrm-2.4.26, and xf86-video-nouveau-0.0.16_pre20110801, xorg-server-1.10.2

I am very eager to help fixing this bug.
Comment 1 Marco 2011-08-24 00:17:08 UTC
Created attachment 50519 [details]
emerge --info output
Comment 2 Marco 2011-08-24 00:18:06 UTC
Created attachment 50520 [details]
Xorg.0.log
Comment 3 Marco 2011-08-24 00:18:50 UTC
Created attachment 50521 [details]
dmesg after kernel oops
Comment 4 Marco 2011-08-24 00:19:26 UTC
Created attachment 50522 [details]
glxinfo output
Comment 5 Marco 2011-08-24 00:19:51 UTC
Created attachment 50523 [details]
lsmod
Comment 6 Marco 2011-08-24 00:20:40 UTC
Created attachment 50524 [details]
xrandr verbose output before unplugging monitor
Comment 7 Marco 2011-08-24 00:21:35 UTC
Created attachment 50525 [details]
/var/log/messages
Comment 8 Marco 2011-08-24 00:47:18 UTC
I should mention that I use suspend2ram from time to time. But it seems that this bug also occur after a reboot without suspend2ram involved.
Comment 9 Emil Velikov 2011-08-24 14:36:37 UTC
Created attachment 50547 [details] [review]
fix

Hi Marco

Thanks for the comprehensive bug report

Regarding your issue - I believe it's similar to bug 40005

Although in your case the nv04 codepath has been used

Can you please try the patch provided

Cheers
Emil
Comment 10 Marco 2011-08-24 23:29:27 UTC
(In reply to comment #9)
> Created an attachment (id=50547) [details]
> fix
> 
> Hi Marco
> 
> Thanks for the comprehensive bug report
> 
> Regarding your issue - I believe it's similar to bug 40005
> 
> Although in your case the nv04 codepath has been used
> 
> Can you please try the patch provided
> 
> Cheers
> Emil


Hi Emil,

it worked!!
Thank you very much for your work.

I am very satisfied with nouveau.
I just have one bug on my list. Unfortunately, it is very hard to trigger this bug. It happens sometimes with mplayer2, but not mplayer. And it is somehow connected to a huge number of messages like
(EE) NOUVEAU(0): [DRI2] DRI2SwapBuffers: drawable has no back or front?

I will open a new bug if I have more reliable information and maybe log files.

Can be marked as fixed.
Comment 11 Emil Velikov 2011-08-26 10:50:53 UTC
Thanks for testing

Marking as FIXED
Comment 12 Florian Mickler 2011-10-06 05:50:22 UTC
A patch referencing this bug report has been merged in Linux v3.1-rc6:

commit 0e83bb4eee1c504ab98367b4f7d1bc337ab213d2
Author: Emil Velikov <emil.l.velikov@gmail.com>
Date:   Thu Aug 25 21:36:51 2011 +0100

    drm/nv04/crtc: Bail out if FB is not bound to crtc

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.