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 574044 - totem crashes when trying to play audio/m4a
totem crashes when trying to play audio/m4a
Status: RESOLVED DUPLICATE of bug 566250
Product: GStreamer
Classification: Platform
Component: gst-libav
0.10.6
Other Linux
: Normal critical
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-03-04 11:25 UTC by Götz Waschk
Modified: 2009-03-04 19:13 UTC
See Also:
GNOME target: ---
GNOME version: 2.25/2.26


Attachments
sample file (43.00 KB, audio/mp4)
2009-03-04 12:07 UTC, Götz Waschk
Details

Description Götz Waschk 2009-03-04 11:25:23 UTC
This is on Mandriva Cooker, with totem 2.25.92, gstreamer 0.10.22 and gst-plugins-good 0.10.14. When the faad element is not available, totem crashes when trying to play a .m4a file. It doesn't start codeina.

Here's a backtrace:

(gdb) run sample.m4a
The program being debugged has been started already.
Start it from the beginning? (y or n) y

Starting program: /usr/bin/totem sample.m4a
[Thread debugging using libthread_db enabled]
Detaching after fork from child process 24685.
Detaching after fork from child process 24686.
[New Thread 0xb67016e0 (LWP 24683)]
[New Thread 0xb569bb90 (LWP 24689)]
[New Thread 0xb4d98b90 (LWP 24690)]
shm_open() failed: Die angeforderte Funktion ist nicht implementiert
Detaching after fork from child process 24691.
E: caps.c: Assertion 'cap_set_proc(caps) == 0' failed at daemon/caps.c:126, function pa_drop_caps(). Aborting.
shm_open() failed: Die angeforderte Funktion ist nicht implementiert
[New Thread 0xb047ab90 (LWP 24692)]
Detaching after fork from child process 24693.
E: caps.c: Assertion 'cap_set_proc(caps) == 0' failed at daemon/caps.c:126, function pa_drop_caps(). Aborting.
[Thread 0xb047ab90 (LWP 24692) exited]
[Thread 0xb4d98b90 (LWP 24690) exited]

** (totem:24683): WARNING **: Failed to create dbus proxy for org.gnome.SettingsDaemon: Could not get owner of name 'org.gnome.SettingsDaemon': no such name
[New Thread 0xb4d98b90 (LWP 24694)]
[New Thread 0xb047ab90 (LWP 24695)]
[New Thread 0xb3529b90 (LWP 24696)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb047ab90 (LWP 24695)]
0xb3b60a0e in float_to_int16_interleave_misc_sse (dst=<value optimized out>, 
    src=0xb42dbf1c, len=1024, channels=6) at libavcodec/i386/dsputil_mmx.c:2266
2266        __asm__ volatile(
(gdb) thread apply all bt full

Thread 1 (Thread 0xb67016e0 (LWP 24683))

  • #0 __pthread_mutex_unlock_usercnt
    from /lib/i686/libpthread.so.0
  • #1 IA__g_static_rw_lock_reader_lock
    at gthread.c line 824
  • #2 IA__g_type_check_is_value_type
    at gtype.c line 3830
  • #3 IA__g_value_init
    at gvalue.c line 173
  • #4 IA__g_signal_emit_valist
    at gsignal.c line 2951
  • #5 IA__g_signal_emit
    at gsignal.c line 3034
  • #6 IA__gtk_widget_set_parent
    at gtkwidget.c line 5616
  • #7 gtk_menu_real_insert
    at gtkmenu.c line 1296
  • #8 IA__gtk_menu_shell_insert
    at gtkmenushell.c line 488
  • #9 update_node
    at gtkuimanager.c line 2581
  • #10 update_node
    at gtkuimanager.c line 2737
  • #11 update_node
    at gtkuimanager.c line 2737
  • #12 update_node
    at gtkuimanager.c line 2737
  • #13 update_node
    at gtkuimanager.c line 2737
  • #14 IA__gtk_ui_manager_ensure_update
    at gtkuimanager.c line 2779
  • #15 totem_sublang_update
    at ../../src/totem-menu.c line 427
  • #16 on_channels_change_event
    at ../../src/totem-object.c line 2323
  • #17 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #18 IA__g_closure_invoke
    at gclosure.c line 767
  • #19 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #20 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #21 IA__g_signal_emit
    at gsignal.c line 3034
  • #22 bvw_update_stream_info
    at ../../../src/backend/bacon-video-widget-gst-0.10.c line 1140
  • #23 bvw_bus_message_cb
    at ../../../src/backend/bacon-video-widget-gst-0.10.c line 1155
  • #24 marshal_VOID__MINIOBJECT
    at gstbus.c line 163
  • #25 IA__g_closure_invoke
    at gclosure.c line 767
  • #26 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #27 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #28 IA__g_signal_emit
    at gsignal.c line 3034
  • #29 gst_bus_async_signal_func
    at gstbus.c line 1168
  • #30 gst_bus_source_dispatch
    at gstbus.c line 831
  • #31 IA__g_main_context_dispatch
    at gmain.c line 1814
  • #32 g_main_context_iterate
    at gmain.c line 2448
  • #33 IA__g_main_loop_run
    at gmain.c line 2656
  • #34 IA__gtk_main
    at gtkmain.c line 1205
  • #35 main
    at ../../src/totem.c line 280

Comment 1 Götz Waschk 2009-03-04 11:28:06 UTC
It is with gst-ffmpeg 0.10.6 built against the bundled libavcodec.
Comment 2 Bastien Nocera 2009-03-04 11:33:22 UTC
This isn't a Totem bug:
0xb3b60a0e in float_to_int16_interleave_misc_sse (dst=<value optimized out>, 
    src=0xb42dbf1c, len=1024, channels=6) at libavcodec/i386/dsputil_mmx.c:2266
2266        __asm__ volatile(

Please test with gst-launch in the future.
Comment 3 Götz Waschk 2009-03-04 11:44:09 UTC
OK. Do you need another backtrace?
Comment 4 Tim-Philipp Müller 2009-03-04 12:01:23 UTC
A sample file would be good.

Also, could you double-check that this is in fact reproducable with:

 $ gst-launch-0.10 playbin uri=file:///path/to/foo.m4a

and

 $ gst-launch-0.10 file:///path/to/foo.m4a ! decodebin ! fakesink
Comment 5 Götz Waschk 2009-03-04 12:07:03 UTC
Created attachment 130010 [details]
sample file

Here's the backtrace from 
gst-launch-0.10 filesrc location=sample.m4a ! decodebin ! fakesink

0xffffe410 in __kernel_vsyscall ()

Thread 2 (Thread 0xb6610b90 (LWP 26021))

  • #0 __kernel_vsyscall
  • #1 nanosleep
    from /lib/i686/libpthread.so.0
  • #2 IA__g_usleep
    at gtimer.c line 170
  • #3 fault_handler_sigaction
    at gst-launch.c line 205
  • #4 <signal handler called>
  • #5 float_to_int16_interleave_misc_sse
    at libavcodec/i386/dsputil_mmx.c line 2266
  • #6 aac_decode_frame
    at libavcodec/aac.c line 1446
  • #7 avcodec_decode_audio2
    at libavcodec/utils.c line 953
  • #8 gst_ffmpegdec_audio_frame
    at gstffmpegdec.c line 1790
  • #9 gst_ffmpegdec_frame
    at gstffmpegdec.c line 1907
  • #10 gst_ffmpegdec_chain
    at gstffmpegdec.c line 2306
  • #11 gst_pad_chain_unchecked
    at gstpad.c line 3890
  • #12 gst_pad_push
    at gstpad.c line 4057
  • #13 gst_queue_loop
    at gstqueue.c line 1047
  • #14 gst_task_func
    at gsttask.c line 192
  • #15 g_thread_pool_thread_proxy
    at gthreadpool.c line 265
  • #16 g_thread_create_proxy
    at gthread.c line 635
  • #17 start_thread
    from /lib/i686/libpthread.so.0
  • #18 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 130

Comment 6 Tim-Philipp Müller 2009-03-04 12:17:00 UTC
Also, I wonder whether the AAC decoder was re-enabled on purpose, or if the plugin name just changed from "mpeg4aac" to "aac" on the ffmpeg side and it's not disabled any longer by accident...
Comment 7 Edward Hervey 2009-03-04 19:13:11 UTC

*** This bug has been marked as a duplicate of 566250 ***