Summary: | Assertion failure when seeking on youtube with pulseaudio backend. | ||
---|---|---|---|
Product: | swfdec | Reporter: | Andreas Henriksson <andreas> |
Component: | library | Assignee: | swfdec ml <swfdec> |
Status: | RESOLVED FIXED | QA Contact: | swfdec ml <swfdec> |
Severity: | normal | ||
Priority: | medium | CC: | elreydetodo |
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
URL: | http://www.youtube.com | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | don't assert if pa_stream_drain fail |
Description
Andreas Henriksson
2007-12-11 11:03:04 UTC
Andreas, can you please retry with swfdec 0.5.5? Also a new version of pulseaudio is available. Testing with pulseaudio 0.9.9 and swfdec 0.5.5, both from debian packages except swfdec rebuilt adding the flag --with-audio=pa. Visiting youtube and using the seekbar (still) gives this: gem@amd64:/tmp$ iceweasel -g GNU gdb 6.7.1-debian Copyright (C) 2007 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 "x86_64-linux-gnu"... (no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". (gdb) run Starting program: /usr/lib/iceweasel/firefox-bin -a firefox (no debugging symbols found) (no debugging symbols found) /usr/lib/iceweasel/firefox-bin: Symbol `SSL_ImplementedCiphers' has different size in shared object, consider re-linking (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] (no debugging symbols found) [New Thread 0x2b52786b0380 (LWP 31244)] [New Thread 0x40800950 (LWP 31247)] [New Thread 0x41001950 (LWP 31248)] [New Thread 0x41802950 (LWP 31249)] [New Thread 0x42003950 (LWP 31250)] [New Thread 0x42804950 (LWP 31251)] [New Thread 0x43005950 (LWP 31252)] [Thread 0x43005950 (LWP 31252) exited] [New Thread 0x43806950 (LWP 31253)] [Thread 0x43806950 (LWP 31253) exited] [New Thread 0x43806950 (LWP 31254)] [New Thread 0x43005950 (LWP 31255)] [Thread 0x43005950 (LWP 31255) exited] [New Thread 0x44007950 (LWP 31256)] [New Thread 0x43005950 (LWP 31257)] [New Thread 0x44808950 (LWP 31258)] Unsupported movie property style with value "" Unsupported movie property id with value "active_sharing" Unsupported movie property name with value "active_sharing" Unsupported movie property quality with value "high" Unsupported movie property wmode with value "opaque" unhandled event 19 Loading stream: http://youtube.com/active_sharing.swf Unsupported movie property style with value "" Unsupported movie property id with value "movie_player" Unsupported movie property name with value "movie_player" Unsupported movie property quality with value "high" Unsupported movie property allowfullscreen with value "true" Unsupported movie property style with value "" Unsupported movie property id with value "checker" Unsupported movie property name with value "checker" Unsupported movie property quality with value "high" unhandled event 19 Loading stream: http://youtube.com/player_dcad.swf Loading stream: http://youtube.com/version-check.swf Loading stream: http://video-stats.video.google.com/crossdomain.xml SWFDEC: ERROR: swfdec_resource_request.c(75): swfdec_player_request_resource_allow_callback: not allowing access to http://video-stats.video.google.com/s?ns=yt&plid=AARFMAs_9p1otpOVAAAA6BDIQAg&sourceid=y&sdetail=f%3Adir%2Cp%3A%2F&vid=jx4HbVzSeNwxQnLPSJ-AeQC&docid=H9qgU5bCDzQ&el=detailpage&e=h&rt=0&len=119&et=0&yttk=1&st=0 Loading stream: http://youtube.com/tracker?p=0&tp=0&w=1&i=oJSmJYLnE0bqArhlWnt%5Fx43B8gpjvz5lf%5Fv5kYB%5Fjlk0Cti0qDNt2g%3D%3D Loading stream: http://74.125.13.94/get_video?video_id=H9qgU5bCDzQ&origin=sjc-v171.sjc.youtube.com Loading stream: http://video-stats.video.google.com/s?ns=yt&plid=AARFMAs_9p1otpOVAAAA6BDIQAg&sourceid=y&sdetail=f%3Adir%2Cp%3A%2F&vid=jx4HbVzSeNwxQnLPSJ-AeQC&docid=H9qgU5bCDzQ&el=detailpage&e=h&rt=1.6&len=119&bc=94120&bt=0.3&et=0.08&fv=WIN%209%2C0%2C100%2C0&bd=92672&st=0.08 firefox-bin: pulse/operation.c:68: pa_operation_unref: Assertion `o' failed. Program received signal SIGABRT, Aborted. [Switching to Thread 0x2b52786b0380 (LWP 31244)] 0x00002b52756c8025 in raise () from /lib/libc.so.6 (gdb) bt #0 0x00002b52756c8025 in raise () from /lib/libc.so.6 #1 0x00002b52756c9a80 in abort () from /lib/libc.so.6 #2 0x00002b52756c142f in __assert_fail () from /lib/libc.so.6 #3 0x00002aaab4785be4 in pa_operation_unref () from /usr/lib/libpulse.so.0 #4 0x00002b5274a04a1f in IA__g_closure_invoke (closure=0x341ddc0, return_value=0x0, n_param_values=2, param_values=0x7fff39cf0cf0, invocation_hint=0x7fff39cf0bd0) at /tmp/buildd/glib2.0-2.14.5/gobject/gclosure.c:490 #5 0x00002b5274a186e8 in signal_emit_unlocked_R (node=0x23c9160, detail=0, instance=0x2e823e0, emission_return=0x0, instance_and_params=0x7fff39cf0cf0) at /tmp/buildd/glib2.0-2.14.5/gobject/gsignal.c:2440 #6 0x00002b5274a1a145 in IA__g_signal_emit_valist (instance=0x2e823e0, signal_id=<value optimized out>, detail=0, var_args=0x7fff39cf0f70) at /tmp/buildd/glib2.0-2.14.5/gobject/gsignal.c:2199 #7 0x00002b5274a1a43f in IA__g_signal_emit_by_name (instance=0x2e823e0, detailed_signal=0x2aaab40a6ed4 "audio-removed") at /tmp/buildd/glib2.0-2.14.5/gobject/gsignal.c:2267 #8 0x00002aaab4046fea in swfdec_audio_remove (audio=0x4b51d20) at swfdec_audio.c:120 #9 0x00002aaab4069215 in swfdec_net_stream_seek (stream=0x3aea010, secs=4.469483568075117) at swfdec_net_stream.c:592 #10 0x00002aaab40314ac in swfdec_as_context_run (context=0x2e823e0) at swfdec_as_context.c:845 #11 0x00002aaab40626e5 in swfdec_movie_execute (movie=0x3aef2a0, condition=SWFDEC_EVENT_ENTER) at swfdec_movie.c:506 #12 0x00002aaab406f5e6 in swfdec_player_perform_actions (player=0x2e823e0) at swfdec_player.c:484 #13 0x00002aaab407250b in swfdec_player_iterate (timeout=<value optimized out>) at swfdec_player.c:1314 #14 0x00002aaab4070f4c in swfdec_player_do_advance (player=0x2e823e0, msecs=<value optimized out>, audio_samples=220) at swfdec_player.c:1376 #15 0x00002b5274a04a1f in IA__g_closure_invoke (closure=0x25f59a0, return_value=0x0, n_param_values=3, param_values=0x7fff39cf1590, invocation_hint=0x7fff39cf1470) at /tmp/buildd/glib2.0-2.14.5/gobject/gclosure.c:490 #16 0x00002b5274a18ac8 in signal_emit_unlocked_R (node=0x18a9390, detail=0, instance=0x2e823e0, emission_return=0x0, instance_and_params=0x7fff39cf1590) at /tmp/buildd/glib2.0-2.14.5/gobject/gsignal.c:2478 #17 0x00002b5274a1a145 in IA__g_signal_emit_valist (instance=0x2e823e0, signal_id=<value optimized out>, detail=0, var_args=0x7fff39cf1810) at /tmp/buildd/glib2.0-2.14.5/gobject/gsignal.c:2199 #18 0x00002b5274a1a533 in IA__g_signal_emit (instance=0x7a0c, signal_id=31244, detail=6) at /tmp/buildd/glib2.0-2.14.5/gobject/gsignal.c:2243 #19 0x00002aaaafb2c1b8 in swfdec_iterate_dispatch ( source_=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at swfdec_source.c:109 #20 0x00002b5274c6beb4 in IA__g_main_context_dispatch (context=0x14ba680) at /tmp/buildd/glib2.0-2.14.5/glib/gmain.c:2061 #21 0x00002b5274c6f19d in g_main_context_iterate (context=0x14ba680, block=1, dispatch=1, self=<value optimized out>) at /tmp/buildd/glib2.0-2.14.5/glib/gmain.c:2694 #22 0x00002b5274c6f497 in IA__g_main_loop_run (loop=0x158c0c0) at /tmp/buildd/glib2.0-2.14.5/glib/gmain.c:2898 #23 0x00002b5271f31883 in IA__gtk_main () at /build/buildd/gtk+2.0-2.12.7/gtk/gtkmain.c:1163 #24 0x00000000006b38e5 in ?? () #25 0x0000000000c23d6e in ?? () #26 0x0000000000447b42 in ?? () #27 0x00002b52756b41c4 in __libc_start_main () from /lib/libc.so.6 #28 0x0000000000442d69 in ?? () #29 0x00007fff39cf2178 in ?? () #30 0x0000000000000000 in ?? () Are you having problems reproducing this or where there any indication that any change in either swfdec or pulseaudio was supposed to have fixed this? As an additional note, I've also tried rebuilding with the patch you posted at http://lists.freedesktop.org/archives/swfdec/2008-February/001214.html which works around the assertion failure but intead gives a segmentation fault when seeking on youtube. Created attachment 14094 [details] [review] don't assert if pa_stream_drain fail Andreas, i see a small progress with my patch, now i can seek back and forth for some seconds before segfaulting. Still not ok :( With the patch i get two different traces, depends on different youtube player version i suppose. The first: Loading stream: http://youtube.com/version-check.swf Loading stream: http://youtube.com/player_dcad.swf [New Thread 0xb06feb90 (LWP 26818)] [Thread 0xb06feb90 (LWP 26818) exited] Loading stream: http://youtube.com/tracker?p=0&i=wooV%5Fc804%5Fp7cGV6%5FvqdTKx9LwBNu3uK1tNHmt2g3om5J7RXHQRRnA%3D%3D&tp=0&w=1 Loading stream: http://video-stats.video.google.com/crossdomain.xml SWFDEC: ERROR: swfdec_resource_request.c(75): swfdec_player_request_resource_allow_callback: not allowing access to http://video-stats.video.google.com/s?ns=yt&plid=AARFMuK9328uJaNLAAAA4YBIQAA&vid=jafcBD1RdyMZk4096frukQU&docid=EEIp0qPBbEI&sw=0.05&el=detailpage&e=h&len=80&rt=0&st=0&et=0&yttk=1 Loading stream: http://ad.doubleclick.net/crossdomain.xml Loading stream: http://74.125.97.86/get_video?video_id=EEIp0qPBbEI&origin=nyc-v77.nyc.youtube.com Loading stream: http://ad.doubleclick.net/879366/DartShellPlayer7_3_04.swf Loading stream: http://ad.doubleclick.net/879366/DartShellPlayer7_3_04.swf Loading stream: http://video-stats.video.google.com/s?ns=yt&plid=AARFMuK9328uJaNLAAAA4YBIQAA&vid=jafcBD1RdyMZk4096frukQU&docid=EEIp0qPBbEI&sw=0.05&el=detailpage&e=h&fv=WIN%209%2C0%2C100%2C0&bt=0.8&len=80&rt=2.2&bc=112944&st=0.125&et=0.125&bd=99912 PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state (gecko:26790): Swfdec-CRITICAL **: swfdec_audio_render: assertion `SWFDEC_IS_AUDIO (audio)' failed PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state (gecko:26790): Swfdec-CRITICAL **: swfdec_audio_render: assertion `SWFDEC_IS_AUDIO (audio)' failed (gecko:26790): Swfdec-CRITICAL **: swfdec_audio_render: assertion `SWFDEC_IS_AUDIO (audio)' failed PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb70836c0 (LWP 26790)] 0xb0cb20b9 in swfdec_audio_render (audio=0x39, dest=0xb7d17f0, start_offset=0, n_samples=22050) at swfdec_audio.c:171 171 g_return_if_fail (SWFDEC_IS_AUDIO (audio)); (gdb) bt full #0 0xb0cb20b9 in swfdec_audio_render (audio=0x39, dest=0xb7d17f0, start_offset=0, n_samples=22050) at swfdec_audio.c:171 __t = <value optimized out> __PRETTY_FUNCTION__ = "swfdec_audio_render" #1 0xb0db7cf8 in stream_write_callback (pa=0xb717bc0, bytes=88200, data=0xb717b20) at swfdec_playback.c:87 samples = 22050 err = <value optimized out> Second one: Loading stream: http://youtube.com/player2.swf Loading stream: http://74.125.13.27/get_video?video_id=42hgPLL8IrA&origin=nyc-v82.nyc.youtube.com Loading stream: http://video-stats.video.google.com/s?ns=yt&plid=AARFMtiWYXRxY26uAAAAoAACQAA&vid=jafcBD1RdyMZk4096frukQU&docid=42hgPLL8IrA&sw=0.05&el=detailpage&e=h&len=83&et=0.04&fv=WIN%209%2C0%2C100%2C0&rt=3.3&bc=31856&bt=0.3&bd=28960&st=0.04 PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state (gecko:26720): Swfdec-CRITICAL **: swfdec_audio_render: assertion `SWFDEC_IS_AUDIO (audio)' failed PA stream drain failed: Bad state PA stream drain failed: Bad state (gecko:26720): Swfdec-CRITICAL **: swfdec_audio_render: assertion `SWFDEC_IS_AUDIO (audio)' failed PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state PA stream drain failed: Bad state Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb709c6c0 (LWP 26720)] 0xb754a15e in IA__g_type_check_instance_is_a (type_instance=0xbbbbd90, iface_type=152559344) at /build/buildd/glib2.0-2.14.5/gobject/gtype.c:3115 3115 /build/buildd/glib2.0-2.14.5/gobject/gtype.c: No such file or directory. in /build/buildd/glib2.0-2.14.5/gobject/gtype.c (gdb) (gdb) bt full #0 0xb754a15e in IA__g_type_check_instance_is_a (type_instance=0xbbbbd90, iface_type=152559344) at /build/buildd/glib2.0-2.14.5/gobject/gtype.c:3115 node = (TypeNode *) 0x73696874 iface = (TypeNode *) 0x917def0 check = <value optimized out> #1 0xb0b6d0cf in swfdec_audio_render (audio=0xbbbbd90, dest=0xbd37208, start_offset=0, n_samples=22050) at swfdec_audio.c:171 __t = 1936287860 __PRETTY_FUNCTION__ = "swfdec_audio_render" #2 0xb15d0cf8 in stream_write_callback (pa=0xbbb8810, bytes=88200, data=0xbbb8770) at swfdec_playback.c:87 samples = 22050 err = <value optimized out> #3 0xb15a4397 in ?? () from /usr/lib/libpulse.so.0 No symbol table info available. With latest git d3f04841dc19d9c2490ae22bd1fd4d4ddae84881 and my patch it does not segfault anymore. Well it works without problems and audio without pulseaudio running... sorry! So this is what i actually get with pulseaudio running: (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. This is what i get in pulseaudio: W: sink-input.c: Failed to create sink input: too many inputs per sink. W: sink-input.c: Failed to create sink input: too many inputs per sink. W: sink-input.c: Failed to create sink input: too many inputs per sink. W: sink-input.c: Failed to create sink input: too many inputs per sink. Fix pushed. Thanks! |
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.