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 695166 - After updating to 1.0.5, while loading a movie file in totem , totem is segmentation fault.
After updating to 1.0.5, while loading a movie file in totem , totem is segme...
Status: RESOLVED NOTGNOME
Product: GStreamer
Classification: Platform
Component: gst-libav
1.0.5
Other Linux
: Normal critical
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-03-04 23:37 UTC by sangu
Modified: 2013-03-09 23:23 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description sangu 2013-03-04 23:37:09 UTC
After updating to 1.0.5, while loading a movie file , totem is segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Thread 140736079062784 (LWP 2653)

  • #0 dsputil_init
    at libavcodec/dsputil.c line 3160
  • #1 common_init
    at libavcodec/h264.c line 1040
  • #2 ff_h264_decode_init
    at libavcodec/h264.c line 1106
  • #3 avcodec_open2
    at libavcodec/utils.c line 816
  • #4 avcodec_open
    at libavcodec/utils.c line 631
  • #5 gst_ffmpeg_avcodec_open
    at gstav.c line 48
  • #6 gst_ffmpegviddec_open
    at gstavviddec.c line 367
  • #7 gst_ffmpegviddec_set_format
    at gstavviddec.c line 486
  • #8 gst_video_decoder_chain
    from /lib64/libgstvideo-1.0.so.0
  • #9 gst_pad_chain_data_unchecked
    at gstpad.c line 3654
  • #10 gst_pad_push_data
    at gstpad.c line 3871
  • #11 gst_pad_push
    at gstpad.c line 3974
  • #12 gst_base_transform_chain
    at gstbasetransform.c line 2203
  • #13 gst_pad_chain_data_unchecked
    at gstpad.c line 3654
  • #14 gst_pad_push_data
    at gstpad.c line 3871
  • #15 gst_pad_push
    at gstpad.c line 3974
  • #16 gst_base_parse_push_frame
    at gstbaseparse.c line 2146
  • #17 gst_base_parse_chain
    at gstbaseparse.c line 2623
  • #18 gst_pad_chain_data_unchecked
    at gstpad.c line 3654
  • #19 gst_pad_push_data
    at gstpad.c line 3871
  • #20 gst_pad_push
    at gstpad.c line 3974
  • #21 gst_single_queue_push_one
    at gstmultiqueue.c line 1057
  • #22 gst_multi_queue_loop
    at gstmultiqueue.c line 1303
  • #23 gst_task_func
    at gsttask.c line 316
  • #24 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #25 g_thread_proxy
    at gthread.c line 798
  • #26 start_thread
    from /lib64/libpthread.so.0
  • #27 clone
    from /lib64/libc.so.6

totem-3.6.3-4.fc19.x86_64
gstreamer1-1.0.5-2.fc19.x86_64
gstreamer1-libav-1.0.5-1.fc19.x86_64
Comment 1 Olivier Crête 2013-03-05 01:01:55 UTC
Any chance you can provide the movie?It does feel like a libav bug.
Comment 2 sangu 2013-03-05 02:23:15 UTC
(In reply to comment #1)
> Any chance you can provide the movie?It does feel like a libav bug.

http://file.ruliweb.com/news/2013/02/ps3/ruliweb_mlb13_ps3_sd.wmv ( baseball video game play movie)
Comment 3 sangu 2013-03-05 03:21:54 UTC
or streaming movie mms://yonhapnews.hvod.nefficient.co.kr/yna/201303/MYH20130305002500038_WMV500Kbps.wmv
Comment 4 sangu 2013-03-05 04:59:58 UTC
$wget http://mediadownloads.mlb.com/mlbam/2013/03/01/14-363061-2013-03-01/web_cut/rth_lanana_25643471_1200k.mp4 (baseball play movie)
$gdb gst-launch-1.0
(gdb) r -v playbin uri=file:///path/to/rth_lanana_25643471_1200k.mp4
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe7fff700 (LWP 4706)]
0x00007fffe6a8ce49 in dsputil_init (c=c@entry=0x7ffff7f225d8, 
    avctx=0x7fffdc03b8c0) at libavcodec/dsputil.c:3161
3161	            c->avg_2tap_qpel_pixels_tab[0][i]= c->avg_h264_qpel_pixels_tab[0][i];

[skip]
Comment 5 Tim-Philipp Müller 2013-03-05 10:33:06 UTC
All of these work fine for me with the 1.0 git branch and the 1.0.5 packages as in debian.

What libav/libffmpeg version is this built against? Is it using the internal libav snapshot or an external libav/libffmpeg?
Comment 6 sangu 2013-03-05 13:45:34 UTC
(In reply to comment #5)
> All of these work fine for me with the 1.0 git branch and the 1.0.5 packages as
> in debian.
> 
> What libav/libffmpeg version is this built against? Is it using the internal
> libav snapshot or an external libav/libffmpeg?
libav-0.8.5

http://buildsys.rpmfusion.org/plague-results/fedora-development-rpmfusion_free/gstreamer1-libav/1.0.5-1.fc19/SRPM/
$rpm -qpl gstreamer1-libav-1.0.5-1.fc19.src.rpm 
gst-ffmpeg-0.10.12-ChangeLog-UTF-8.patch
gst-libav-1.0.5.tar.xz
gstreamer1-libav.spec
libav-0.8.5.tar.xz 
~~~~~~~~~~~~~~~~~~
Comment 7 Hans de Goede 2013-03-05 15:17:36 UTC
I wonder if this could be a duplicate of bug 694230 ?

sangu, can you try running the video in question like this:

gst-launch-1.0 filesrc location=rth_lanana_25643471_1200k.mp4 ! qtdemux ! avdec_h264 max-threads=1 ! xvimagesink

And also with max-threads=0 and max-threads=2 ?
Comment 8 sangu 2013-03-05 16:00:53 UTC
(gdb) r filesrc location=rth_lanana_25643471_1200k.mp4 ! qtdemux ! avdec_h264 max-threads=1 ! xvimagesink
Starting program: /usr/bin/gst-launch-1.0 filesrc location=rth_lanana_25643471_1200k.mp4 ! qtdemux ! avdec_h264 max-threads=1 ! xvimagesink
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Setting pipeline to PAUSED ...
[New Thread 0x7fffec56d700 (LWP 6637)]
[New Thread 0x7fffebd6c700 (LWP 6638)]
Pipeline is PREROLLING ...

Program received signal SIGSEGV, Segmentation fault.

Thread 140737150109440 (LWP 6638)

  • #0 dsputil_init
    at libavcodec/dsputil.c line 3161
  • #1 common_init
    at libavcodec/h264.c line 1040
  • #2 ff_h264_decode_init
    at libavcodec/h264.c line 1106
  • #3 avcodec_open2
    at libavcodec/utils.c line 816
  • #4 avcodec_open
    at libavcodec/utils.c line 631
  • #5 gst_ffmpeg_avcodec_open
    at gstav.c line 48
  • #6 gst_ffmpegviddec_open
    at gstavviddec.c line 367
  • #7 gst_ffmpegviddec_set_format
    at gstavviddec.c line 486
  • #8 gst_video_decoder_chain
    from /lib64/libgstvideo-1.0.so.0
  • #9 gst_pad_chain_data_unchecked
    at gstpad.c line 3654
  • #10 gst_pad_push_data
    at gstpad.c line 3871
  • #11 gst_qtdemux_decorate_and_push_buffer.isra.34
    from /usr/lib64/gstreamer-1.0/libgstisomp4.so
  • #12 gst_qtdemux_loop
    from /usr/lib64/gstreamer-1.0/libgstisomp4.so
  • #13 gst_task_func
    at gsttask.c line 316
  • #14 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #15 g_thread_proxy
    at gthread.c line 798
  • #16 start_thread
    from /lib64/libpthread.so.0
  • #17 clone
    from /lib64/libc.so.6

And  max-threads=0 and max-threads=2 have the same results.
Comment 9 Hans de Goede 2013-03-05 17:23:19 UTC
Hmm, the only non-standard thing about the rpmfusion packages you're using that I've replaced the bundled libav-0.8.4 copy with the libav-0.8.5 tarbal from libav upstream. Note it is still built-in using the standard configure options passed from the gstreamer-libav configure script.

Also Tim said in comment $5 that the 1.0 git branch works fine for him, and that branch has been upgraded to libav-0.8.5 too.

I've tried to reproduce the crash, but I cannot reproduce it on both my laptop and my desktop, both of which are running F-18 x86_64, I see that you're running rawhide, so perhaps this is a rawhide only issue, possibly in some other component?
Comment 10 Sebastian Keller 2013-03-09 23:16:21 UTC
This is a libav bug. I've filed a bugreport with a patch attached at https://bugzilla.libav.org/show_bug.cgi?id=469
Comment 11 Tim-Philipp Müller 2013-03-09 23:23:28 UTC
Ah, I see, only happens with gcc 4.8. Thanks for the update!