pulsesrc: Crash since "Move to extended stream API"
I'm running on Fedora 29 with pulseaudio 12.2. Since 4d67d1bd I get a crash with assertion when pulsesrc starts.
gst-launch-1.0 pulsesrc ! fakesink
Définition du pipeline à PAUSED...
Le pipeline est actif et n’a pas besoin de phase PREROLL…
Passage du pipeline à la phase PLAYING…
(gst-launch-1.0:4358): GLib-GObject-WARNING **: 16:44:47.522: gtype.c:4265: type id '0' is invalid
(gst-launch-1.0:4358): GLib-GObject-WARNING **: 16:44:47.523: can't peek value table for type '<invalid>' which is not currently referenced
Caught SIGSEGV
^C
[nicolas@tpx230-nicolas gst-plugins-good]$ gst-launch-1.0 pulsesrc ! fakesink
Définition du pipeline à PAUSED...
Le pipeline est actif et n’a pas besoin de phase PREROLL…
Passage du pipeline à la phase PLAYING…
(gst-launch-1.0:4377): GLib-GObject-WARNING **: 16:44:50.215: gtype.c:4265: type id '0' is invalid
(gst-launch-1.0:4377): GLib-GObject-WARNING **: 16:44:50.215: can't peek value table for type '<invalid>' which is not currently referenced
Caught SIGSEGV
#0 0x00007fd93d1458df in __pthread_mutex_lock_full ()
#1 0x00007fd92fa25172 in pa_mutex_lock (m=<optimized out>)
#2 0x00007fd92fb41a40 in pa_threaded_mainloop_lock (m=<optimized out>)
#3 0x00007fd92fcacad4 in gst_pulsesrc_get_time
#4 0x00007fd92fbdd534 in gst_audio_clock_get_internal_time
#5 0x00007fd93d36c6f6 in gst_clock_get_internal_time
#6 0x00007fd93d36c918 in gst_clock_get_time (clock=<optimized out>)
#7 0x00007fd93d36c918 in gst_clock_get_time
#8 0x00007fd93d3a27c2 in gst_pipeline_change_state
#9 0x00007fd93d37b81e in gst_element_change_state
#10 0x00007fd93d37bf3e in gst_element_set_state_func
#11 0x0000000000403d56 in main (argc=<optimized out>, argv=<optimized out>)
Spinning. Please run 'gdb gst-launch-1.0 4377' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
(gst-launch-1.0:4473): GLib-GObject-WARNING **: 16:45:22.735: gtype.c:4265: type id '0' is invalid
Thread 3 "pulsesrc0:src" received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7fffe955d700 (LWP 4485)]
0x00007ffff7d7d3c5 in _g_log_abort (breakpoint=1) at gmessages.c:554
554 G_BREAKPOINT ();
(gdb) bt
#0 0x00007ffff7d7d3c5 in _g_log_abort (breakpoint=1) at gmessages.c:554
#1 0x00007ffff7d7e6fd in g_logv (log_domain=0x7ffff7d11064 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, args=args@entry=0x7fffe955c5b0) at gmessages.c:1371
#2 0x00007ffff7d7e8d3 in g_log
(log_domain=log_domain@entry=0x7ffff7d11064 "GLib-GObject", log_level=log_level@entry=G_LOG_LEVEL_WARNING, format=format@entry=0x7ffff7d185a0 "gtype.c:4265: type id '%lu' is invalid") at gmessages.c:1413
#3 0x00007ffff7d0a308 in g_type_value_table_peek (type=type@entry=0x0) at gtype.c:4265
#4 0x00007ffff7edd698 in gst_caps_set_simple_valist (caps=<optimized out>, field=0x7fffcc007ea0 "", varargs=varargs@entry=0x7fffe955c778) at ../gst/gstcaps.c:1082
#5 0x00007ffff7edd981 in gst_caps_set_simple (caps=caps@entry=0x775680, field=field@entry=0x7fffea82bd7b "format") at ../gst/gstcaps.c:1115
#6 0x00007fffea8283b9 in gst_pulse_format_info_to_caps (format=0x7fffcc0064b0) at ../ext/pulse/pulseutil.c:495
#7 0x00007fffea822e11 in gst_pulsesrc_create_stream (pulsesrc=pulsesrc@entry=0x777170 [GstPulseSrc], caps=caps@entry=0x7fffe955cd58, rspec=rspec@entry=0x0) at ../ext/pulse/pulsesrc.c:1332
#8 0x00007fffea823814 in gst_pulsesrc_negotiate (basesrc=0x777170 [GstPulseSrc]) at ../ext/pulse/pulsesrc.c:1451
#9 0x00007fffea7d55a6 in gst_base_src_negotiate (basesrc=0x777170 [GstPulseSrc]) at ../libs/gst/base/gstbasesrc.c:3379
#10 0x00007fffea7d55a6 in gst_base_src_loop (pad=0x7781f0 [GstPad]) at ../libs/gst/base/gstbasesrc.c:2801
#11 0x00007ffff7f41ee1 in gst_task_func (task=0x78d050 [GstTask]) at ../gst/gsttask.c:328
#12 0x00007ffff7da0e93 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#13 0x00007ffff7da048a in g_thread_proxy (data=0x775190) at gthread.c:784
#14 0x00007ffff7cba58e in start_thread () at /lib64/libpthread.so.0
#15 0x00007ffff7be96a3 in clone () at /lib64/libc.so.6
(gst-launch-1.0:4473): GLib-GObject-WARNING **: 16:45:45.258: can't peek value table for type '<invalid>' which is not currently referenced
Thread 3 "pulsesrc0:src" received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff7d7d3c5 in _g_log_abort (breakpoint=1) at gmessages.c:554
554 G_BREAKPOINT ();
(gdb) bt
#0 0x00007ffff7d7d3c5 in _g_log_abort (breakpoint=1) at gmessages.c:554
#1 0x00007ffff7d7e6fd in g_logv (log_domain=0x7ffff7d11064 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, args=args@entry=0x7fffe955c5b0) at gmessages.c:1371
#2 0x00007ffff7d7e8d3 in g_log
(log_domain=log_domain@entry=0x7ffff7d11064 "GLib-GObject", log_level=log_level@entry=G_LOG_LEVEL_WARNING, format=format@entry=0x7ffff7d18558 "can't peek value table for type '%s' which is not currently referenced") at gmessages.c:1413
#3 0x00007ffff7d0a2aa in g_type_value_table_peek (type=type@entry=0x0) at gtype.c:4267
#4 0x00007ffff7edd698 in gst_caps_set_simple_valist (caps=<optimized out>, field=0x7fffcc007ea0 "", varargs=varargs@entry=0x7fffe955c778) at ../gst/gstcaps.c:1082
#5 0x00007ffff7edd981 in gst_caps_set_simple (caps=caps@entry=0x775680, field=field@entry=0x7fffea82bd7b "format") at ../gst/gstcaps.c:1115
#6 0x00007fffea8283b9 in gst_pulse_format_info_to_caps (format=0x7fffcc0064b0) at ../ext/pulse/pulseutil.c:495
#7 0x00007fffea822e11 in gst_pulsesrc_create_stream (pulsesrc=pulsesrc@entry=0x777170 [GstPulseSrc], caps=caps@entry=0x7fffe955cd58, rspec=rspec@entry=0x0) at ../ext/pulse/pulsesrc.c:1332
#8 0x00007fffea823814 in gst_pulsesrc_negotiate (basesrc=0x777170 [GstPulseSrc]) at ../ext/pulse/pulsesrc.c:1451
#9 0x00007fffea7d55a6 in gst_base_src_negotiate (basesrc=0x777170 [GstPulseSrc]) at ../libs/gst/base/gstbasesrc.c:3379
#10 0x00007fffea7d55a6 in gst_base_src_loop (pad=0x7781f0 [GstPad]) at ../libs/gst/base/gstbasesrc.c:2801
#11 0x00007ffff7f41ee1 in gst_task_func (task=0x78d050 [GstTask]) at ../gst/gsttask.c:328
#12 0x00007ffff7da0e93 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#13 0x00007ffff7da048a in g_thread_proxy (data=0x775190) at gthread.c:784
#14 0x00007ffff7cba58e in start_thread () at /lib64/libpthread.so.0
#15 0x00007ffff7be96a3 in clone () at /lib64/libc.so.6