Bug 15471 - segmentation fault while seeking in youtube.com
Summary: segmentation fault while seeking in youtube.com
Status: RESOLVED FIXED
Alias: None
Product: swfdec
Classification: Unclassified
Component: plugin (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium critical
Assignee: swfdec ml
QA Contact: swfdec ml
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-12 12:33 UTC by Riccardo Magliocchetti
Modified: 2008-04-13 03:00 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Riccardo Magliocchetti 2008-04-12 12:33:51 UTC
Latest git with pulseaudio backend

How to reproduce: move the seeking cursor while playing a video in youtube.com


(gecko:9091): Swfdec-CRITICAL **: swfdec_flv_decoder_get_video: assertion `SWFDEC_IS_FLV_DECODER (flv)' failed
SWFDEC: WARN : swfdec_codec_video.c(116): swfdec_video_decoder_new: no decoder found for codec 0

(gecko:9091): Swfdec-CRITICAL **: swfdec_flv_decoder_get_video: assertion `SWFDEC_IS_FLV_DECODER (flv)' failed
SWFDEC: WARN : swfdec_codec_video.c(116): swfdec_video_decoder_new: no decoder found for codec 0

(gecko:9091): Swfdec-CRITICAL **: swfdec_flv_decoder_get_video: assertion `SWFDEC_IS_FLV_DECODER (flv)' failed
SWFDEC: WARN : swfdec_codec_video.c(116): swfdec_video_decoder_new: no decoder found for codec 0
[...]
SWFDEC: ERROR: swfdec_stream.c(373): swfdec_stream_errorv: error in stream for http://sjc-v55.sjc.youtube.com/get_video?video_id=Sj1VauyjkI4&signature=02D9BE969612AD14D7EE15A28E694F9F3DC4CDF9.24BCA8A67DEBB24E58395F490ADCE7590FC9B42C&ip=84.222.72.72&ipbits=16&expire=1208048540&key=yt1&sver=2: User interrupt

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7070720 (LWP 9091)]
0xb74c1731 in g_object_unref () from /usr/lib/libgobject-2.0.so.0
(gdb) bt full
#0  0xb74c1731 in g_object_unref () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#1  0xb22992d7 in swfdec_net_stream_seek (stream=0xb865100, 
    secs=88.966131907308394) at swfdec_net_stream.c:710
	first = <value optimized out>
	last = <value optimized out>
	msecs = <value optimized out>
	__PRETTY_FUNCTION__ = "swfdec_net_stream_seek"
#2  0xb229ac52 in swfdec_net_stream_do_seek (cx=0xa846980, obj=0xb865100, 
    argc=1, argv=0xc8973c8, rval=0xbfcc66b0) at swfdec_net_stream_as.c:139
	d = 88.966131907308394
#3  0xb225b55c in swfdec_as_context_run (context=0xa846980)
    at swfdec_as_context.c:887
	argv = (SwfdecAsValue *) 0xc8973c8
	native = (SwfdecAsNativeFunction *) 0xab80228
	rval = {type = SWFDEC_AS_TYPE_UNDEFINED, value = {boolean = 0, 
    number = 0, string = 0x0, object = 0x0}}
	frame = (SwfdecAsFrame *) 0xdce4670
	last_frame = (SwfdecAsFrame *) 0x0
	spec = (const SwfdecActionSpec *) 0xb230bd30
	startpc = (const guint8 *) 0xb15cd08 "CWS\a�\206\001"
	pc = <value optimized out>
	endpc = (const guint8 *) 0xb1753de "
---Type <return> to continue, or q <return> to quit---
	nextpc = (const guint8 *) 0xb170edc "\027\226\r"
	exitpc = (const guint8 *) 0xb170f0d "O\226\004"
	check = (SwfdecAsValue *) 0x0
	action = 82
	len = 0
	data = (const guint8 *) 0x0
	original_version = 4294967295
	step = (void (*)(SwfdecAsDebugger *, SwfdecAsContext *)) 0
	check_block = 1
	__PRETTY_FUNCTION__ = "swfdec_as_context_run"
#4  0xb226cfaf in swfdec_as_object_call (object=0xb1faf38, 
    name=0xb22e39fd "onEnterFrame", argc=0, argv=0x0, return_value=0xbfcc66f0)
    at swfdec_as_object.c:1254
	tmp = {type = SWFDEC_AS_TYPE_UNDEFINED, value = {boolean = 200754576, 
    number = 9.9185939247025613e-316, string = 0xbf74590 "ȱ\020\n\001", 
    object = 0xbf74590}}
	fun = (SwfdecAsFunction *) 0xbf74590
	__PRETTY_FUNCTION__ = "swfdec_as_object_call"
#5  0xb2254ef9 in swfdec_actor_execute (actor=0xb1faf38, 
    condition=SWFDEC_EVENT_ENTER) at swfdec_actor.c:242
	thisp = (SwfdecAsObject *) 0xb1faf38
	name = 0xb22e39fd "onEnterFrame"
	version = 7
---Type <return> to continue, or q <return> to quit---
	__PRETTY_FUNCTION__ = "swfdec_actor_execute"
#6  0xb22a0973 in swfdec_player_perform_actions (player=0xa846980)
    at swfdec_player.c:520
	__PRETTY_FUNCTION__ = "swfdec_player_perform_actions"
#7  0xb22a4c2c in swfdec_player_iterate (timeout=0xa846bc8)
    at swfdec_player.c:1661
	priv = (SwfdecPlayerPrivate *) 0xa846a40
	player = (SwfdecPlayer *) 0xa846980
	walk = (GList *) 0x0
	__PRETTY_FUNCTION__ = "swfdec_player_iterate"
#8  0xb22a361e in swfdec_player_do_advance (player=0xa846980, msecs=40, 
    audio_samples=1764) at swfdec_player.c:1720
	priv = (SwfdecPlayerPrivate *) 0xa846a40
	timeout = (SwfdecTimeout *) 0xa846bc8
	target_time = 18976011264
	__PRETTY_FUNCTION__ = "swfdec_player_do_advance"
#9  0xb22da50d in swfdec_marshal_VOID__ULONG_UINT (closure=0xa8442c8, 
    return_value=0x0, n_param_values=3, param_values=0xbfcc6b74, 
    invocation_hint=0xbfcc6a7c, marshal_data=0xb22a3490)
    at swfdec_marshal.c:285
	data1 = (gpointer) 0xa846980
	data2 = <value optimized out>
	__PRETTY_FUNCTION__ = "swfdec_marshal_VOID__ULONG_UINT"
(gdb) p swfdec_net_stream_seek::stream->decoder.codec
$2 = 2
Comment 1 Riccardo Magliocchetti 2008-04-12 12:47:07 UTC
The swfdec_flv_decoder_get_video assertion is another issue, swfdec segfaults the same way with vimeo.com without them.
Comment 2 Benjamin Otte 2008-04-13 03:00:03 UTC
Yeah, I'm stupid sometimes...


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.