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 316722 - .sub file caused gst to ran out of memory
.sub file caused gst to ran out of memory
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other All
: Normal major
: 0.8.12
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-09-19 19:20 UTC by Jeremy Messenger
Modified: 2009-03-11 08:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
A log of Valgrind ran on FreeBSD. (1.95 KB, application/bzip2)
2006-01-10 21:54 UTC, Jeremy Messenger
Details

Description Jeremy Messenger 2005-09-19 19:20:56 UTC
Version details: 0.8.11
Distribution/Version: 6.0-BETA5

Download .sub file[1] and bunzip2 wherever, then let Nautilus to try to create a 
thumbnail of it or just run totem-video-thumbnailer by manual with this .sub 
file. It will causing thumbnailer ran out of memory, so there might be an 
infinite loop. It happened on any .sub files as I have a lot of them here in my 
system. I am going to put the more info below, hopeful it's enough info.

23142 mezz          3 -20    0   533M   186M STOP     0:02  0.00% totem-video-
thumbnailer

gstreamer 0.8.11
gstreamer-plugins 0.8.11

[1] http://people.freebsd.org/~mezz/Constantine.sub.bz2

Here is backtrace:
==============================================
GLib-ERROR **: gmem.c:141: failed to allocate 1658880 bytes
aborting...

(gdb) bt
  • #0 kse_thr_interrupt
    from /usr/lib/libpthread.so.2
  • #1 _thr_sig_send
    at /usr/src/lib/ libpthread/thread/thr_sig.c line 1099
  • #2 _pthread_kill
    at /usr/src/lib/ libpthread/thread/thr_kill.c line 60
  • #3 _raise
  • #4 abort
    at /usr/src/lib/libc/stdlib/abort.c line 69
  • #5 IA__g_logv
    at gmessages.c line 497
  • #6 IA__g_log
    at gmessages.c line 517
  • #8 gst_buffer_new_and_alloc
    at gstbuffer.c line 247
  • #9 gst_pad_alloc_buffer
    at gstpad.c line 3030
  • #10 dvdsubdec_advance_time
    at dvdsubdec.c line 783
  • #11 gst_dvdsubdec_handle_subtitle
    at dvdsubdec.c line 889
  • #12 gst_pad_call_chain_function
    at gstpad.c line 4539
  • #13 gst_pad_push
  • #15 gst_dvd_demux_send_subbuffer
    at gstdvddemux.c line 1085
  • #16 gst_dvd_demux_process_private
    at gstdvddemux.c line 1048
  • #17 gst_mpeg_demux_parse_pes
    at gstmpegdemux.c line 972
  • #18 gst_mpeg_parse_loop
    at gstmpegparse.c line 631
  • #19 ??
    from /usr/X11R6/lib/gstreamer-0.8/libgstoptscheduler.so
  • #20 ??
    from /usr/X11R6/lib/gstreamer-0.8/libgstoptscheduler.so
  • #21 ??
    from /usr/X11R6/lib/gstreamer-0.8/libgstoptscheduler.so
  • #22 gst_scheduler_iterate
    at gstscheduler.c line 744
  • #23 gst_bin_iterate_func
    at gstbin.c line 1281
  • #24 gst_marshal_BOOLEAN__VOID
    at gstmarshal.c line 509
  • #25 g_type_class_meta_marshal
    at gclosure.c line 569
  • #26 IA__g_closure_invoke
    at gclosure.c line 492
  • #27 signal_emit_unlocked_R
    at gsignal.c line 2523
  • #28 IA__g_signal_emit_valist
    at gsignal. c line 2254
  • #29 IA__g_signal_emit
    at gsignal.c line 2288
  • #30 gst_bin_iterate
    at gstbin.c line 1341
  • #31 gst_thread_main_loop
    at gstthread.c line 675
  • #32 g_thread_create_proxy
    at gthread.c line 548
  • #33 kse_sched_single
    at /usr/src/lib/libpthread/thread/ thr_kern.c line 883
  • #34 ??
  • #0 kse_thr_interrupt
    from /usr/lib/libpthread.so.2
  • #1 _thr_sig_send
    at /usr/src/lib/ libpthread/thread/thr_sig.c line 1099
  • #2 _pthread_kill
    at /usr/src/lib/ libpthread/thread/thr_kill.c line 60
  • #3 _raise
  • #4 abort
    at /usr/src/lib/libc/stdlib/abort.c line 69
  • #5 IA__g_logv
    at gmessages.c line 497
  • #6 IA__g_log
    at gmessages.c line 517
  • #7 IA__g_malloc
    at gmem.c line 141
  • #8 gst_buffer_new_and_alloc
    at gstbuffer.c line 247
  • #9 gst_pad_alloc_buffer
    at gstpad.c line 3030
  • #10 dvdsubdec_advance_time
    at dvdsubdec.c line 783
  • #11 gst_dvdsubdec_handle_subtitle
    at dvdsubdec.c line 889
  • #12 gst_pad_call_chain_function
    at gstpad.c line 4539
  • #13 gst_pad_push
    at gstpad.c line 3335
  • #14 gst_mpeg_demux_send_subbuffer
    at gstmpegdemux.c line 1038
  • #15 gst_dvd_demux_send_subbuffer
    at gstdvddemux.c line 1085
  • #16 gst_dvd_demux_process_private
    at gstdvddemux.c line 1048
  • #17 gst_mpeg_demux_parse_pes
    at gstmpegdemux.c line 972
  • #18 gst_mpeg_parse_loop
    at gstmpegparse.c line 631
  • #19 ??
    from /usr/X11R6/lib/gstreamer-0.8/libgstoptscheduler.so
  • #20 ??
    from /usr/X11R6/lib/gstreamer-0.8/libgstoptscheduler.so
  • #21 ??
    from /usr/X11R6/lib/gstreamer-0.8/libgstoptscheduler.so
  • #22 gst_scheduler_iterate
    at gstscheduler.c line 744
  • #23 gst_bin_iterate_func
    at gstbin.c line 1281
  • #24 gst_marshal_BOOLEAN__VOID
    at gstmarshal.c line 509
  • #25 g_type_class_meta_marshal
    at gclosure.c line 569
  • #26 IA__g_closure_invoke
    at gclosure.c line 492
  • #27 signal_emit_unlocked_R
    at gsignal.c line 2523
  • #28 IA__g_signal_emit_valist
    at gsignal. c line 2254
  • #29 IA__g_signal_emit
    at gsignal.c line 2288
  • #30 gst_bin_iterate
    at gstbin.c line 1341
  • #31 gst_thread_main_loop
    at gstthread.c line 675
  • #32 g_thread_create_proxy
    at gthread.c line 548
  • #33 kse_sched_single
    at /usr/src/lib/libpthread/thread/ thr_kern.c line 883
  • #34 ??
==============================================
Comment 1 Sergej Kotliar 2005-09-19 22:24:24 UTC
I can confirm this behaviour on Linux (Fedora Core 4).
Very weird in deed.

Shouldn't this be moved to totem->thumbnailer ?
Comment 2 Luca Ognibene 2005-09-21 20:39:34 UTC
no, it's a gst issue :( You can replicate it using:
gst-launch-0.8 playbin uri="file:///home/luogni/Temp/Constantine.sub"

argh, valgrind doesn't work anymore on my pc :( Anyone can send to me valgrind's
log? 
valgrind --leak-check=yes --show-reachable=yes gst-launch-0.8 playbin
uri="file:///home/luogni/Temp/Constantine.sub"

thanks for reporting the bug!
Comment 3 Jeremy Messenger 2005-09-23 05:07:30 UTC
It is first time for me to use Valgrind and I don't know if it works correct. 
Valgrind isn't exact stable and 100% function on FreeBSD, so don't give it a 
high hope. Here is log of it.

http://people.freebsd.org/~mezz/gst-sub.log.pid26560.bz2
Comment 4 Luca Ognibene 2005-09-24 08:52:31 UTC
luogni@bucefalo:~/Temp$ wget
"http://people.freebsd.org/~mezz/gst-sub.log.pid26560.bz2"
--10:52:15--  http://people.freebsd.org/~mezz/gst-sub.log.pid26560.bz2
           => `gst-sub.log.pid26560.bz2'
Risoluzione di people.freebsd.org in corso... 216.136.204.21
Connecting to people.freebsd.org|216.136.204.21|:80... connesso.
HTTP richiesta inviata, aspetto la risposta... 403 Forbidden
10:52:16 ERRORE 403: Forbidden.

:(
Comment 5 Jeremy Messenger 2005-09-24 16:59:29 UTC
Oh sorry, it's fixed and fetchable now.
Comment 6 Jeremy Messenger 2006-01-10 21:54:06 UTC
Created attachment 57127 [details]
A log of Valgrind ran on FreeBSD.

Had to add attach, so nobody lose it because I am removing this in my web space.
Comment 7 Jeremy Messenger 2006-01-10 21:55:43 UTC
Constantine.sub.bz2 has been removed from in my web space, so contact me if you need any .sub files. It's very easy to find .sub files anywhere in google.
Comment 8 Andy Wingo 2006-01-13 18:44:45 UTC
Gah, this is crap in 0.10 as well. You do get an error saying it couldn't subtitle, but before that there are like 15 criticals.
Comment 9 Ronald Bultje 2006-01-30 13:44:23 UTC
I've fixed this issue in 0.8.
Comment 10 Andy Wingo 2006-01-30 14:31:32 UTC
When was this fixed, Ronald? I haven't seen any commits that appear to be related. I'm trying to see what can be applied to HEAD.

Reopening as the bug is still in HEAD.
Comment 11 Jeremy Messenger 2006-01-30 17:57:37 UTC
How can it be fixed in 0.8 if 0.8.11 is the lastest version of 8.x series? My reported was based on 0.8.11 while Andy has said that it exists in 0.10. If it's in 0.8 CVS, then please show us which one for I can collect patch(es) and put in our FreeBSD ports tree. Thanks.

http://gstreamer.freedesktop.org/src/gstreamer/
http://gstreamer.freedesktop.org/src/gst-plugins/
Comment 12 Tim-Philipp Müller 2006-02-01 12:58:36 UTC
There is a fix for 0.8 in bug #320856
Comment 13 Luca Ognibene 2006-02-25 13:12:16 UTC
With current cvs using playbin:
 - you see only the subtitles played very very fast
 - it will hang on eos
 - when forcing playbin to go to NULL with C-c i get a zillions of failed assertions (gst_bin_remove GST_IS_ELEMENT failed)
 - ram usage is normal
Comment 14 Wim Taymans 2006-08-21 16:52:02 UTC
can somebody provide that Constantine.sub file again?
Comment 15 Tim-Philipp Müller 2006-08-22 08:46:46 UTC
http://people.freedesktop.org/~tpm/Constantine-bug316722.sub

(Shouldn't be an issue though at the moment given lack of subpicture support in playbin)
Comment 16 Sebastian Dröge (slomo) 2008-05-26 10:26:07 UTC
This file can't be played at all anymore with latest CVS
Comment 17 Edward Hervey 2009-03-11 08:13:25 UTC
Considering this file doesn't fail anymore (in the sense it doesn't leak memory or cause segfaults or cause world hunger) I'm closing this bug.

gst-typefind-0.10 reports it being:
video/mpeg, systemstream=(boolean)true, mpegversion=(int)2