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 632260 - flvdemux: Segmentation fault while scrubbing flv video in pitivi
flvdemux: Segmentation fault while scrubbing flv video in pitivi
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal critical
: 0.10.32
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 633532 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-10-15 22:06 UTC by Saverio
Modified: 2012-04-06 07:16 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
log file (265.27 KB, application/x-gzip)
2010-10-15 22:06 UTC, Saverio
  Details
gdb trace (28.58 KB, text/plain)
2012-04-04 20:01 UTC, Jean-François Fortin Tam
  Details
Fix threading issue with index handling (9.52 KB, patch)
2012-04-05 21:28 UTC, Nicolas Dufresne (ndufresne)
committed Details | Review

Description Saverio 2010-10-15 22:06:00 UTC
Created attachment 172461 [details]
log file

Hi, I was trying to load a flv video but pitivi crashed with a segmentation fault. I've attached the log made using your debug options.
Comment 1 Jean-François Fortin Tam 2010-10-17 14:18:30 UTC
I can confirm this with pitivi git, but only with the sample provided by Saverio: http://goo.gl/nHWY

To reproduce:
1. import that flv clip
2. insert it in the timeline
3. scrub it repeatedly until it segfaults.
Comment 2 Jean-François Fortin Tam 2010-10-17 14:28:42 UTC
bash-4.1$ gdb python
GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/python...Reading symbols from /usr/lib/debug/usr/bin/python2.6...done.
done.
(gdb) set pagination 0
(gdb) run bin/pitivi
Starting program: /usr/bin/python bin/pitivi
[Thread debugging using libthread_db enabled]
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
[New Thread 0xb63bcb70 (LWP 7777)]
[New Thread 0xb59ffb70 (LWP 7778)]
[Thread 0xb59ffb70 (LWP 7778) exited]
[New Thread 0xb59ffb70 (LWP 7779)]
[Thread 0xb59ffb70 (LWP 7779) exited]
[New Thread 0xb59ffb70 (LWP 7787)]
[New Thread 0xb201fb70 (LWP 7788)]
[New Thread 0xb0578b70 (LWP 7789)]
[New Thread 0xafd77b70 (LWP 7790)]
[Thread 0xafd77b70 (LWP 7790) exited]
[Thread 0xb59ffb70 (LWP 7787) exited]
[Thread 0xb0578b70 (LWP 7789) exited]
[Thread 0xb201fb70 (LWP 7788) exited]
[New Thread 0xb201fb70 (LWP 7792)]
[New Thread 0xb0578b70 (LWP 7793)]
[New Thread 0xb59ffb70 (LWP 7794)]
[New Thread 0xafd77b70 (LWP 7795)]
[New Thread 0xaf0ffb70 (LWP 7796)]
[New Thread 0xae8feb70 (LWP 7797)]
[New Thread 0xae0fdb70 (LWP 7798)]
[New Thread 0xad8fcb70 (LWP 7799)]
[New Thread 0xa90fab70 (LWP 7800)]
[Thread 0xae8feb70 (LWP 7797) exited]
[New Thread 0xae8feb70 (LWP 7801)]
[New Thread 0xa88f9b70 (LWP 7802)]
[New Thread 0xa80f8b70 (LWP 7803)]
[New Thread 0xa78f7b70 (LWP 7804)]
[New Thread 0xa70f6b70 (LWP 7805)]
[New Thread 0xa66ffb70 (LWP 7806)]
[New Thread 0xa5cffb70 (LWP 7809)]
[Thread 0xa66ffb70 (LWP 7806) exited]
[Thread 0xb0578b70 (LWP 7793) exited]

Program received signal SIGSEGV, Segmentation fault.

Thread 2986474352 (LWP 7792)

  • #0 gst_flv_demux_parse_and_add_index_entry
    at gstflvdemux.c line 114
  • #1 gst_flv_demux_parse_tag_video
    at gstflvdemux.c line 1236
  • #2 gst_flv_demux_pull_tag
    at gstflvdemux.c line 1915
  • #3 gst_flv_demux_loop
    at gstflvdemux.c line 2188
  • #4 gst_task_func
    at gsttask.c line 271
  • #5 default_func
    at gsttaskpool.c line 68
  • #6 g_thread_pool_thread_proxy
    at /build/buildd/glib2.0-2.26.0/glib/gthreadpool.c line 319
  • #7 g_thread_create_proxy
    at /build/buildd/glib2.0-2.26.0/glib/gthread.c line 1897
  • #8 start_thread
    at pthread_create.c line 304
  • #9 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 130
(gdb)
Comment 3 Jean-François Fortin Tam 2011-01-23 14:37:48 UTC
*** Bug 633532 has been marked as a duplicate of this bug. ***
Comment 4 Jean-François Fortin Tam 2011-02-13 03:26:46 UTC
Some more observations:
- with stable gstreamer packages from Ubuntu 10.10, this clip causes pitivi to hang when scrubbed
- with gstreamer jhbuild, pitivi segfaults instead of hanging.

I'm suspecting this is really a gstreamer bug, so moving it there.
Comment 5 Tim-Philipp Müller 2011-02-13 11:19:12 UTC
Any chance you could make the sample available again?
Comment 6 Vincent Penquerc'h 2011-10-03 15:46:35 UTC
ping.

Reading the code referenced by the backtrace, it's not immediately obvious what the bug may be, the file is neeeded.
Comment 7 Akhil Laddha 2011-11-15 08:29:25 UTC
Saverio, Jean-François , can you please provide sample file to reproduce the problem ?
Comment 8 Akhil Laddha 2011-12-29 08:11:47 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!
Comment 9 Jean-François Fortin Tam 2012-04-04 19:58:38 UTC
Argh, I was about to file a new bug for this :)
Trying to load a flv file into a pitivi timeline and seeking it still causes easily reproducible crashes/segfaults. Will attach an additional gdb log made with gst good 0.10.30.

This kind of instability with flv has been reported often by pitivi users. See also https://bugs.launchpad.net/ubuntu/+source/pitivi/+bug/661507

...or more generally: http://tinyurl.com/85egvfy


Here's a sample file: http://jeff.ecchi.ca/public/gstreamer-632260.flv
Comment 10 Jean-François Fortin Tam 2012-04-04 20:01:35 UTC
Created attachment 211324 [details]
gdb trace

"thread apply all bt" with Pitivi GES.
Comment 11 Tim-Philipp Müller 2012-04-04 21:36:58 UTC
> Will attach an additional gdb log made
> with gst good 0.10.30.

Please re-test with 0.10.31 and supply new trace against the last release, or even better against git.
Comment 12 Nicolas Dufresne (ndufresne) 2012-04-05 21:26:43 UTC
(In reply to comment #11)
> > Will attach an additional gdb log made
> > with gst good 0.10.30.
> 
> Please re-test with 0.10.31 and supply new trace against the last release, or
> even better against git.

Not really needed, flvdemux have not changed between 0.10.30 and 0.10.31
Comment 13 Nicolas Dufresne (ndufresne) 2012-04-05 21:28:01 UTC
Created attachment 211434 [details] [review]
Fix threading issue with index handling

This solves the describe issue, and also tested in Pitivi.
Comment 14 Tim-Philipp Müller 2012-04-06 06:57:44 UTC
Nicola: cool, thanks for looking into this. What's the exact problem here though? Is the index being changed/set while the demuxer is running? Or something else?


> Not really needed, flvdemux have not changed between 0.10.30 and 0.10.31

Well, it's not needed if someone wants to spend time re-testing it with a current version or checking what exactly has changed etc. (the problem might be cause by interaction with code outside of gstflvdemux.c which may have changed), but since we currently have close to zero resources for maintenance, and two branches to maintain, it simply doesn't make sense for most of us to even bother looking at anything that's not been confirmed with the latest release.
Comment 15 Sebastian Dröge (slomo) 2012-04-06 07:16:31 UTC
commit 628816784f3c83e76d01ce558e655d34c2181ae9
Author: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Date:   Thu Apr 5 17:17:22 2012 -0400

    flvdemux: Fix threading issue in index handling