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 170083 - nautilus restarts (crashes) when trying to view the properties of a quicktime movie file
nautilus restarts (crashes) when trying to view the properties of a quicktime...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins
0.8.8
Other Linux
: Normal normal
: 0.8.9
Assigned To: Maintainer alias for GStreamer component of Totem
Maintainer alias for GStreamer component of Totem
Depends on:
Blocks:
 
 
Reported: 2005-03-12 16:45 UTC by Sebastien Bacher
Modified: 2005-03-20 14:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
possible fix (677 bytes, patch)
2005-03-20 11:56 UTC, Ronald Bultje
none Details | Review

Description Sebastien Bacher 2005-03-12 16:45:56 UTC
This bug has been opened here: https://bugzilla.ubuntu.com/7475

backtrace of the crash:

(gdb) thread apply all bt

Thread 12 (Thread -1246516304 (LWP 19622))

  • #0 mute_stream
    at gstplaybasebin.c line 769
  • #1 gst_probe_perform
    at gstprobe.c line 112
  • #2 gst_probe_dispatcher_dispatch
    at gstprobe.c line 252
  • #3 gst_pad_push
    at gstpad.c line 3251
  • #4 gst_qtdemux_loop_header
    at qtdemux.c line 818
  • #5 loop_group_schedule_function
    at gstoptimalscheduler.c line 1451
  • #6 schedule_group
    at gstoptimalscheduler.c line 1222
  • #7 gst_opt_scheduler_schedule_run_queue
    at gstoptimalscheduler.c line 1274
  • #8 schedule_chain
    at gstoptimalscheduler.c line 1331
  • #9 gst_opt_scheduler_iterate
    at gstoptimalscheduler.c line 2789
  • #10 gst_scheduler_iterate
    at gstscheduler.c line 744
  • #11 gst_bin_iterate_func
    at gstbin.c line 1246
  • #12 gst_marshal_BOOLEAN__VOID
    at gstmarshal.c line 509
  • #13 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #18 gst_bin_iterate
    at gstbin.c line 1306
  • #19 gst_thread_main_loop
    at gstthread.c line 675
  • #20 g_static_private_free
    from /usr/lib/libglib-2.0.so.0
  • #21 start_thread
    from /lib/tls/i686/cmov/libpthread.so.0
  • #22 clone
    from /lib/tls/i686/cmov/libc.so.6

Comment 1 Sebastien Bacher 2005-03-12 16:55:19 UTC
that happens when gst-ffmpeg is not installed
Comment 2 Ronald Bultje 2005-03-19 14:44:32 UTC
Line 769 contains:
gst_pad_remove_probe ((GstPad *) GST_PAD_REALIZE (info->object), probe);

so, what is info? What is info->object?
Comment 3 Ronald Bultje 2005-03-20 11:56:28 UTC
Created attachment 38958 [details] [review]
possible fix

Sebastien, Federico could reproduce this too... However, I cannot. I've tried a
few different files with different kind of codecs enabled, and it just exits
nicely here. However, from the reports both you and Federico gave me, I think I
have a good indication of what's causing the bug. If I analyse the code
correctly, the attached patch should fix it. What it does is explicitely
synchronize and cleanup the playback thread before destroying the stream-info
structures, which are (later on) used in mute_group to disable the groups
(since we have no codecs for them). With this patch, mute_group should either
not be called alltogether, or should be called before we destroy the
stream-info structures (since we're synchronizing on the thread), which should
in both cases prevent the crash.

Please test and let me know if it helps.
Comment 4 Sebastien Bacher 2005-03-20 14:24:29 UTC
To reproduce you just need to get the nautilus properties for a file not handled
by the plugins (ie: a mov file without ffmpeg installed). BTW the patch fixes
the crash, thanks!
Comment 5 Ronald Bultje 2005-03-20 14:52:55 UTC
OK, re-assign and close then.