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 357662 - [xvid] crashes when seeking
[xvid] crashes when seeking
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: High critical
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 357673 448951 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-09-25 18:52 UTC by Arwyn Hainsworth
Modified: 2009-01-29 11:21 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16



Description Arwyn Hainsworth 2006-09-25 18:52:06 UTC
Version: 2.16.1

What were you doing when the application crashed?
attempted to rewind while watching a video. When I started watching the video the file had not completely downloaded. At the time of the attempted rewind it had been fully downloaded however.


Distribution: Ubuntu 6.10 (edgy)
Gnome Release: 2.16.0 2006-09-04 (Ubuntu)
BugBuddy Version: 2.16.0

Memory status: size: 181280768 vsize: 0 resident: 181280768 share: 0 rss: 67915776 rss_rlim: 0
CPU usage: start_time: 1159203050 rtime: 0 utime: 107426 stime: 0 cutime:103737 cstime: 0 timeout: 3689 it_real_value: 0 frequency: 3

Backtrace was generated from '/usr/bin/totem'

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1225951568 (LWP 19870)]
[New Thread -1336050784 (LWP 26187)]
[New Thread -1249236064 (LWP 26185)]
[New Thread -1282245728 (LWP 26184)]
[New Thread -1327658080 (LWP 26183)]
[New Thread -1315685472 (LWP 26182)]
[New Thread -1264063584 (LWP 25601)]
[New Thread -1273594976 (LWP 25599)]
[New Thread -1307292768 (LWP 25596)]
0xffffe410 in __kernel_vsyscall ()

Thread 8 (Thread -1273594976 (LWP 25599))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 gnome_gtk_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 ??
    from /usr/lib/libxvidcore.so.4
  • #5 ??
  • #6 ??

Comment 1 Tim-Philipp Müller 2006-09-26 15:59:48 UTC
Thanks for the bug report.

This is _probably_ fixed in gst-plugins-bad CVS.

However, it would still be great if you could try to reproduce the crash and get a stack trace with debugging symbols, so we can make sure. Please install the following packages to get debugging symbols for GStreamer:

  $ sudo apt-get install libgstreamer0.10-0-dbg gstreamer0.10-plugins-base-dbg gstreamer0.10-plugins-good-dbg gstreamer0.10-plugins-ugly-multiverse-dbg gstreamer0.10-plugins-bad-multiverse-dbg 

  (Use just 'gstreamer0.10-plugins-bad-dbg gstreamer0.10-plugins-ugly-dbg' if you don't have the -multiverse varieties installed).


(After you have gotten a new stack trace with debugging symbols, you might want to also install the gstreamer0.10-ffmpeg package - it generally provides better mpeg4/xvid decoding than xviddec).

Comment 2 Arwyn Hainsworth 2006-09-26 16:39:40 UTC
Attempts to replicate the previous behaviour with debug sybols enabled keep failing. I can get totem to crash (freezes and stops responding), it just won't die and call bug buggy.

How do you obtaining a stack trace for a program that is still running, but has frozen and won't respond?

Thanks for the tip on ffmpeg, I thought I had it installed already, my mistake.
Comment 3 Tim-Philipp Müller 2006-09-26 16:48:43 UTC
Something like:

 $ pidof -s totem
 <PID>

 $ gdb -p <PID>
 Welcome to gdb bla bla bla
 (gdb) thread apply all bt
 ... copy'n'paste all output from here ..
 (gdb) kill
 (gdb) quit


You could also run totem in gdb from the start, like:

 $ gdb --args /usr/bin/totem foo.avi
 ...
 (gdb) run
 ... wait for crash or Control-C to interrupt ..

 (gdb) thread apply all bt
 ... copy'n'paste all output from here ..
Comment 4 Arwyn Hainsworth 2006-09-26 17:17:45 UTC
Ok, forward-wind 3 time, backwards once and it'll freeze on an uncomplete file. Here is the stack trace:

Thread 1 (Thread -1225988432 (LWP 14701))

  • #0 __kernel_vsyscall
  • #1 __lll_mutex_lock_wait
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 _L_mutex_lock_49
    from /lib/tls/i686/cmov/libpthread.so.0
  • #3 ??
  • #4 ??
    from /usr/lib/libgthread-2.0.so.0
  • #5 ??
  • #6 ??
  • #7 ??
  • #8 ??
    from /usr/lib/libglib-2.0.so.0
  • #9 ??
  • #10 pthread_mutex_destroy
    from /lib/tls/i686/cmov/libpthread.so.0
  • #11 g_static_rec_mutex_lock
    from /usr/lib/libglib-2.0.so.0
  • #12 gst_pad_pause_task
    at gstpad.c line 4151
  • #13 gst_queue_handle_sink_event
    at gstqueue.c line 541
  • #14 gst_pad_send_event
    at gstpad.c line 4009
  • #15 gst_pad_push_event
    at gstpad.c line 3866
  • #16 gst_avi_demux_get_type
    from /usr/lib/gstreamer-0.10/libgstavi.so
  • #17 gst_avi_demux_get_type
  • #18 gst_pad_send_event
    at gstpad.c line 4009
  • #19 gst_pad_push_event
    at gstpad.c line 3866
  • #20 gst_queue_handle_src_event
    at gstqueue.c line 904
  • #21 gst_pad_send_event
    at gstpad.c line 4009
  • #22 gst_pad_push_event
    at gstpad.c line 3866
  • #23 gst_pad_event_default
    at gstpad.c line 2850
  • #24 gst_pad_send_event
    at gstpad.c line 4009
  • #25 gst_pad_push_event
    at gstpad.c line 3866
  • #26 gst_proxy_pad_do_event
    at gstghostpad.c line 137
  • #27 gst_pad_send_event
    at gstpad.c line 4009
  • #28 gst_pad_push_event
    at gstpad.c line 3866
  • #29 gst_pad_event_default
    at gstpad.c line 2850
  • #30 gst_pad_send_event
    at gstpad.c line 4009
  • #31 gst_pad_push_event
    at gstpad.c line 3866
  • #32 gst_queue_handle_src_event
    at gstqueue.c line 904
  • #33 gst_pad_send_event
    at gstpad.c line 4009
  • #34 gst_pad_push_event
    at gstpad.c line 3866
  • #35 gst_proxy_pad_do_event
    at gstghostpad.c line 137
  • #36 gst_pad_send_event
    at gstpad.c line 4009
  • #37 gst_pad_push_event
    at gstpad.c line 3866
  • #38 gst_base_transform_src_eventfunc
    at gstbasetransform.c line 1317
  • #39 gst_base_transform_src_event
    at gstbasetransform.c line 1286
  • #40 gst_pad_send_event
  • #41 gst_pad_push_event
    at gstpad.c line 3866
  • #42 gst_base_transform_src_eventfunc
    at gstbasetransform.c line 1317
  • #43 gst_base_transform_src_event
    at gstbasetransform.c line 1286
  • #44 gst_pad_send_event
    at gstpad.c line 4009
  • #45 gst_pad_push_event
    at gstpad.c line 3866
  • #46 gst_base_transform_src_eventfunc
    at gstbasetransform.c line 1317
  • #47 gst_video_scale_src_event
    at gstvideoscale.c line 866
  • #48 gst_base_transform_src_event
    at gstbasetransform.c line 1286
  • #49 gst_pad_send_event
    at gstpad.c line 4009
  • #50 gst_pad_push_event
    at gstpad.c line 3866
  • #51 gst_proxy_pad_do_event
    at gstghostpad.c line 137
  • #52 gst_pad_send_event
    at gstpad.c line 4009
  • #53 gst_pad_push_event
    at gstpad.c line 3866
  • #54 gst_proxy_pad_do_event
    at gstghostpad.c line 137
  • #55 gst_pad_send_event
    at gstpad.c line 4009
  • #56 gst_pad_push_event
    at gstpad.c line 3866
  • #57 gst_proxy_pad_do_event
    at gstghostpad.c line 137
  • #58 gst_pad_send_event
    at gstpad.c line 4009
  • #59 gst_pad_push_event
    at gstpad.c line 3866
  • #60 gst_base_sink_send_event
    at gstbasesink.c line 2213
  • #61 gst_element_send_event
    at gstelement.c line 1212
  • #62 gst_bin_send_event
    at gstbin.c line 2036
  • #63 gst_element_send_event
  • #64 gst_bin_send_event
    at gstbin.c line 2036
  • #65 gst_element_send_event
    at gstelement.c line 1212
  • #66 gst_bin_send_event
    at gstbin.c line 2036
  • #67 gst_element_send_event
    at gstelement.c line 1212
  • #68 gst_bin_send_event
    at gstbin.c line 2036
  • #69 gst_element_send_event
    at gstelement.c line 1212
  • #70 gst_play_bin_send_event_to_sink
    at gstplaybin.c line 1508
  • #71 gst_play_bin_send_event
    at gstplaybin.c line 1552
  • #72 gst_element_send_event
    at gstelement.c line 1212
  • #73 gst_element_seek
    at gstelement.c line 1264
  • #74 bacon_video_widget_seek_time
  • #75 totem_action_seek_relative
  • #76 totem_action_open_dialog
  • #77 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #78 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #79 g_signal_chain_from_overridden
    from /usr/lib/libgobject-2.0.so.0
  • #80 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #81 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #82 gtk_widget_get_default_style
    from /usr/lib/libgtk-x11-2.0.so.0
  • #83 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #84 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #85 _gdk_events_init
    from /usr/lib/libgdk-x11-2.0.so.0
  • #86 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #87 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #88 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #89 gst_bus_poll
    at gstbus.c line 861
  • #90 bacon_video_widget_error_quark
  • #91 bacon_video_widget_error_quark
  • #92 totem_action_toggle_controls
  • #93 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #94 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #95 g_signal_chain_from_overridden
    from /usr/lib/libgobject-2.0.so.0
  • #96 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #97 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #98 gtk_widget_get_default_style
    from /usr/lib/libgtk-x11-2.0.so.0
  • #99 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #100 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #101 _gdk_events_init
    from /usr/lib/libgdk-x11-2.0.so.0
  • #102 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #103 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #104 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #105 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #106 main

Comment 5 Tim-Philipp Müller 2006-10-18 11:19:25 UTC
This looks like the usual 'the-xvid-decoder-in-bad-isn't-very-stable'. xviddec's rank has been set to NONE in CVS for now so it's not autoplugged any longer. I suggest you install gstreamer0.10-ffmpeg for mpeg4/xvid/divx decoding.

Moving to GStreamer.

Could you please install gstreamer0.10-plugins-bad-dbg (and or -bad-multiverse-dbg), so that we can get a decent stack trace for the xviddec bits?

(The fact that the AVI was fully downloaded when you seeked probably doesn't matter, avidemux will probably just use the size it found the movie to be at the start and won't keep updating that as the file grows).
Comment 6 Tim-Philipp Müller 2006-10-18 11:23:38 UTC
*** Bug 357673 has been marked as a duplicate of this bug. ***
Comment 7 Tim-Philipp Müller 2006-10-18 11:24:49 UTC
Actually, this seems to happen a lot when seeking in general, so changing bug title accordingly.
Comment 8 Tim-Philipp Müller 2007-06-19 10:01:51 UTC
*** Bug 448951 has been marked as a duplicate of this bug. ***
Comment 9 Tobias Mueller 2009-01-29 11:21:56 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for.
Thanks!