After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 351784 - [xvimagesink] crash after BadAlloc X error
[xvimagesink] crash after BadAlloc X error
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.9
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 354698 432036 434050 461062 553985 565987 582067 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-08-17 16:41 UTC by Bastien Nocera
Modified: 2015-08-14 11:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
rails-setup.log.bz2 (614.52 KB, application/octet-stream)
2006-08-22 18:16 UTC, Bastien Nocera
Details

Description Bastien Nocera 2006-08-17 16:41:04 UTC
Trying to playback:
http://media.nextangle.com/rails/rails_setup.mov
(Download it in full, a small amount won't make it crash)

Will exit with:
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 64 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.)

gstreamer-plugins-bad-0.10.3-2
gstreamer-plugins-good-devel-0.10.3.2-0.gst.1.5
gstreamer-plugins-base-0.10.9-0.gst.2.5
gstreamer-ffmpeg-0.10.1-0.gst.1.5
gstreamer-tools-0.10.9-0.gst.1.5
gstreamer-plugins-good-0.10.3.2-0.gst.1.5
gstreamer-plugins-base-devel-0.10.9-0.gst.2.5
gstreamer-0.10.9-0.gst.1.5
gstreamer-plugins-ugly-0.10.3.2-0.gst.1.5
gstreamer-devel-0.10.9-0.gst.1.5
Comment 1 Tim-Philipp Müller 2006-08-22 09:43:06 UTC
Works fine for me with CVS of things. Could you post a stack trace.
Comment 2 Tim-Philipp Müller 2006-08-22 16:57:32 UTC
Oh, also, could you run totem with GST_DEBUG_NO_COLOR=1 and GST_DEBUG=*:5 and attach the gzip'ed log file?
Comment 3 Bastien Nocera 2006-08-22 18:12:46 UTC


  • #0 gdk_x_error
    at gdkmain-x11.c line 598
  • #1 _XError
    from /usr/lib64/libX11.so.6
  • #2 _XReply
    from /usr/lib64/libX11.so.6
  • #3 XSync
    from /usr/lib64/libX11.so.6
  • #4 gst_xvimagesink_xvimage_put
    at xvimagesink.c line 751
  • #5 gst_xvimagesink_show_frame
    at xvimagesink.c line 1973
  • #6 gst_base_sink_queue_object_unlocked
    at gstbasesink.c line 1573
  • #7 gst_base_sink_chain_unlocked
    at gstbasesink.c line 1905
  • #8 gst_base_sink_chain
    at gstbasesink.c line 1939
  • #9 gst_pad_chain_unchecked
    at gstpad.c line 3319
  • #10 gst_pad_push
    at gstpad.c line 3486
  • #11 gst_proxy_pad_do_chain
    at gstghostpad.c line 194
  • #12 gst_pad_chain_unchecked
    at gstpad.c line 3319
  • #13 gst_pad_push
    at gstpad.c line 3486
  • #14 gst_proxy_pad_do_chain
    at gstghostpad.c line 194
  • #15 gst_pad_chain_unchecked
    at gstpad.c line 3319
  • #16 gst_pad_push
    at gstpad.c line 3486
  • #17 gst_proxy_pad_do_chain
    at gstghostpad.c line 194
  • #18 gst_pad_chain_unchecked
    at gstpad.c line 3319
  • #19 gst_pad_push
    at gstpad.c line 3486
  • #20 gst_base_transform_chain
    at gstbasetransform.c line 1473
  • #21 gst_pad_chain_unchecked
    at gstpad.c line 3319
  • #22 gst_pad_push
    at gstpad.c line 3486
  • #23 gst_base_transform_chain
    at gstbasetransform.c line 1473
  • #24 gst_pad_chain_unchecked
    at gstpad.c line 3319
  • #25 gst_pad_push
    at gstpad.c line 3486
  • #26 gst_base_transform_chain
    at gstbasetransform.c line 1473
  • #27 gst_pad_chain_unchecked
    at gstpad.c line 3319
  • #28 gst_pad_push
    at gstpad.c line 3486
  • #29 gst_proxy_pad_do_chain
    at gstghostpad.c line 194
  • #30 gst_pad_chain_unchecked
    at gstpad.c line 3319
  • #31 gst_pad_push
    at gstpad.c line 3486
  • #32 gst_queue_loop
    at gstqueue.c line 779
  • #33 gst_task_func
    at gsttask.c line 193
  • #34 g_thread_pool_push
    from /usr/lib64/libglib-2.0.so.0
  • #35 g_thread_create_full
    from /usr/lib64/libglib-2.0.so.0
  • #36 start_thread
    from /lib64/libpthread.so.0
  • #37 clone
    from /lib64/libc.so.6
  • #38 ??

Comment 4 Bastien Nocera 2006-08-22 18:16:29 UTC
Created attachment 71387 [details]
rails-setup.log.bz2

Bzipped2 log
Comment 5 Julien MOUTTE 2007-01-07 11:31:11 UTC
Can you still reproduce ? This looks like an insufficient memory kind of error.
Comment 6 Tim-Philipp Müller 2007-04-24 13:19:07 UTC
*** Bug 432036 has been marked as a duplicate of this bug. ***
Comment 7 Kjartan Maraas 2007-04-27 19:33:23 UTC
If the bug above really is a duplicate I have a video that triggers this in totem every time I try to play it.
Comment 8 Tim-Philipp Müller 2007-04-27 20:17:26 UTC
> If the bug above really is a duplicate I have a video that triggers this in
> totem every time I try to play it.

Could you make it available somewhere? (catch us on IRC if you don't want to post the link here) 

Comment 9 David Schleef 2007-04-28 20:42:15 UTC
I've seen this bug when playing HD video, which leads me to believe that it's a problem allocating a large enough XV overlay.  Try some pipelines:


gst-launch-0.10 videotestsrc ! video/x-raw-yuv,width=1080,height=720 ! xvimagesink

gst-launch-0.10 videotestsrc ! video/x-raw-yuv,width=1920,height=1280 ! xvimagesink


In my particular case, there appears to be an X bug in addition to the xvimagesink, since xvinfo indicates a supported size of 1920x1088.
Comment 10 Bastien Nocera 2007-05-10 10:16:34 UTC
I have https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=239125 opened downstream, which seems to be a problem with the intel modesetting driver.
Comment 11 Bastien Nocera 2007-05-10 14:57:57 UTC
*** Bug 434050 has been marked as a duplicate of this bug. ***
Comment 12 Bastien Nocera 2007-05-10 15:00:24 UTC
Whether or not it is a bug in the driver, the xvimagesink should report errors to the application, rather than bring the whole application down.

It should use something similar to GDK's gdk_error_trap_push()/gdk_error_trap_pop().
Comment 13 Stefan Sauer (gstreamer, gtkdoc dev) 2007-05-10 17:45:54 UTC
Bastien, we used an error handler for a while at Nokia, but removed it again. Only the application can reliable do that. From the library its impossible to guarantee that the handler can be installed and remains effective :/
Comment 14 David Schleef 2007-05-10 22:33:52 UTC
There's already an Xlib error handler set up in xvimagesink that is installed temporarily for certain high-risk operations.  Pushing the first XVImage probably qualifies as "high-risk".
Comment 15 Bastien Nocera 2007-05-10 22:38:18 UTC
(In reply to comment #14)
> There's already an Xlib error handler set up in xvimagesink that is installed
> temporarily for certain high-risk operations.  Pushing the first XVImage
> probably qualifies as "high-risk".

I can probably cook up a patch for that, if nobody beats me to it.
Comment 16 Kjartan Maraas 2007-05-15 19:19:24 UTC
This happens every time I try to open a playlist from www.emusic.com...very annoying :-)
Comment 17 David Schleef 2007-05-15 19:42:46 UTC
See also:

http://bugs.freedesktop.org/show_bug.cgi?id=10912
Comment 18 Kjartan Maraas 2007-05-15 19:56:42 UTC
Here's output from the two gst-launch lines in comment #9

[kmaraas@localhost gst-plugins-bad]$ gst-launch-0.10 videotestsrc ! video/x-raw-yuv,width=1080,height=720 ! 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
[kmaraas@localhost gst-plugins-bad]$ gst-launch-0.10 videotestsrc ! video/x-raw-yuv,width=1920,height=1280 ! xvimagesink
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
FEIL: fra element /pipeline0/videotestsrc0: Could not negotiate format
Tilleggsinformasjon for feilsøking:
gstbasesrc.c(1865): gst_base_src_start (): /pipeline0/videotestsrc0:
Check your filtered caps, if any
Setting pipeline to NULL ...
FREEING pipeline ...
[kmaraas@localhost gst-plugins-bad]$ gst-launch-0.10 videotestsrc ! video/x-raw-yuv,width=1920,height=1280 ! xvimagesink
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
FEIL: fra element /pipeline0/videotestsrc0: Could not negotiate format
Tilleggsinformasjon for feilsøking:
gstbasesrc.c(1865): gst_base_src_start (): /pipeline0/videotestsrc0:
Check your filtered caps, if any
Setting pipeline to NULL ...
FREEING pipeline ...
[kmaraas@localhost gst-plugins-bad]$ 
Comment 19 Kjartan Maraas 2007-05-15 19:58:10 UTC
And I'm also using the intel driver...
Comment 20 Philip Withnall 2007-07-30 10:22:16 UTC
*** Bug 461062 has been marked as a duplicate of this bug. ***
Comment 21 Bastien Nocera 2009-01-06 11:36:46 UTC
*** Bug 354698 has been marked as a duplicate of this bug. ***
Comment 22 Bastien Nocera 2009-01-06 11:36:53 UTC
*** Bug 553985 has been marked as a duplicate of this bug. ***
Comment 23 Bastien Nocera 2009-01-06 11:37:06 UTC
*** Bug 565987 has been marked as a duplicate of this bug. ***
Comment 24 Joseph Smidt 2009-02-09 07:51:12 UTC
There is a recent bug report in Ubuntu that seems to be related to this bug: https://bugs.launchpad.net/ubuntu/+source/totem/+bug/327082.  

Here is the comment:

"Every time the Totem application launches my screen goes black for a moment. If the application is opening with a file (e.g. I double click StopMotionUbuntu.ogv in the Examples folder) it crashes immediately. If I open the program using the Movie Player launcher in my Applications menu the display still goes blank, but the program doesn't crash until I open a file. In either scenario the program crashes without an error message and just disappears.

This still happens if I turn Visual Effects off.

If I start totem with the --debug flag and then open StopMotionUbuntu.ogv from the menu I get the following error report.
$ totem --debug
** (totem:21552): DEBUG: Init of Python module
** (totem:21552): DEBUG: Registering Python plugin instance: BBCViewer+TotemPythonPlugin
** (totem:21552): DEBUG: Creating object of type BBCViewer+TotemPythonPlugin
** (totem:21552): DEBUG: Creating Python plugin instance
** (totem:21552): DEBUG: Init of Python module
** (totem:21552): DEBUG: Registering Python plugin instance: YouTube+TotemPythonPlugin
** (totem:21552): DEBUG: Creating object of type YouTube+TotemPythonPlugin
** (totem:21552): DEBUG: Creating Python plugin instance
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 67 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.)"
Comment 25 Philip Withnall 2009-05-12 16:01:09 UTC
*** Bug 582067 has been marked as a duplicate of this bug. ***
Comment 26 ariel cornejo 2009-05-13 10:41:07 UTC
Here's the output from
GST_DEBUG_NO_COLOR=1 GST_DEBUG=*:5 totem
http://rapidshare.com/files/232425914/totem.log.bz2.html

(requested in bug #582067)
Totem 2.26.1, GStreamer 0.10.22, on GNOME 2.26.1
Comment 27 Tim-Philipp Müller 2012-10-02 22:54:19 UTC
Still an issue with 1.0 ?

So what's the actual bug here? We should somehow handle errors after / during the first Xv*PutImage() ?
Comment 28 Bastien Nocera 2012-10-11 09:52:21 UTC
(In reply to comment #27)
> Still an issue with 1.0 ?
> 
> So what's the actual bug here? We should somehow handle errors after / during
> the first Xv*PutImage() ?

Yep. Not that we care very much in Totem any more, as we use clutter to blit the image to the screen.
Comment 29 Edward Hervey 2013-07-17 15:47:06 UTC
Do we care or not ? Is it still an issue with 1.0 playbin ?
Comment 30 Tim-Philipp Müller 2013-07-17 16:15:35 UTC
I suspect it's still an issue with xvimagesink + playbin?