Bug 504464

Summary: X doesn't start: "Prepare for strangeness..."
Product: [Fedora] Fedora Reporter: Amit Shah <amit.shah>
Component: xorg-x11-drv-nouveauAssignee: Ben Skeggs <bskeggs>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: high    
Version: 11CC: airlied, ajax, amit.shah, bskeggs, ss
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://bugs.freedesktop.org/show_bug.cgi?id=22572
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-08-24 12:11:32 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
dmesg from 'nomodeset'
none
Xorg.0.log when kms is disabled.
none
dmesg with kms enabled
none
Xorg.0.log with kms enabled
none
dmesg with drm.debug=1
none
dmesg with rawhide kernel+drv
none
Xorg.0.log with rawhide kernel+drv none

Description Amit Shah 2009-06-07 11:21:24 UTC
Description of problem:

Booting from a liveusb image from the F11 (-rc4) x86_64 release gives me this:

nouveau: nouveau_fifo_free: freeing fifo 1
nouveau: Failed to idle channel 1. Prepare for strangeness..
nouveau: PFIFO_DMA_PUSHER - Ch 1
nouveau: nouveau_fifo_free: freeing fifo 0
nouveau: PFIFO_DMA_PUSHER - Ch 1

The DVD-based install too doesn't enter X.

I'll boot with kms disabled and report the smolt profile and Xorg.0.log output.

Comment 1 Amit Shah 2009-06-07 11:29:07 UTC
Forgot to mention: the liveusb image for F11-PR x86-64 had worked fine for me. So the regression triggered somewhere in the rc release.

Comment 2 Amit Shah 2009-06-07 11:30:43 UTC
Created attachment 346776 [details]
dmesg from 'nomodeset'

'nomodeset' also fails to start X. Complains of more badness.

Comment 3 Amit Shah 2009-06-07 11:32:26 UTC
Created attachment 346777 [details]
Xorg.0.log when kms is disabled.

Just drops to a shell even with nomodeset.

Comment 4 Amit Shah 2009-06-07 11:35:03 UTC
Created attachment 346778 [details]
dmesg with kms enabled

Comment 5 Amit Shah 2009-06-07 11:36:25 UTC
Created attachment 346779 [details]
Xorg.0.log with kms enabled

All these attachments are while booting the liveusb image of F11 (-rc4) x86-64. I get dropped to a shell.

Comment 6 Amit Shah 2009-06-08 09:43:42 UTC
And I think I had tried this with the Beta release as well.

Also, should this be considered a blocker?

Comment 7 Ben Skeggs 2009-06-08 10:39:12 UTC
Firstly, there is no KMS support as of yet on this chipset, so there's no difference at all with modeset=1/modeset=0.

I don't consider this a blocker, it's specific to a single configuration, there are reported working cases of the same chipset working fine, so it's not even a chipset-specific issue, let alone something to expect for most users in general.

Posting the dmesg log from booting with drm.debug=1 on the kernel commandline may be useful, doesn't hurt to take a look anyway.

Comment 8 Amit Shah 2009-06-08 12:51:44 UTC
Created attachment 346862 [details]
dmesg with drm.debug=1

Comment 9 Amit Shah 2009-06-08 12:55:01 UTC
Attached the dmesg with drm.debug=1. This worked for me with the Beta livecd, so it has regressed since then. The lspci output looks like this

00:05.0 VGA compatible controller: nVidia Corporation C51 [GeForce 6150 LE] (rev a2) (prog-if 00 [VGA controller])
        Subsystem: nVidia Corporation Device 0222
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
        Region 1: Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Region 3: Memory at fc000000 (64-bit, non-prefetchable) [size=16M]
        [virtual] Expansion ROM at c4000000 [disabled] [size=128K]
        Capabilities: [48] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [50] MSI: Mask- 64bit+ Count=1/1 Enable-
                Address: 0000000000000000  Data: 0000
        Kernel modules: nouveau

Comment 10 Amit Shah 2009-06-15 08:48:32 UTC
The vesa and nv drivers also don't work so it's a blocker for me -- increasing the priority.

(vesa says No screens found and 

nv says mtrr: no MTRR for e0000000,4000000 found
   error setting MTRR (base = 0xe0000000, size = 0x04000000, type = 1) Invalid argument (22)

Comment 11 Amit Shah 2009-07-01 07:20:37 UTC
Reported upstream:

https://bugs.freedesktop.org/show_bug.cgi?id=22572

Comment 12 Jack Perdue 2009-07-01 15:54:57 UTC
I had a similar problem with similar hardware.  The best workaround thus far is to create an xorg.conf and include the NoAccel option to the nouveau driver. e.g.

$ /sbin/lspci | grep VGA
00:05.0 VGA compatible controller: nVidia Corporation C51 [GeForce 6150 LE] (rev a2)

$ cat /etc/X11/xorg.conf 
Section "Device"
        Identifier  "Videocard0"
        Driver      "nouveau"
# 29jun2009/jack - HWCursor off needed for mouse pointer to show up
        Option          "HWCursor" "off"
# 29jun2009/jack - NoAccel on needed to fix garbled/broken screen
        Option          "NoAccel" "on"
EndSection

Comment 13 Amit Shah 2009-07-17 16:12:03 UTC
I updated the nouveau driver and the kernel from rawhide on the F11 install:

Jan 01 00:45:46 Updated: xorg-x11-server-common-1.6.99-9.20090706.fc12.x86_64
Jan 01 00:45:47 Updated: kernel-firmware-2.6.31-0.67.rc2.git9.fc12.noarch
Jan 01 00:46:03 Installed: kernel-2.6.31-0.67.rc2.git9.fc12.x86_64
Jan 01 00:46:04 Updated: libdrm-2.4.12-0.1.fc12.x86_64
Jan 01 00:46:05 Updated: xorg-x11-server-Xorg-1.6.99-9.20090706.fc12.x86_64
Jan 01 00:46:05 Updated: libdrm-devel-2.4.12-0.1.fc12.x86_64
Jan 01 00:46:06 Updated: 1:xorg-x11-drv-nouveau-0.0.14-1.20090701git6d14327.fc12.x86_64

(the date is screwed)

After this change 'startx' starts X, shows gnome-desktop, icons, etc. but:
- has garbled output in the first few rows of the monitor.
- keyboard and mouse don't work
- if left for some time, the display blanked but the garbled lines were still visible as-is.

Will attach dmesg and Xorg.0.log.

Note: I still don't have any /etc/X11/xorg.conf

Comment 14 Amit Shah 2009-07-17 16:13:41 UTC
Created attachment 354172 [details]
dmesg with rawhide kernel+drv

Comment 15 Amit Shah 2009-07-17 16:14:17 UTC
Created attachment 354173 [details]
Xorg.0.log with rawhide kernel+drv

Comment 16 Amit Shah 2009-07-17 16:18:05 UTC
With the rawhide kernel+drv when I issued a "pkill X" I got this:

end_request: I/O error, dev fd0, sector 0
end_request: I/O error, dev fd0, sector 0
nouveau 0000:00:05.0: nouveau_fifo_free: freeing fifo 1
nouveau 0000:00:05.0: nouveau_fifo_free: freeing fifo 0
------------[ cut here ]------------
kernel BUG at drivers/gpu/drm/ttm/ttm_bo.c:1291!
invalid opcode: 0000 [#1] SMP
last sysfs file: /sys/devices/virtual/block/dm-0/queue/hw_sector_size
CPU 1
Modules linked in: fuse bridge stp llc bnep sco l2cap bluetooth rfkill sunrpc ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 uinput ppdev amd64_edac_mod k8temp edac_core pcspkr serio_raw hwmon forcedeth i2c_nforce2 pata_amd sky2 parport_pc parport floppy ata_generic pata_acpi sata_nv nouveau ttm drm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan]
Pid: 1591, comm: X Not tainted 2.6.31-0.67.rc2.git9.fc12.x86_64 #1 GA-3PXSL-RH
RIP: 0010:[<ffffffffa0045cd0>]  [<ffffffffa0045cd0>] ttm_bo_device_release+0x116/0x165 [ttm]
RSP: 0018:ffff88012f82fba8  EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff8801381000b0 RCX: 00000000000000ea
RDX: 0000000000000000 RSI: ffff88002efde000 RDI: ffff880138100738
RBP: ffff88012f82fbd8 R08: ffffffff821ae710 R09: 0000000000000000
R10: ffffffff81e15be0 R11: 0000000000000000 R12: ffff880138100728
R13: 0000000000000000 R14: ffff880130181c08 R15: ffff880138c35358
FS:  00007fbd5cd837b0(0000) GS:ffff88002efde000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00007fbd5778d7f0 CR3: 0000000131c96000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process X (pid: 1591, threadinfo ffff88012f82e000, task ffff8801310b0000)
Stack:
 ffff88012f82fbe8 000000001caf62b7 ffff880138100000 ffff880138c35168
<0> ffff8801381000b0 ffff880138c35340 ffff88012f82fc18 ffffffffa0055cc2
<0> ffff88012f82fc18 000000001caf62b7 ffff88012f82fc18 ffff880138c35168
Call Trace:
 [<ffffffffa0055cc2>] nouveau_mem_close+0x61/0xc9 [nouveau]
 [<ffffffffa0053033>] nouveau_close+0x11f/0x172 [nouveau]
 [<ffffffffa00531bb>] nouveau_lastclose+0x89/0xa8 [nouveau]
 [<ffffffffa00155c4>] drm_lastclose+0x5c/0x2c4 [drm]
 [<ffffffffa00160c7>] drm_release+0x4e5/0x535 [drm]
 [<ffffffff8113e2c1>] __fput+0x137/0x1f8
 [<ffffffff8113e3af>] fput+0x2d/0x43
 [<ffffffff8113a59c>] filp_close+0x77/0x97
 [<ffffffff81065763>] put_files_struct+0x79/0xde
 [<ffffffff81065816>] exit_files+0x4e/0x6b
 [<ffffffff810672b5>] do_exit+0x222/0x768
 [<ffffffff8106788e>] do_group_exit+0x93/0xc3
 [<ffffffff810678e8>] sys_exit_group+0x2a/0x42
 [<ffffffff81012f42>] system_call_fastpath+0x16/0x1b
Code: 04 24 74 04 0f 0b eb fe 49 c7 04 24 00 00 00 00 4c 8d a3 78 06 00 00 4c 89 f7 e8 68 c0 4a e1 4c 89 e7 e8 59 8c fd ff 85 c0 75 04 <0f> 0b eb fe 4c 8d 73 30 4c 89 f7 e8 40 c5 4a e1 4c 89 e7 e8 80
RIP  [<ffffffffa0045cd0>] ttm_bo_device_release+0x116/0x165 [ttm]
 RSP <ffff88012f82fba8>
---[ end trace f638bf01f69dde13 ]---
Fixing recursive fault but reboot is needed!
end_request: I/O error, dev fd0, sector 0
end_request: I/O error, dev fd0, sector 0
end_request: I/O error, dev fd0, sector 0

... and this keeps repeating.

Comment 17 Ben Skeggs 2009-08-24 01:20:07 UTC
how's all the latest rawhide packages?

Comment 18 Amit Shah 2009-08-24 06:55:25 UTC
Tried liveusb F12-Alpha release. X starts fine with kms enabled and disabled. There are other bugs, but I'll note them in separate bug reports.

Comment 19 Ben Skeggs 2009-08-24 12:11:32 UTC
Ok thanks for the report, will close as fixed in rawhide.