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 136573 - hang in avidemux
hang in avidemux
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins
git master
Other Linux
: Normal normal
: 0.7.6
Assigned To: Ronald Bultje
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2004-03-08 18:06 UTC by Arwed v. Merkatz
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
valgrind log (10.07 KB, text/plain)
2004-03-08 18:07 UTC, Arwed v. Merkatz
  Details
output of gst-launch-0.7 (1.20 KB, text/plain)
2004-03-08 18:08 UTC, Arwed v. Merkatz
  Details
patch to remove gst_tag_list_free from riff-read.c (484 bytes, patch)
2004-03-08 19:31 UTC, Arwed v. Merkatz
none Details | Review

Description Arwed v. Merkatz 2004-03-08 18:06:58 UTC
the pipeline i used is: gst-launch-0.7 filesrc location=test.avi ! avidemux
! fakesink
run like that it hangs consuming 100% cpu, gdb backtrace follows:
(gdb) bt
  • #0 malloc_consolidate
    from /lib/libc.so.6
  • #1 _int_malloc
    from /lib/libc.so.6
  • #2 malloc
    from /lib/libc.so.6
  • #3 g_malloc
    from /usr/lib/libglib-2.0.so.0
  • #4 gst_avi_demux_stream_index
    at gstavidemux.c line 1078
  • #5 gst_avi_demux_stream_header
    at gstavidemux.c line 1307
  • #6 gst_avi_demux_loop
    at gstavidemux.c line 1495
  • #7 loop_group_schedule_function
    at gstoptimalscheduler.c line 1129
  • #8 schedule_group
    at gstoptimalscheduler.c line 971
  • #9 gst_opt_scheduler_schedule_run_queue
    at gstoptimalscheduler.c line 1013
  • #10 schedule_chain
    at gstoptimalscheduler.c line 1057
  • #11 gst_opt_scheduler_iterate
    at gstoptimalscheduler.c line 2203
  • #12 gst_scheduler_iterate
    at gstscheduler.c line 705
  • #13 gst_bin_iterate_func
    at gstbin.c line 1094
  • #14 gst_marshal_BOOLEAN__VOID
    at gstmarshal.c line 433
  • #15 g_type_class_meta_marshal
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #17 signal_emit_unlocked_R
    from /usr/lib/libgobject-2.0.so.0
  • #18 ??
  • #19 ??
  • #20 ??
  • #21 ??
  • #22 g_free
    from /usr/lib/libglib-2.0.so.0


when run with valgrind --skin=memcheck it doesn't hang, but outputs quite
some stuff, valgrind log and output of gst-launch is attached.
Comment 1 Arwed v. Merkatz 2004-03-08 18:07:31 UTC
Created attachment 25347 [details]
valgrind log
Comment 2 Arwed v. Merkatz 2004-03-08 18:08:03 UTC
Created attachment 25348 [details]
output of gst-launch-0.7
Comment 3 Ronald Bultje 2004-03-08 19:08:45 UTC
The first tells me that I did something wrong with tag reading in
avidemux. There must be some error in this part of code in
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst-libs/gst/riff/riff-read.c.diff?r1=1.4&r2=1.5
but I don't know where. Try removing the gst_tag_list_free(), though I
thought that gst_element_found_tag() copied the list... Odd...

The second log tells me that those two commits by Julien in
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst-libs/gst/riff/riff-read.c.diff?r1=1.12&r2=1.14
are both wrong. We should not touch the event after pad_default'ing
them, because we *lose our reference* by doing that. Someone please
fix that properly. At least, that's what I suspect. It might be
something else.
Comment 4 Arwed v. Merkatz 2004-03-08 19:31:36 UTC
Created attachment 25352 [details] [review]
patch to remove gst_tag_list_free from riff-read.c
Comment 5 Arwed v. Merkatz 2004-03-08 19:33:31 UTC
The first hint works for me, after removing the gst_tag_list_free with
the attached patch i can finally play avi files again.
Comment 6 Ronald Bultje 2004-03-09 04:29:59 UTC
Fixed in CVS.