Bug 10858 - glxgears with mesa-git on PCI 10de0322 (NV34) GeForce FX 5200 crashes X
Summary: glxgears with mesa-git on PCI 10de0322 (NV34) GeForce FX 5200 crashes X
Status: RESOLVED INVALID
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: 7.2 (2007.02)
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-04 12:16 UTC by Mark Carey
Modified: 2010-12-12 03:56 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
lspci output (5.18 KB, text/plain)
2007-05-04 12:18 UTC, Mark Carey
no flags Details
Xorg.0.log (40.65 KB, text/plain)
2007-05-04 12:18 UTC, Mark Carey
no flags Details
syslog output with insmod dri.ko debug=1 (44.67 KB, text/plain)
2007-05-04 12:21 UTC, Mark Carey
no flags Details
stdout from terminal where glxgears is started as follows $ glxgears > output 2>&1 (441 bytes, text/plain)
2007-05-04 12:22 UTC, Mark Carey
no flags Details
dmesg from a clean boot of machine (45.36 KB, text/plain)
2007-05-04 12:25 UTC, Mark Carey
no flags Details
parsed mmio trace from running nouveau with glxgears started from ~/.xiniitrc (396.86 KB, application/x-gzip)
2007-05-11 01:40 UTC, Mark Carey
no flags Details
new syslog with dri.ko debug=1 (81.15 KB, text/plain)
2007-05-11 04:14 UTC, Mark Carey
no flags Details
new Xorg.log (40.54 KB, text/plain)
2007-05-11 04:16 UTC, Mark Carey
no flags Details
image of gears window running and X not crashing (I had enough time to get the camera out and take the photo!) (178.29 KB, image/jpeg)
2007-05-11 04:20 UTC, Mark Carey
no flags Details
lspci output from new machine (10.96 KB, text/plain)
2007-05-18 22:01 UTC, Mark Carey
no flags Details
dmesg from a clean boot of new machine (16.08 KB, text/plain)
2007-05-18 22:01 UTC, Mark Carey
no flags Details
syslog after insmod drm.ko debug=1 (24.59 KB, text/plain)
2007-05-18 22:02 UTC, Mark Carey
no flags Details
contents of stdout and stderr from terminal in which glxgears was started (441 bytes, text/plain)
2007-05-18 22:03 UTC, Mark Carey
no flags Details
new Xorg log (39.62 KB, text/plain)
2007-05-18 22:04 UTC, Mark Carey
no flags Details
glxinfo output showind direct rendering in action (6.21 KB, text/plain)
2007-05-18 22:09 UTC, Mark Carey
no flags Details
Xorg.0.log showing FIFO dump from comment 21 (41.37 KB, text/plain)
2007-05-19 17:56 UTC, Mark Carey
no flags Details
syslog output noted in comment 21 (3.78 KB, text/plain)
2007-05-19 17:57 UTC, Mark Carey
no flags Details
dmesg output for comment 21 (54.67 KB, text/plain)
2007-05-19 17:58 UTC, Mark Carey
no flags Details
kern.log from failure noted in comment 21 (93.48 KB, text/plain)
2007-05-19 18:04 UTC, Mark Carey
no flags Details
kern.log from when glxgears runs without crashing but no gears drawn, see comment 21 (263.33 KB, text/plain)
2007-05-19 22:40 UTC, Mark Carey
no flags Details
kern.log from trying to run glxgears without having first done so with the nvidia proprietary driver (95.68 KB, text/plain)
2007-06-15 02:58 UTC, Mark Carey
no flags Details

Description Mark Carey 2007-05-04 12:16:42 UTC
Ubuntu Feisty 7.04
drm-git (as of Apr/28)
xf86-video-nouveau git (as of Apr/28)
mesa-git (as of Apr/28)

Testing nouveau, which works ok in 2D, trying to test in 3D and starting glxgears crashes X.

The gears window is drawn, the window decorations are drawn, the area where gears are supposed to be is black, the machine pauses and then X crashes dropping back out to a getty shell.

Will attach files Xorg.0.log syslog lspci stdout
Comment 1 Mark Carey 2007-05-04 12:18:01 UTC
Created attachment 9861 [details]
lspci output
Comment 2 Mark Carey 2007-05-04 12:18:42 UTC
Created attachment 9862 [details]
Xorg.0.log
Comment 3 Mark Carey 2007-05-04 12:21:08 UTC
Created attachment 9863 [details]
syslog output with insmod dri.ko debug=1
Comment 4 Mark Carey 2007-05-04 12:22:26 UTC
Created attachment 9864 [details]
stdout from terminal where glxgears is started as follows $ glxgears > output 2>&1
Comment 5 Mark Carey 2007-05-04 12:25:01 UTC
Created attachment 9865 [details]
dmesg from a clean boot of machine
Comment 6 Mark Carey 2007-05-11 01:40:12 UTC
Created attachment 9925 [details]
parsed mmio trace from running nouveau with glxgears started from ~/.xiniitrc
Comment 7 Mark Carey 2007-05-11 02:02:23 UTC
bugs.fd.o wont let me attach a file larger than 1000kb so to work around that and to save bugs.fd.o see, http://www.careysoft.co.nz/nouveau/10de0322/nouveau-cpu0-parsed.gz and http://www.careysoft.co.nz/nouveau/10de0322/nvidia-cpu0-parsed.gz
Comment 8 Mark Carey 2007-05-11 04:12:44 UTC
Following marcheu's instructions (refer http://lattice.u-strasbg.fr/irclogs/nouveau-2007-05-11) I commented line 808 and 809 out of mesa/src/mesa/drivers/dri/nouveau/nv30_state.c.

//	BEGIN_RING_SIZE(NvSub3D, 0x03b0, 1);
//	OUT_RING(0x00100000);

Now when I start gears I get the black window (no window decorations, but am now running nude X) and things just sit there and seem to be quite happy.  Will attach syslog and photo. 

Then when I click on a window either the terminal from which I started gears or gears itself X crashes, now getting a new error in the syslog output, but is this a different case is this trying to context switch? and gears is working with no gears drawn?
Comment 9 Mark Carey 2007-05-11 04:14:31 UTC
Created attachment 9926 [details]
new syslog with dri.ko debug=1
Comment 10 Mark Carey 2007-05-11 04:16:34 UTC
Created attachment 9927 [details]
new Xorg.log
Comment 11 Mark Carey 2007-05-11 04:20:13 UTC
Created attachment 9928 [details]
image of gears window running and X not crashing (I had enough time to get the camera out and take the photo!)
Comment 12 Mark Carey 2007-05-11 04:28:52 UTC
another data point, if I start gears and I leave the mouse still things seem ok, the minute I move the mouse I get an X crash 0.5s to 2s later
Comment 13 Mark Carey 2007-05-11 18:37:19 UTC
xf86-video-nouveau: d1b75251a3f225890f1e25b11038389d71b67611 2007-03-07 23:41:22
drm: 4f795a05f1f987491d85d5b9bdbf280451c7ed20 2007-03-10 12:11:10
mesa: 30b914e2ca28cd44eed57b34353e641793b38a6d 2007-03-10 12:19:1

May 12 13:20:03 daisy kernel: [  172.382038] [drm:nouveau_pgraph_irq_handler] *ERROR* NV: PGRAPH error interrupt
May 12 13:20:03 daisy kernel: [  172.382059] [drm:nouveau_pgraph_irq_handler] *ERROR* nsource:0x00040000^Instatus:0x01000000
May 12 13:20:03 daisy kernel: [  172.382067] [drm:nouveau_pgraph_irq_handler] *ERROR* instance:0x00001d7c
May 12 13:20:03 daisy kernel: [  172.382077] [drm:nouveau_graph_dump_trap_info] *ERROR* NV: nSource: 0x00040000, nStatus: 0x01000000
May 12 13:20:03 daisy kernel: [  172.382087] [drm:nouveau_graph_dump_trap_info] *ERROR* NV: Channel 1/7 (class 0x0697) -Method 0x03b0, Data 0x00100000
May 12 13:20:03 daisy kernel: [  172.402132] [drm:drm_ioctl] pid=5007, cmd=0x4008642a, nr=0x2a, dev 0xe201, auth=1
May 12 13:20:03 daisy kernel: [  172.402144] [drm:drm_lock] 1 (pid 5007) requests lock (0x00000002), flags = 0x00000000
May 12 13:20:03 daisy kernel: [  172.402153] [drm:drm_lock] 1 has lock
May 12 13:20:48 daisy kernel: [  217.677871] [drm:nouveau_irq_handler] PMC INTSTAT: 0x00001000
May 12 13:20:48 daisy kernel: [  217.677884] [drm:nouveau_pgraph_irq_handler] *ERROR* NV: PGRAPH error interrupt
May 12 13:20:48 daisy kernel: [  217.677895] [drm:nouveau_pgraph_irq_handler] *ERROR* nsource:0x00040000^Instatus:0x01000000
May 12 13:20:48 daisy kernel: [  217.677902] [drm:nouveau_pgraph_irq_handler] *ERROR* instance:0x00001d7c
May 12 13:20:48 daisy kernel: [  217.677913] [drm:nouveau_graph_dump_trap_info] *ERROR* NV: nSource: 0x00040000, nStatus: 0x01000000
May 12 13:20:48 daisy kernel: [  217.677923] [drm:nouveau_graph_dump_trap_info] *ERROR* NV: Channel 1/7 (class 0x0697) -Method 0x1e98, Data 0x00000000

mesa: 440759c2cdfdd9a7fbc6500fca2afa519126c1a7 21/02/2007 11:17:09
drm: a253de2fcfa11abadd4697a9d89137adf3f35f78 18/02/2007 19:59:40 
xf86-video-nouveau: c85da5d8b346e17e68da68e57d62c3f77029b680 14/Feb/2007 12:35:50

May 12 12:29:32 daisy kernel: [  167.718390] [drm:nouveau_pgraph_irq_handler] *ERROR* NV: PGRAPH error interrupt
May 12 12:29:32 daisy kernel: [  167.718402] [drm:nouveau_pgraph_irq_handler] *ERROR* nsource:0x00040000^Instatus:0x01000000
May 12 12:29:32 daisy kernel: [  167.718409] [drm:nouveau_pgraph_irq_handler] *ERROR* instance:0x00001d77
May 12 12:29:32 daisy kernel: [  167.718417] [drm:nouveau_pgraph_irq_handler] NV: 0x400704 = 0x001703b0
May 12 12:29:32 daisy kernel: [  167.718426] [drm:nouveau_pgraph_irq_handler] *ERROR* NV: Channel 1/7 (class 0x0697) -Method 0x03b0, Data 0x00100000
May 12 12:29:32 daisy kernel: [  167.718435] [drm:nouveau_irq_handler] *ERROR* Unhandled PMC INTR status bits 0x80000000
May 12 12:29:32 daisy kernel: [  167.736385] [drm:drm_ioctl] pid=4999, cmd=0x4008642a, nr=0x2a, dev 0xe201, auth=1
May 12 12:29:32 daisy kernel: [  167.736400] [drm:drm_lock] 1 (pid 4999) requests lock (0x00000002), flags = 0x00000000
May 12 12:29:32 daisy kernel: [  167.736409] [drm:drm_lock] 1 has lock
May 12 12:30:39 daisy kernel: [  235.245792] [drm:nouveau_irq_handler] PMC INTSTAT: 0x00001000
May 12 12:30:39 daisy kernel: [  235.245805] [drm:nouveau_pgraph_irq_handler] *ERROR* NV: PGRAPH error interrupt
May 12 12:30:39 daisy kernel: [  235.245816] [drm:nouveau_pgraph_irq_handler] *ERROR* nsource:0x00040000^Instatus:0x01000000
May 12 12:30:39 daisy kernel: [  235.245824] [drm:nouveau_pgraph_irq_handler] *ERROR* instance:0x00001d77
May 12 12:30:39 daisy kernel: [  235.245831] [drm:nouveau_pgraph_irq_handler] NV: 0x400704 = 0x00171e98
May 12 12:30:39 daisy kernel: [  235.245840] [drm:nouveau_pgraph_irq_handler] *ERROR* NV: Channel 1/7 (class 0x0697) -Method 0x1e98, Data 0x00000000

Note that here mouse can be moved within one window boundary (and possibly out to the root window), and as long as it does not leave a window boundary (which changes the cursor) then x server lives, as soon as leave the window (cursor changes from text select to big X) and then reenter original window (which I presume tries to change the cursor back to text select) x crashes.

Suggestions;

1. Fix 440759c2cdfdd9a7fbc6500fca2afa519126c1a7 to work for nv34, TiNDC 15 (http://nouveau.freedesktop.org/wiki/Nouveau_Companion_15) shows a gear on nv3X and an IRC window which marcheu identifies as being from Feb/24 (refer http://lattice.u-strasbg.fr/irclogs/nouveau-2007-05-12)

2. Add a call to nv30WindowMoved from the end of nv30InitCard, once we can get through nv30WindowMoved without crashing.

Comment 14 Mark Carey 2007-05-18 21:59:59 UTC
refer bug 10933 have put nv34 in another machine. Once installed the new machine only has one nvidia card in it the nv34 (will attach a new dmesg and lspci).

running glxgears with;

drm: ea98d7e79657469545b865a353784d79fc8cff9d 
xf86-video-nouveau: 7af7d95eb8826fa3fb9914a8c6ad4b6f4867095e 
mesa: 25551bdfad8541337a4e59e7e3764fa9b876cb19 

no drm errors encountered!

gears window is drawn, can move mouse around (into and out of windows), can move the gears window around.  glxgears consumes as much cpu as possible (logged in remotely to verify).

No gears are drawn, and no frame rate information is written to the terminal in which gears we started.
Comment 15 Mark Carey 2007-05-18 22:01:04 UTC
Created attachment 10023 [details]
lspci output from new machine
Comment 16 Mark Carey 2007-05-18 22:01:44 UTC
Created attachment 10024 [details]
dmesg from a clean boot of new machine
Comment 17 Mark Carey 2007-05-18 22:02:55 UTC
Created attachment 10025 [details]
syslog after insmod drm.ko debug=1
Comment 18 Mark Carey 2007-05-18 22:03:57 UTC
Created attachment 10026 [details]
contents of stdout and stderr from terminal in which glxgears was started
Comment 19 Mark Carey 2007-05-18 22:04:42 UTC
Created attachment 10027 [details]
new Xorg log
Comment 20 Mark Carey 2007-05-18 22:09:16 UTC
Created attachment 10028 [details]
glxinfo output showind direct rendering in action
Comment 21 Mark Carey 2007-05-19 17:53:24 UTC
additional data point comment 14 is the result of running glxgears after having run glxgears with the nvidia driver (see dmesg output in comment 16), then; shutting down X, apt-get remove nvidia-glx, insmod drm.ko debug=1, insmod nouveau.ko, startx, exporting LD_LIBRARY_PATH, LIBGL_DRIVERS_PATH and re-running glxgears.

If I reboot the machine, but not halt/power off (tested through 3 cycles), then the behaviour is repeatable (i.e running gears does not crash X, but no gears are drawn).

If I halt/power off the machine, wait 20s, power back on, then the same drm/xf86-video-nouveau/mesa combination crashes X.

When X crashes, I get nothing abnormal in syslog, I do get a FIFO dump in Xorg.log (will attach both)

Does this mean that the nvidia driver (blob) is doing something to initialise (?) the card that we are not? I think yes, it appears to persist across reboots but not powering off.

I think darktama suggested something like this on IRC at some stage ...

Can I reproduce this behaviour - yes (all I have to do is reinstall nvidia-glx-dev and cycle through the steps outlined in this comment), how do I track down the configuration stuff that nvidia is doing that nouveau is not yet doing to stop the crash?
Comment 22 Mark Carey 2007-05-19 17:56:07 UTC
Created attachment 10032 [details]
Xorg.0.log showing FIFO dump from comment 21

Xorg.0.log showing FIFO dump from comment 21
Comment 23 Mark Carey 2007-05-19 17:57:28 UTC
Created attachment 10033 [details]
syslog output noted in comment 21
Comment 24 Mark Carey 2007-05-19 17:58:26 UTC
Created attachment 10034 [details]
dmesg output for comment 21
Comment 25 Mark Carey 2007-05-19 18:04:37 UTC
Created attachment 10035 [details]
kern.log from failure noted in comment 21

dog! looking in the wrong place, checks /var/log/kern.log

Looks like I am still seeing the error at offset 0x03b0 that started this all off..... (no nv05) in the machine this time!!

May 20 12:40:50 angus kernel: [  263.060000] [drm:nouveau_pgraph_irq_handler] *ERROR* NV: PGRAPH error interrupt
May 20 12:40:50 angus kernel: [  263.060000] [drm:nouveau_pgraph_irq_handler] *ERROR* nsource:0x00040000^Instatus:0x01000000
May 20 12:40:50 angus kernel: [  263.060000] [drm:nouveau_pgraph_irq_handler] *ERROR* instance:0x0000234e
May 20 12:40:50 angus kernel: [  263.060000] [drm:nouveau_graph_dump_trap_info] *ERROR* NV: nSource: 0x00040000, nStatus: 0x01000000
May 20 12:40:50 angus kernel: [  263.060000] [drm:nouveau_graph_dump_trap_info] *ERROR* NV: Channel 1/7 (class 0x0697) -Method 0x03b0, Data 0x00100000
Comment 26 Mark Carey 2007-05-19 22:40:05 UTC
Created attachment 10036 [details]
kern.log from when glxgears runs without crashing but no gears drawn, see comment 21
Comment 27 Mark Carey 2007-06-15 02:56:31 UTC
As at;

drm 84bea383538df83c049680497ba2179e50d07ca3
xf86-video-nouveau d59fbb4725602c409beee4ab96dca1eab5d73b2a
mesa f6963f57d9d1e9bf630c05c1c89f188091b12fc5

if I load the blob first and run glxgears with the blob, before shutting X down uninstalling the blob loading nouveau, setting meas paths and then trying glxgears then I get;

careym@angus:~$ glxgears
libGL warning: 3D driver claims to not support visual 0x8a
************************************INFO***********************************
File nouveau_fifo.c function nouveauFifoInit line 138
Fifo init ok. Using context 1
***************************************************************************
do_wait: drmWaitVBlank returned -1, IRQs don't seem to be working correctly.
Try running with LIBGL_THROTTLE_REFRESH and LIBL_SYNC_REFRESH unset.
3099 frames in 5.0 seconds = 619.664 FPS
3147 frames in 5.0 seconds = 629.332 FPS
3149 frames in 5.0 seconds = 629.606 FPS
3148 frames in 5.0 seconds = 629.493 FPS
3146 frames in 5.0 seconds = 629.015 FPS
3143 frames in 5.0 seconds = 628.588 FPS
3146 frames in 5.0 seconds = 629.107 FPS

unfortunately for me this is just a black window with no gears drawn.  However it is progress as X doesnt crash anymore!! (kudos jkolb see TiNDC21)

If I dont load the blob first then X crashes, will attach kern.log
Comment 28 Mark Carey 2007-06-15 02:58:55 UTC
Created attachment 10318 [details]
kern.log from trying to run glxgears without having first done so with the nvidia proprietary driver
Comment 29 Maarten Maathuis 2008-02-01 11:21:49 UTC
What's the status on this bug?
Comment 30 Mark Carey 2008-02-01 11:44:49 UTC
By the sounds of things I need to build a prerelease version of Xorg
to test current nouveau

On Feb 2, 2008 8:21 AM,  <bugzilla-daemon@freedesktop.org> wrote:
>
> http://bugs.freedesktop.org/show_bug.cgi?id=10858
>
>
>
>
>
> --- Comment #29 from Maarten Maathuis <madman2003@gmail.com>  2008-02-01 11:21:49 PST ---
> What's the status on this bug?
>
>
> --
> Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are the assignee for the bug.
> _______________________________________________
> Nouveau mailing list
> Nouveau@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/nouveau
>
Comment 31 Mark Carey 2008-02-01 16:55:31 UTC
Ubuntu 8.04 alpha
X.Org X Server 1.4.0.90
drm c77b0937f290568604961fa0013691349c5fcf3b
xf86-video-nouveau 5b79b0a9e54fe99eaae5b411f46a601b6944b773
mesa  ca8d91610f547b9c66f703e07356f6347a121516

I get,

careym@daisy:~/nouveau/mesa$ glxgears
libGL: XF86DRIGetClientDriverName: 0.0.10 nouveau (screen 0)
libGL: OpenDriver: trying /home/careym/nouveau/mesa/lib//nouveau_dri.so
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: Searching for BusID pci:0000:02:04.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: drmOpenMinor returns 4
drmOpenByBusid: drmGetBusid reports
drmOpenDevice: node name is /dev/dri/card1
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: drmOpenMinor returns 4
drmOpenByBusid: drmGetBusid reports pci:0000:02:04.0
************************************INFO***********************************
File nouveau_fifo.c function nouveauFifoInit line 149
Fifo init ok. Using context 2
***************************************************************************
libGL error:
Can't open configuration file /etc/drirc: No such file or directory.
libGL error:
Can't open configuration file /home/careym/.drirc: No such file or directory.
do_wait: drmWaitVBlank returned -1, IRQs don't seem to be working correctly.
Try running with LIBGL_THROTTLE_REFRESH and LIBL_SYNC_REFRESH unset.
3477 frames in 5.0 seconds = 695.327 FPS
3783 frames in 5.0 seconds = 756.485 FPS
3788 frames in 5.0 seconds = 757.565 FPS
3423 frames in 5.0 seconds = 684.480 FPS
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
      after 49395 requests (49214 known processed) with 0 events remaining.

The gears window and decorations are drawn but the background is black
and I cant see the gears.  If I remove git mesa and use the one
installed by ubuntu software rendering draws gears for me - albeit
really slowly.
Comment 32 Younes Manton 2009-04-11 13:35:16 UTC
House cleaning.


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.