Bug 11820 - two mplayers using Xv make DMA queue hang
two mplayers using Xv make DMA queue hang
Status: RESOLVED FIXED
Product: DRI
Classification: Unclassified
Component: DRM/other
DRI git
x86-64 (AMD64) Linux (All)
: medium normal
Assigned To: Nouveau Project
Xorg Project Team
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2007-08-02 13:38 UTC by Pekka Paalanen
Modified: 2007-08-11 02:37 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pekka Paalanen 2007-08-02 13:38:14 UTC
Starting two mplayers showing video at the same time, both using Xv output, makes eventually (withing about 15 minutes) the DMA queue hang.

First I bisected DDX and found the commit e0e90f427581929fd01c96f1958a1292982dee83 "nouveau: rip out card init, everything except modesetting." to be the first bad commit. Before this the hang does not seem to happen. However, this and the previous commit both bumped the patchlevel, so I started to bisect DRM.

Bisecting DRM found good and bad commits, all when using the forementioned DDX commit. The first bad DRM commit is 5f05cd7086c54bccf1c2f0b003b78a08dc55472a "nouveau: NV04/NV10/NV20 PGRAPH engtab functions". Commits before that work fine.

The following is an excerpt from Xorg log:
(II) NOUVEAU(0): Fifo dump (lockup 0x004b,0x004b):
(II) NOUVEAU(0): [0x0037] 0x00230001
(II) NOUVEAU(0): [0x0038] 0x022002d0
(II) NOUVEAU(0): [0x0039] 0x00100000
(II) NOUVEAU(0): [0x003a] 0x00100000
(II) NOUVEAU(0): [0x003b] 0x00104400
(II) NOUVEAU(0): [0x003c] 0x022002d0
(II) NOUVEAU(0): [0x003d] 0x010105c0
(II) NOUVEAU(0): [0x003e] 0x0419b000
(II) NOUVEAU(0): [0x003f] 0x00000000
(II) NOUVEAU(0): [0x0040] 0x0004a2fc
(II) NOUVEAU(0): [0x0041] 0x00000003
(II) NOUVEAU(0): [0x0042] 0x00100300
(II) NOUVEAU(0): [0x0043] 0x0000000a
(II) NOUVEAU(0): [0x0044] 0x140007c0
(II) NOUVEAU(0): [0x0045] 0x00520700
(II) NOUVEAU(0): [0x0046] 0x00000000
(II) NOUVEAU(0): [0x0047] 0x000ca300
(II) NOUVEAU(0): [0x0048] 0x012d0104
(II) NOUVEAU(0): [0x0049] 0x03d20105
(II) NOUVEAU(0): [0x004a] 0x000f0006
(II) NOUVEAU(0): [0x004b] 0x00000005
(II) NOUVEAU(0): [0x004c] 0x00000003
(II) NOUVEAU(0): [0x004d] 0x000423fc
(II) NOUVEAU(0): [0x004e] 0x00000000
(II) NOUVEAU(0): [0x004f] 0x00184308
(II) NOUVEAU(0): [0x0050] 0x00230001
(II) NOUVEAU(0): [0x0051] 0x022002d0
(II) NOUVEAU(0): [0x0052] 0x00230001
(II) NOUVEAU(0): [0x0053] 0x022002d0
(II) NOUVEAU(0): [0x0054] 0x00100000
(II) NOUVEAU(0): End of fifo dump

Fatal server error:
DMA queue hang: dmaPut=4b, current=4b, status=1


This is NV28, running on a fully 64-bit Gentoo Linux.
Comment 1 Pekka Paalanen 2007-08-03 10:05:43 UTC
Today I confirmed. DDX using commit e0e90f427581929fd01c96f1958a1292982dee83.

I ran DRM commit 5f05cd7086c54bccf1c2f0b003b78a08dc55472a and two mplayers triggered DMA queue hang almost immediately after starting.

I ran DRM commit 5d55b0655cb480b7d6ab4cf2467dac6dc6d8df25 which is the one just before, and the full one hour video played through without crashes.
Comment 2 Pekka Paalanen 2007-08-11 02:37:19 UTC
Yesterday I ran tvtime and mplayer together for an hour and no crash. Therefore I'm closing this bug as fixed, for now. I don't know which commit fixed things.

btw. I did notice that running two mplayers and tvtime (i.e. three Xv apps) at the same time does trigger a similar crash, but at this point I do not think it matters.