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 164234 - [swfdec] segmentation fault playing a flash v6 that swf_play plays ok
[swfdec] segmentation fault playing a flash v6 that swf_play plays ok
Status: RESOLVED NOTGNOME
Product: GStreamer
Classification: Platform
Component: gst-plugins
0.8.7
Other All
: High critical
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 300379 332369 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-01-16 10:57 UTC by gnome
Modified: 2006-02-23 23:10 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description gnome 2005-01-16 10:57:47 UTC
Steps to reproduce:
trying to transcode a flash animation into an ogg theora file gst-launche will
crash, here the comandline used for the transcoding:
gst-launch-0.8 -vvv { filesrc location=file.swf ! decodebin name=decode } {
decode. ! queue max-size-buffers =500 max-size-time=0 max-size-bytes=0 !
theoraenc ! oggmux name=mux ! filesink location=file.ogg decode. ! queue
max-size-buffers=500 max-size-bytes=0 max-size-time=0  ! audioconvert !
rawvorbisenc ! mux. }

this will result in:
RUNNING pipeline ...
/pipeline0/thread0/filesrc0.src: caps = application/octet-stream
/pipeline0/thread0/decode/typefind.sink: caps = application/octet-stream
/pipeline0/thread0/filesrc0.src: active = TRUE
/pipeline0/thread0/decode/typefind.sink: active = TRUE
/pipeline0/thread0/decode/typefind.src: active = TRUE
/pipeline0/thread0/decode/swfdec0.audio_00: active = TRUE
/pipeline0/thread0/decode/swfdec0.audio_00: caps = audio/x-raw-int,
rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)16,
depth=(int)16, signed=(boolean)true
/pipeline0/thread1/queue1.sink: caps = audio/x-raw-int, rate=(int)44100,
channels=(int)2, endianness=(int)1234, width=(int)16, depth=(int)16,
signed=(boolean)true
/pipeline0/thread1/audioconvert0.sink: active = TRUE
/pipeline0/thread1/audioconvert0.src: active = TRUE
/pipeline0/thread1/queue1.src: caps = audio/x-raw-int, rate=(int)44100,
channels=(int)2, endianness=(int)1234, width=(int)16, depth=(int)16,
signed=(boolean)true
/pipeline0/thread1/audioconvert0.sink: caps = audio/x-raw-int, rate=(int)44100,
channels=(int)2, endianness=(int)1234, width=(int)16, depth=(int)16,
signed=(boolean)true
/pipeline0/thread1/vorbisenc0: last-message = "encoding at quality level 0.30"
/pipeline0/thread1/audioconvert0.src: caps = audio/x-raw-float, rate=(int)44100,
buffer-frames=(int)0, channels=(int)2, endianness=(int)1234, width=(int)32
/pipeline0/thread1/vorbisenc0.sink: caps = audio/x-raw-float, rate=(int)44100,
buffer-frames=(int)0, channels=(int)2, endianness=(int)1234, width=(int)32
/pipeline0/thread1/vorbisenc0.sink: active = TRUE
/pipeline0/thread1/vorbisenc0.src: active = TRUE
/pipeline0/thread1/vorbisenc0.src: caps = audio/x-vorbis
/pipeline0/thread1/mux.sink_419128573: caps = audio/x-vorbis
/pipeline0/thread1/mux.src: active = TRUE
/pipeline0/thread1/mux.sink_419128573: active = TRUE
/pipeline0/thread1/mux.sink_540980785: active = TRUE
/pipeline0/thread1/mux.src: caps = application/ogg
/pipeline0/thread1/filesink0.sink: caps = application/ogg
/pipeline0/thread1/filesink0.sink: active = TRUE
/pipeline0/thread0/decode/swfdec0.video_00: active = TRUE
/pipeline0/thread0/decode/swfdec0.sink: active = TRUE
/pipeline0/thread0/decode/typefind.src: caps = application/x-shockwave-flash
/pipeline0/thread0/decode/swfdec0.sink: caps = application/x-shockwave-flash
Segmentation fault

Stack trace:
  • #0 swfdec_bits_get_s16
    from /usr/lib/libswfdec-0.3.so.0
  • #1 swfdec_font_get_glyph
    from /usr/lib/libswfdec-0.3.so.0
  • #2 swfdec_font_get_glyph
    from /usr/lib/libswfdec-0.3.so.0
  • #3 swfdec_decoder_parse
    from /usr/lib/libswfdec-0.3.so.0
  • #4 gst_swfdec_get_type
    from /usr/lib/gstreamer-0.8/libgstswfdec.so
  • #5 ??
    from /usr/lib/gstreamer-0.8/libgstoptscheduler.so
  • #6 ??
  • #7 ??
  • #8 ??
    from /usr/lib/gstreamer-0.8/libgstoptscheduler.so
  • #9 ??
    from /usr/lib/gstreamer-0.8/libgstoptscheduler.so
  • #10 ??
  • #11 ??
  • #12 ??
    from /usr/lib/gstreamer-0.8/libgstoptscheduler.so
  • #13 ??
  • #14 ??
  • #15 ??
  • #16 g_log_domain_gstreamer
    from /usr/lib/libgstreamer-0.8.so.1
  • #17 ??
    from /usr/lib/gstreamer-0.8/libgstoptscheduler.so
  • #18 ??
  • #19 ??
  • #20 ??
  • #21 ??
    from /usr/lib/gstreamer-0.8/libgstoptscheduler.so
  • #22 ??
  • #23 ??
  • #24 ??
  • #25 gst_debug_log
    from /usr/lib/libgstreamer-0.8.so.1

Other information:
Comment 1 Stephane Loeuillet 2005-01-18 11:58:30 UTC
looks like a crash in swfdec itself
but be happy, swfdec author is also a gst dev (ds/david schleef). he's also
liboil author.

can you provide the file (attached or a link to it)
Comment 2 gnome 2005-01-18 12:44:21 UTC
file anim1.swf
anim1.swf: Macromedia Flash data (compressed), version 6

http://www.3dweb.no/galleri/stuestolbm/bilder/anim1.swf
Comment 3 Stephane Loeuillet 2005-01-18 15:51:36 UTC
/usr/bin/swf_play (from swfdec 0.3.2) can play it here (with a lot of
"video_buffer == NULL" warnings on the console)

but totem segfaults on it
Comment 4 Stephane Loeuillet 2005-01-18 15:55:24 UTC
i can play it on the command line :
gst-launch-0.8 filesrc location=anim1.swf ! swfdec ! ffmpegcolorspace ! xvimagesink

but i have lots of other warnings :
ERROR (0x80508e8 - 307239:55:21.800541000)         default(14085)
gstswfdec.c(602):art_warn: caught art_warn

repeated ad vitam eternam
Comment 5 Jan Schmidt 2005-01-18 16:13:37 UTC
I can't even play it on the command line:
gst-launch-0.8 filesrc location=anim1.swf ! swfdec ! ffmpegcolorspace !
xvimagesink segfaults here

bt seems clean enough:
  • #0 swfdec_bits_get_u16
    at swfdec_bits.c line 96
  • #1 get_kerning_record
    at swfdec_font.c line 106
  • #2 tag_func_define_font_2
    at swfdec_font.c line 214
  • #3 swfdec_decoder_parse
    at swf.c line 216
  • #4 gst_swfdec_loop
    at gstswfdec.c line 234
  • #5 loop_group_schedule_function
    at gstoptimalscheduler.c line 1342

Comment 6 Stephane Loeuillet 2005-01-18 16:27:32 UTC


  • #0 swfdec_bits_get_u16
    at swfdec_bits.c line 96
  • #1 get_kerning_record
    at swfdec_font.c line 106
  • #2 tag_func_define_font_2
    at swfdec_font.c line 214
  • #3 swfdec_decoder_parse
    at swf.c line 216
  • #4 gst_swfdec_loop
    at gstswfdec.c line 234
  • #3 swfdec_decoder_parse
    at swf.c line 216
  • #2 tag_func_define_font_2
    at swfdec_font.c line 214
  • #1 get_kerning_record
    at swfdec_font.c line 106
  • #0 swfdec_bits_get_u16
    at swfdec_bits.c line 96


p  b->ptr[0]
$1 = 0 '\0'

p  b->ptr[1]
Cannot access memory at address 0x82b4000
Comment 7 David Schleef 2005-02-08 22:53:58 UTC
This is a bug in swfdec, which has been fixed in CVS.
Comment 8 Martin Wehner 2005-04-14 21:18:01 UTC
*** Bug 300379 has been marked as a duplicate of this bug. ***
Comment 9 Martin Wehner 2006-02-23 23:10:44 UTC
*** Bug 332369 has been marked as a duplicate of this bug. ***