Bug 239125 (intel-xv)
Summary: | X11/XVideo apps instantly crashing when playing movie files | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jens Knutson <jensk.maps> |
Component: | xorg-x11-drv-i810 | Assignee: | Adam Jackson <ajax> |
Status: | CLOSED RAWHIDE | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | bche, bloch, bnocera, btanastasov, cra, martin.sourada, matt, mcepl, michel, mishu, mohd.izhar.firdaus, notting, redhat-bugzilla, steve, triage, vbordug, wtanaka |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | NeedsRetesting | ||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2008-04-23 18:14:55 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: | |||
Bug Depends On: | |||
Bug Blocks: | 237760, 441567 | ||
Attachments: |
Description
Jens Knutson
2007-05-05 05:09:13 UTC
Works here. Could you please run "totem --sync", and reproduce the problem as described in the error message? Make sure you install the relevant -debuginfo packages so that the backtrace has debugging information. Trying to watch this: http://www.redhat.com/v/ogg/060407_CDadapco.ogg $ totem --sync 060407_CDadapco.ogg The program 'totem' received an X Window System error. This probably reflects a bug in the program. The error was 'BadAlloc (insufficient resources for operation)'. (Details: serial 51 error_code 11 request_code 140 minor_code 19) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) Then I tried just opening totem with "totem --sync" and opening the file from the File --> Open menu item, and got: $ totem --sync ((( opened file with File --> Open ))) The program 'totem' received an X Window System error. This probably reflects a bug in the program. The error was 'BadAlloc (insufficient resources for operation)'. (Details: serial 48 error_code 11 request_code 140 minor_code 19) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) Oh, and yes, all the debuginfo packages are installed. You need to run it under gdb, and break on gdk_x_error(), as per the error message. sorry - I'm not very familiar with gdb... I tried anyhow, and the session looked like the following: $gdb (gdb) file /usr/bin/totem Reading symbols from /usr/bin/totem...Reading symbols from /usr/lib/debug/usr/bin/totem.debug...done. Using host libthread_db library "/lib/libthread_db.so.1". done. (gdb) break gdk_x_error Breakpoint 1 at 0x453d83: file gdkmain-x11.c, line 614. (gdb) run --sync Starting program: /usr/bin/totem --sync Error in re-setting breakpoint 1: No source file named gdkmain-x11.c. (the above gets printed about 15 times...) [Thread debugging using libthread_db enabled] [New Thread -1208166688 (LWP 5364)] [New Thread -1223857264 (LWP 5366)] [New Thread -1234347120 (LWP 5367)] [New Thread -1249436784 (LWP 5368)] [New Thread 27011984 (LWP 5369)] [New Thread 37501840 (LWP 5370)] [New Thread 48438160 (LWP 5371)] [New Thread 62376848 (LWP 5372)] [New Thread 104319888 (LWP 5373)] [New Thread 129432464 (LWP 5374)] [Switching to Thread 62376848 (LWP 5372)] Breakpoint 1, gdk_x_error (display=0x9ffd6a0, error=0x3b7b718) at gdkmain-x11.c:614 614 if (error->error_code) (gdb) I'm guessing I'm still doing something wrong, but I have no idea what. :-/ > I'm guessing I'm still doing something wrong, but I have no idea what. :-/
You're just missing typing "bt" :)
You might also want to install the -debuginfo packages as well (yum
--enablerepo=development-debuginfo install gtk2-debuginfo ...)
Hey now, see #3 - I already got all the DB packages installed. :-) Anyhow, thanks for the tip - here's the results: jensck@daemon ~ $ gdb GNU gdb Red Hat Linux (6.6-8.fc7rh) Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu". (gdb) file /usr/bin/totem Reading symbols from /usr/bin/totem...Reading symbols from /usr/lib/debug/usr/bin/totem.debug...done. Using host libthread_db library "/lib/libthread_db.so.1". done. (gdb) break gdk_x_error Function "gdk_x_error" not defined. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 1 (gdk_x_error) pending. (gdb) run --sync Starting program: /usr/bin/totem --sync [Thread debugging using libthread_db enabled] [New Thread -1208723744 (LWP 3906)] Breakpoint 2 at 0x453d83: file gdkmain-x11.c, line 614. Pending breakpoint "gdk_x_error" resolved [New Thread -1224414320 (LWP 3910)] [New Thread -1234904176 (LWP 3911)] [New Thread -1249993840 (LWP 3914)] [New Thread 26729360 (LWP 3918)] [New Thread 123607952 (LWP 3919)] [New Thread 45018000 (LWP 3925)] [New Thread 55507856 (LWP 3929)] [New Thread 65997712 (LWP 3930)] [New Thread 82574224 (LWP 3931)] [Switching to Thread 55507856 (LWP 3929)] Breakpoint 2, gdk_x_error (display=0x89855f0, error=0x34ee718) at gdkmain-x11.c:614 614 if (error->error_code) (gdb) bt The actual backtrace is attached. Created attachment 154367 [details]
Backtrace from this crash
Looks like this bug I filed some time ago: http://bugzilla.gnome.org/show_bug.cgi?id=351784 I bet that GL is nicking video RAM from Xv. What's the output of "xvinfo | grep max" on your system? Which video card are you using? What resolution/depth are you running at (xdpyinfo output)? On my system, using the maximum values from xvinfo to run: gst-launch-0.10 videotestsrc ! video/x-raw-yuv,width=<width>,height=<height> ! xvimagesink shows the same problem. Note that xvimagesimagesink will try to use double-buffering by default, which will limit the amount of memory really available for Xv. See: http://bugzilla.gnome.org/show_bug.cgi?id=437169 about making it configurable/a property (so that we can switch it off for testing) $ xvinfo | grep max maximum XvImage size: 1920 x 1088 maximum XvImage size: 1920 x 1088 This is what seems to be the relevant piece of xdpyinfo: screen #0: dimensions: 1680x1050 pixels (331x207 millimeters) resolution: 129x129 dots per inch depths (7): 24, 1, 4, 8, 15, 16, 32 root window id: 0x6c depth of root window: 24 planes number of colormaps: minimum 1, maximum 1 default colormap: 0x20 default number of colormap cells: 256 preallocated pixels: black 0, white 16777215 options: backing-store NO, save-unders NO largest cursor: 64x64 current input event mask: 0x7a803f KeyPressMask KeyReleaseMask ButtonPressMask ButtonReleaseMask EnterWindowMask LeaveWindowMask ExposureMask StructureNotifyMask SubstructureNotifyMask SubstructureRedirectMask FocusChangeMask PropertyChangeMask number of visuals: 17 default visual id: 0x23 visual: visual id: 0x23 class: TrueColor depth: 24 planes available colormap entries: 256 per subfield red, green, blue masks: 0xff0000, 0xff00, 0xff significant bits in color specification: 8 bits Created attachment 154440 [details]
Full xdpyinfo output, just in case you want it
Video card is i945 on a laptop - per HAL, it's called a "Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller" I tried the gst-launch command line you gave, too - even 320x240 fails: $ gst-launch-0.10 videotestsrc ! video/x-raw-yuv,width=320,height=240 ! xvimagesink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... X Error of failed request: BadAlloc (insufficient resources for operation) Major opcode of failed request: 140 (XVideo) Minor opcode of failed request: 19 () Serial number of failed request: 45 Current serial number in output stream: 46 Duh - I forgot to try this before, but I can play videos w/Compiz just fine with this same install if I tell xorg.conf to use the i810 driver instead of the new 'intel' driver. (Mind you, that means going back to using lame 915resolution hack, etc.) My upstream report was also with this same driver, reassigning to the xorg driver. See also: https://bugs.freedesktop.org/show_bug.cgi?id=10912 It works fine for me with xorg-x11-drv-i810-2.0.0-3.fc7, under metacity, but still fails under compiz. I believe it might be trying to use the "Textured" Xv port which has most of its memory used up by compiz. Thanks for the bug report. We have reviewed the information you have provided above, and there is some additional information we require that will be helpful in our diagnosis of this issue. Please attach your X server config file (/etc/X11/xorg.conf) and X server log file (/var/log/Xorg.*.log) to the bug report as individual uncompressed file attachments using the bugzilla file attachment link below. Could you please also try to run without any /etc/X11/xorg.conf whatsoever and let X11 autodetect your display and video card? Attach to this bug /var/log/Xorg.0.log from this attempt as well, please. We will review this issue again once you've had a chance to attach this information. Thanks in advance. Reporter, could you please reply to the previous question? If you won't reply in one month, I will have to close this bug as INSUFFICIENT_DATA. Thank you. Created attachment 159134 [details]
my xorg.conf
Created attachment 159135 [details]
Xorg.0.log - using my xorg.conf (which only uses one edit from the default)
Created attachment 159137 [details]
Xorg.0.log when using no xorg.conf
note that in this case, watching videos in Totem under Compiz works fine,
because when using no xorg.conf, X picks the 'i810' driver instead of the
'intel' driver
Created attachment 159138 [details]
Xorg.0.log when using a xorg.conf created solely from system-config-display
The problem still occurs under the xorg.conf created solely from system-config-display I posted an explanation of what happens at: https://bugs.freedesktop.org/show_bug.cgi?id=10912#c18 The performance of EXA is sub-par though when playing movies, but at least it doesn't crash anymore. *** Bug 243760 has been marked as a duplicate of this bug. *** A lot of information and logs is in bug 2437ž0. *** Bug 240956 has been marked as a duplicate of this bug. *** Note that it affects other video apps too -- gxine and vlc. On Thinkpad T61, Intel X3000, with Rawhide x86_64 installed: Subjectively, turning on EXA seems to slow down scrolling in Firefox a bit, but glxgears shows the same level of performance, so it might just be me. But it does let me use compositing and Xv at the same time (i.e. watching videos under Compiz). Without EXA, even playing a sound file would crash Totem with the default settings (visualization is turned on by default). Should system-config-display automatically turn on EXA for some whitelisted list of system configurations? Correction -- video performance *is* still terrible. *** Bug 237169 has been marked as a duplicate of this bug. *** Can F8 users test the latest tree with XAA video should at least play.. (In reply to comment #32) > Can F8 users test the latest tree with XAA video should at least play.. Works using xorg-x11-drv-i810-2.1.1-7.fc8, but it's just about as slow as using EXA. Created attachment 279371 [details]
Compiz + VLC = lag and bad video
maybe it's a compiz problem?
Based on the date this bug was created, it appears to have been reported against rawhide during the development of a Fedora release that is no longer maintained. In order to refocus our efforts as a project we are flagging all of the open bugs for releases which are no longer maintained. If this bug remains in NEEDINFO thirty (30) days from now, we will automatically close it. If you can reproduce this bug in a maintained Fedora version (7, 8, or rawhide), please change this bug to the respective version and change the status to ASSIGNED. (If you're unable to change the bug's version or status, add a comment to the bug and someone will change it for you.) Thanks for your help, and we apologize again that we haven't handled these issues to this point. The process we're following is outlined here: http://fedoraproject.org/wiki/BugZappers/F9CleanUp We will be following the process here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this doesn't happen again. *** Bug 440262 has been marked as a duplicate of this bug. *** I can confirm that this still happens with F9 rawhide latest with these packages: kernel-2.6.25-0.185.rc7.git6.fc9.x86_64 xorg-x11-drv-i810-2.2.1-19.fc9.x86_64 xorg-x11-server-common-1.4.99.901-16.20080401.fc9.x86_64 xorg-x11-server-Xorg-1.4.99.901-16.20080401.fc9.x86_64 I have this problem even without compiz on a ThinkPad T61 with Intel GM965 chip. (In reply to comment #36) > *** Bug 440262 has been marked as a duplicate of this bug. *** Ok, it appears now Xv is not working not only with Compiz which is my case #440262. But the difference is that I didn't have such problems with Xorg from December 2007/January 2008: xorg-x11-server-Xorg-1.3.0.0-39.fc8.i386 xorg-x11-drv-i810-2.1.1-7.fc8.i386 In fact Xv was working great with "intel" driver even with high definition video files with 1920x1080 resolution. At this point the new Xorg 1.4 appeared in rawhide. My latest check with newer drivers was around February, but can't find exact version as of this time. The problem then was that with EXA which was chosen as default is very slow. Changing to XAA resulted to distorted fonts in terminals but the video was playable with Xv. Then I switched back to older version. As of one-two weeks ago I changed Xorg to the latest in rawhide again and noticed the problem which I've reported here as bug #440262. The problem is somewhere in the updates from the last 1-2 months, not as with #239125 a year ago. *** Bug 438361 has been marked as a duplicate of this bug. *** *** Bug 441647 has been marked as a duplicate of this bug. *** Seeing the same here with latest rawhide and Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03) X11 is the only option to play anything. No compiz, same with compositing enabled and disabled in metacity. *** Bug 441777 has been marked as a duplicate of this bug. *** Directed here as my bug was marked as a duplicate. In my case I'm using metacity and the problem has appeared in the past week or so. Same here on a Fujitsu Lifebook using mplayer. It spits out endless BadAlloc errors and nothing appears in the video output. This is with metacity. Intel Corporation Mobile 915GM/GMS/910GML (rev 04) xorg.conf is using driver "intel" It would be nice to hear that some Xorg developer has tried to use xv with the current packages in fedora rawhide, and either had success or can reproduce the problem. The fun thing is, this used to work up to the last two weeks or so (on a 945GM, intel driver). Now it does not, and I have not found out what package caused the breakage. Xine, for example, works fine with Xv. vlc does not. Building and installing the latest driver posted by intel: http://lists.freedesktop.org/archives/xorg/2008-April/034668.html Makes the problem go away completely for me. I can't believe I'm the first person, either as bug reporter or owner, to try this. Hi, I am having this issue as well. Here's my testing for normal-res and low-res video in totem-gstreamer, gxine, xine, mplayer and vlc, with plain metacity, with compositing manager enabled in metacity, I'll attach Xorg.0.log and xorg.conf. plain metacity: programme 720x384, 23.976 fps 320x239, 30.000 fps totem-gstreamer plays, but displays error plays gxine SEGFAULTs SEGFAULTs xine SEGFAULTs plays mplayer only audio only audio vlc crash - Displayed errors/warnings on cosole: totem: No accelerated IMDCT transform found mplayer: X11 error: BadAlloc (insufficient resources for operation) vlc: X Error of failed request: BadAlloc (insufficient resources for operation) Major opcode of failed request: 140 (XVideo) Minor opcode of failed request: 19 () Serial number of failed request: 86 Current serial number in output stream: 87 Segmentation fault Metacity with compositing: nothing works, showed errors: Totem: The program 'totem' received an X Window System error. This probably reflects a bug in the program. The error was 'BadAlloc (insufficient resources for operation)'. mplayer: X11 error: BadAlloc (insufficient resources for operation) vlc: X Error of failed request: BadAlloc (insufficient resources for operation) Major opcode of failed request: 140 (XVideo) Minor opcode of failed request: 19 () Serial number of failed request: 86 Current serial number in output stream: 87 Segmentation fault xine: X Error of failed request: BadAlloc (insufficient resources for operation) Major opcode of failed request: 140 (XVideo) Minor opcode of failed request: 19 () Serial number of failed request: 2342 Current serial number in output stream: 2343 x11 and gl2 video output drivers work (slow, and with compositing enabled gl2 also with rendering issues) both with and without compositing. I've noticed this bug on upstream bugzilla which seems to be similar: https://bugs.freedesktop.org/show_bug.cgi?id=2772 I'll try the latest driver (as suggested by davem) to see if it's better and report the results. Created attachment 302372 [details]
My Xorg.0.log when testing in totem, gxine, xine, vlc and mplayer
Created attachment 302373 [details]
my xorg.conf
There is one option added in the xorg.conf manualy which was suggested on
test-list as possible fix (with no luck).
Oh, and I forgot the package versions... xorg-x11-server-Xorg-1.4.99.901-21.20080407.fc9.i386 xorg-x11-drv-i810-2.2.1-20.fc9.i386 (In reply to comment #46) > I can't believe I'm the first person, either as bug reporter or > owner, to try this. I can't get this to build, configure craps out on me saying ./configure: line 20451: syntax error near unexpected token `XINERAMA,' ./configure: line 20451: `XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto)' Naked driver, btw, no patches ported from the rawhide driver, following the .spec instructions manually. I wouldn't worry about upstream vs. RH build, this is almost certainly just using EXA vs XAA. (check your logs.) I've just rebased rawhide rpm to the new version and it builds OK (but I need to update the %%file section). I'll post a srpm when it's done. Ok, as promised, here's the SPRM: http://mso.fedorapeople.org/rawhide/xorg-x11-drv-i810-2.2.99.903-0.1.fc9.src.rpm The changes are: removed patch 6,7 and 10 (seems they were just backports from git), edited patch 5, added libIntelXvMC.so* libs. I have yet to test, whether it works... My config is using EXA. The update to 2.2.99.903 didn't solved the problem, but I noticed that XAA was used. So I switched to EXA, which makes videos playable in mplayer with -vo xv again, but HD (720p) is being quickly desynced with sound (and enabling framedropping does not help)... This is still broken in the default Fedora-9-Preview install, and adding: Option "AccelMethod" "EXA" to xorg.conf fixes it. Please test xorg-x11-drv-i810-2.2.1-21.fc9, available at: http://koji.fedoraproject.org/packages/xorg-x11-drv-i810/2.2.1/21.fc9/ and in tomorrow's rawhide. I'll note that this build fixes it for me. 2.2.1-21.fc9 fixes Xv for me. BTW, I'm still having this exact same problem with radeon. Does the same fix to i810 apply to radeon? Not that I know of. You can always try frobbing the config option, of course. xorg-x11-drv-i810-2.2.1-22.fc9 also contains a fix for the XAA case, so overlay video should work no matter what now (although obviously it won't blend correctly when compositing). Tested on i865, closing. Hi, I have some high-def video trailers I downloaded via azureus and I can't play them on F9 Preview (with all codecs installed). I have been running Rawhide for some time now and when I saw this bug I thought it could be something I did so I did a clean install of F9 Preview and installed fluendo codecs for totem, and also installed vlc and mplayer (with codecs) from livna. None player can play these mkv files that I can play without any problems under Fedora 8 with all of mentioned video players. I have Intel graphic chip: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) To reproduce this bug do this: 1. yum install azureus 2. start azureus 3. download some high-def video trailer (Iron Man for example) 4. install video player + codecs (vlc, mplayer, totem + fluendo codecs - take your pick) 5. play high-def video I get these errors: $ totem IronManTrailer2-1080p.mkv ** Message: Error: File "/usr/lib/gstreamer-0.10/libmch264dec.so.7.4.0.20778" could not be used. fluh264dec.c(414): gst_fluh264dec_setup (): /play/decodebin0/fluh264dec0: Could not open module: libstdc++.so.5: cannot open shared object file: No such file or directory (totem:9953): GStreamer-CRITICAL **: gst_object_unref: assertion `object != NULL' failed (totem:9953): GStreamer-CRITICAL **: gst_object_unref: assertion `object != NULL' failed (totem:9953): GStreamer-CRITICAL **: gst_object_unref: assertion `object != NULL' failed $ mplayer IronManTrailer2-1080p.mkv MPlayer SVN-r25979 rpm.livna.org (C) 2000-2007 MPlayer Team CPU: Intel(R) Core(TM) Duo CPU T2450 @ 2.00GHz (Family: 6, Model: 14, Stepping: 12) CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing IronManTrailer2-1080p.mkv. [mkv] Track ID 1: video (V_MPEG4/ISO/AVC), -vid 0 [mkv] Track ID 2: audio (A_VORBIS), -aid 0, -alang und [mkv] Will play video track 1. Matroska file format detected. VIDEO: [avc1] 1920x816 24bpp 23.952 fps 0.0 kbps ( 0.0 kbyte/s) ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264) ========================================================================== ========================================================================== Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders AUDIO: 48000 Hz, 2 ch, s16le, 0.0 kbit/0.00% (ratio: 0->192000) Selected audio codec: [ffvorbis] afm: ffmpeg (FFmpeg Vorbis decoder) ========================================================================== AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample) Starting playback... VDec: vo config request - 1920 x 816 (preferred colorspace: Planar YV12) VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is 2.35:1 - prescaling to correct movie aspect. VO: [xv] 1920x816 => 1920x816 Planar YV12 [ASPECT] Warning: No suitable new res found! [ASPECT] Warning: No suitable new res found! [ASPECT] Warning: No suitable new res found! No bind found for key 'c'. % ??% ??,?% 0 0 X11 error: BadAlloc (insufficient resources for operation) X11 error: BadAlloc (insufficient resources for operation)?,?% 0 0 X11 error: BadAlloc (insufficient resources for operation) X11 error: BadAlloc (insufficient resources for operation)?,?% 0 0 X11 error: BadAlloc (insufficient resources for operation)?,?% 0 0 X11 error: BadAlloc (insufficient resources for operation)?,?% 0 0 X11 error: BadAlloc (insufficient resources for operation)?,?% 0 0 X11 error: BadAlloc (insufficient resources for operation)?,?% 0 0 X11 error: BadAlloc (insufficient resources for operation)?,?% 0 0 $ vlc IronManTrailer2-1080p.mkv VLC media player 0.8.6f Janus X Error of failed request: BadAlloc (insufficient resources for operation) Major opcode of failed request: 140 (XVideo) Minor opcode of failed request: 19 () Serial number of failed request: 89 Current serial number in output stream: 90 I just added this to my xorg.conf: Option "AccelMethod" "EXA" I'll report how it works now after reboot or X restart. Bug 445395 may be related. |