Bug 15862 - Segfault when seeking on youtube with pulseaudio backend
Summary: Segfault when seeking on youtube with pulseaudio backend
Status: NEW
Alias: None
Product: swfdec
Classification: Unclassified
Component: library (show other bugs)
Version: 0.6.6
Hardware: All All
: medium critical
Assignee: Eric Anholt
QA Contact: swfdec ml
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-07 18:16 UTC by Ed Catmur
Modified: 2008-11-19 12:49 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
pa_stream_drain_2.patch (1.87 KB, patch)
2008-05-07 18:20 UTC, Ed Catmur
Details | Splinter Review
pa_stream_drain_3.patch (1.15 KB, patch)
2008-05-13 15:13 UTC, Ed Catmur
Details | Splinter Review

Description Ed Catmur 2008-05-07 18:16:35 UTC
This is a continuation to bug 13604.

swfdec still crashes when seeking youtube videos while playing.  For example:

(gecko:12419): Swfdec-CRITICAL **: swfdec_audio_render: assertion
`SWFDEC_IS_AUDIO (audio)' failed

(gecko:12419): Swfdec-CRITICAL **: swfdec_audio_render: assertion
`SWFDEC_IS_AUDIO (audio)' failed

(gecko:12419): Swfdec-CRITICAL **: swfdec_audio_render: assertion
`SWFDEC_IS_AUDIO (audio)' failed

(gecko:12419): Swfdec-CRITICAL **: swfdec_audio_render: assertion
`SWFDEC_IS_AUDIO (audio)' failed

Program received signal SIGSEGV, Segmentation fault.
---Type <return> to continue, or q <return> to quit---
[Switching to Thread 0xb701c9e0 (LWP 12419)]
0xb74465f4 in g_hash_table_foreach () from /usr/lib/libglib-2.0.so.0
(gdb) bt full
#0  0xb74465f4 in g_hash_table_foreach () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#1  0xb131fa2e in swfdec_as_object_collect (object=0xaa801b8)
    at swfdec_as_object.c:818
        __PRETTY_FUNCTION__ = "swfdec_as_object_collect"
#2  0xb130f572 in swfdec_as_context_remove_objects (key=0xaa801b8, 
    value=0xaa801b8, debugger=0x0) at swfdec_as_context.c:275
        __PRETTY_FUNCTION__ = "swfdec_as_context_remove_objects"
#3  0xb7446f25 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#4  0x0aa801b8 in ?? ()
No symbol table info available.
#5  0x0aa801b8 in ?? ()
No symbol table info available.
#6  0x00000000 in ?? ()
No symbol table info available.

Patch to follow.
Comment 1 Ed Catmur 2008-05-07 18:20:14 UTC
Created attachment 16422 [details] [review]
pa_stream_drain_2.patch

Fix stream closing semantics for states CREATING, TERMINATED, FAILED.
Comment 2 Riccardo Magliocchetti 2008-05-08 04:05:48 UTC
Ed, can you try with master git? i think it's already been resolved in a different way there. Can't find any reference in git log though.
Comment 3 Eric Anholt 2008-05-08 15:24:55 UTC
It would be nice if the PA api didn't actively hate its consumers so much.  I'll take a look at the patch when I can.
Comment 4 Ed Catmur 2008-05-13 15:13:39 UTC
Created attachment 16512 [details] [review]
pa_stream_drain_3.patch

Oh, it hates you.

Handle case where pa_context_connect does not immediately succeed.  To be applied on top of pa_stream_drain_2.patch.

Riccardo - I didn't see anything in git past the fix to bug 13604, which this is a continuation to.
Comment 5 Riccardo Magliocchetti 2008-05-13 23:48:41 UTC
(In reply to comment #4)
> Riccardo - I didn't see anything in git past the fix to bug 13604, which this
> is a continuation to.

The changes were not to the pulseaudio backend but elsewhere. This explain why master git works fine. At least for me :)

Comment 6 Riccardo Magliocchetti 2008-05-28 01:46:28 UTC
Crashers are severity critical.
Comment 7 Riccardo Magliocchetti 2008-11-19 12:49:58 UTC
Ed, are you on 64bit userspace right?


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.