Bug 37846 - Deadlock in call-content.c:src_pad_added
Summary: Deadlock in call-content.c:src_pad_added
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: tp-farstream (show other bugs)
Version: git master
Hardware: Other All
: medium normal
Assignee: Olivier Crête
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-02 02:58 UTC by Emilio Pozuelo Monfort
Modified: 2011-06-02 03:47 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Emilio Pozuelo Monfort 2011-06-02 02:58:26 UTC
I was doing a call with empathy-call and it has deadlock. The bt is:


__lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
136	../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: No such file or directory.
	in ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
(gdb) bt
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1  0x00007ff5879bc329 in _L_lock_926 () from /lib/libpthread.so.0
#2  0x00007ff5879bc14b in __pthread_mutex_lock (mutex=0x2009e40) at pthread_mutex_lock.c:61
#3  0x00007ff58b76cb00 in src_pad_added (fsstream=0x1d4fd50, pad=0x1dd6c40, codec=0x1f35f20, content=0x1f0e050) at call-content.c:1172
#4  0x00007ff58368be7e in g_closure_invoke (closure=0x21c4d70, return_value=0x0, n_param_values=3, param_values=0x1f41770, invocation_hint=0x7fffcd7fd2f0)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#5  0x00007ff58369d8d7 in signal_emit_unlocked_R (node=<value optimized out>, detail=0, instance=0x1d4fd50, emission_return=0x0, 
    instance_and_params=0x1f41770) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3252
#6  0x00007ff5836a6d05 in g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2983
#7  0x00007ff5836a6ed3 in g_signal_emit (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3040
#8  0x00007ff56f843db9 in _transmitter_pad_have_data_callback (pad=<value optimized out>, buffer=<value optimized out>, user_data=<value optimized out>)
    at /tmp/buildd/farsight2-0.0.28/./gst/fsrawconference/fs-raw-session.c:1349
#9  0x00007ff5889a79c8 in gst_marshal_BOOLEAN__POINTER (closure=0x21c4290, return_value=0x7fffcd7fd7e0, n_param_values=<value optimized out>, 
    param_values=0x7fffcd7fd908, invocation_hint=<value optimized out>, marshal_data=<value optimized out>) at gstmarshal.c:586
#10 0x00007ff58368be7e in g_closure_invoke (closure=0x21c4290, return_value=0x7fffcd7fd7e0, n_param_values=2, param_values=0x7fffcd7fd908, 
    invocation_hint=0x7fffcd7fd7a0) at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#11 0x00007ff58369d8d7 in signal_emit_unlocked_R (node=<value optimized out>, detail=190, instance=0x2174540, emission_return=0x7fffcd7fd938, 
    instance_and_params=0x7fffcd7fd908) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3252
#12 0x00007ff5836a62c7 in g_signal_emitv (instance_and_params=<value optimized out>, signal_id=<value optimized out>, detail=190, return_value=0x7fffcd7fd938)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2888
#13 0x00007ff58892f63b in gst_pad_emit_have_data_signal (pad=<value optimized out>, obj=0x21ca740) at gstpad.c:4143
#14 0x00007ff58896a0db in gst_pad_push_event (pad=0x2174540, event=0x21ca740) at gstpad.c:5236
#15 0x00007ff588953741 in gst_proxy_pad_do_event (pad=<value optimized out>, event=0x21ca740) at gstghostpad.c:114
#16 0x00007ff588969c82 in gst_pad_send_event (pad=0x1f14890, event=0x21ca740) at gstpad.c:5398
#17 0x00007ff58896a203 in gst_pad_push_event (pad=0x2178190, event=0x21ca740) at gstpad.c:5250
#18 0x00007ff566faa743 in fs_funnel_event (pad=<value optimized out>, event=0x21ca740) at /tmp/buildd/farsight2-0.0.28/./gst/funnel/fs-funnel.c:333
#19 0x00007ff588969c82 in gst_pad_send_event (pad=0x21c8ca0, event=0x21ca740) at gstpad.c:5398
#20 0x00007ff58896a203 in gst_pad_push_event (pad=0x21c8b20, event=0x21ca740) at gstpad.c:5250
#21 0x00007ff58b9af5d6 in gst_base_src_change_state (element=0x21d2180, transition=<value optimized out>) at gstbasesrc.c:3125
#22 0x00007ff566da3f6f in ?? () from /usr/lib/gstreamer-0.10/libgstshm.so
#23 0x00007ff58894ca5c in gst_element_change_state (element=0x21d2180, transition=<value optimized out>) at gstelement.c:2718
#24 0x00007ff58894cd1b in gst_element_change_state (element=0x21d2180, transition=<value optimized out>) at gstelement.c:2762
#25 0x00007ff58894d442 in gst_element_set_state_func (element=0x21d2180, state=GST_STATE_NULL) at gstelement.c:2674
#26 0x00007ff5671aee49 in fs_shm_transmitter_check_shm_src (self=0x1ff4c80, shm=0x21ca780, path=<value optimized out>)
    at /tmp/buildd/farsight2-0.0.28/./transmitters/shm/fs-shm-transmitter.c:641
#27 0x00007ff5671afaf4 in fs_shm_stream_transmitter_dispose (object=0x1fd9020)
    at /tmp/buildd/farsight2-0.0.28/./transmitters/shm/fs-shm-stream-transmitter.c:258
#28 0x00007ff58368d1ca in g_object_unref (_object=0x1fd9020) at /tmp/buildd/glib2.0-2.28.6/./gobject/gobject.c:2697
#29 0x00007ff56f846bdf in fs_raw_stream_real_dispose (object=<value optimized out>) at /tmp/buildd/farsight2-0.0.28/./gst/fsrawconference/fs-raw-stream.c:316
#30 fs_raw_stream_dispose (object=<value optimized out>) at /tmp/buildd/farsight2-0.0.28/./gst/fsrawconference/fs-raw-stream.c:368
#31 0x00007ff58368d1ca in g_object_unref (_object=0x1d4fd50) at /tmp/buildd/glib2.0-2.28.6/./gobject/gobject.c:2697
---Type <return> to continue, or q <return> to quit---
#32 0x00007ff58b76a666 in free_content_fsstream (data=0x1f502c0) at call-content.c:193
#33 0x00007ff582d96045 in g_ptr_array_remove_index_fast (farray=<value optimized out>, index_=0) at /tmp/buildd/glib2.0-2.28.6/./glib/garray.c:1077
#34 0x00007ff58b76ca5c in _tf_call_content_put_fsstream (content=0x1f0e050, fsstream=0x1d4fd50) at call-content.c:1151
#35 0x00007ff58b76cf26 in tf_call_stream_dispose (object=0x1ff4be0) at call-stream.c:85
#36 0x00007ff58368d1ca in g_object_unref (_object=0x1ff4be0) at /tmp/buildd/glib2.0-2.28.6/./gobject/gobject.c:2697
#37 0x00007ff582db004e in g_hash_table_remove_all_nodes (hash_table=0x1f31f70, notify=1) at /tmp/buildd/glib2.0-2.28.6/./glib/ghash.c:492
#38 0x00007ff582db093d in g_hash_table_remove_all (hash_table=0x1f31f70) at /tmp/buildd/glib2.0-2.28.6/./glib/ghash.c:1171
#39 0x00007ff582db09d5 in g_hash_table_destroy (hash_table=0x1f31f70) at /tmp/buildd/glib2.0-2.28.6/./glib/ghash.c:877
#40 0x00007ff58b76a72d in tf_call_content_dispose (object=0x1f0e050) at call-content.c:214
#41 0x00007ff58368d1ca in g_object_unref (_object=0x1f0e050) at /tmp/buildd/glib2.0-2.28.6/./gobject/gobject.c:2697
#42 0x00007ff582db004e in g_hash_table_remove_all_nodes (hash_table=0x1f320f0, notify=1) at /tmp/buildd/glib2.0-2.28.6/./glib/ghash.c:492
#43 0x00007ff582db093d in g_hash_table_remove_all (hash_table=0x1f320f0) at /tmp/buildd/glib2.0-2.28.6/./glib/ghash.c:1171
#44 0x00007ff582db09d5 in g_hash_table_destroy (hash_table=0x1f320f0) at /tmp/buildd/glib2.0-2.28.6/./glib/ghash.c:877
#45 0x00007ff58b76938a in tf_call_channel_dispose (object=0x1feb280) at call-channel.c:235
#46 0x00007ff58368d1ca in g_object_unref (_object=0x1feb280) at /tmp/buildd/glib2.0-2.28.6/./gobject/gobject.c:2697
#47 0x00007ff58b766eca in tf_channel_dispose (object=0x1f32000) at channel.c:347
#48 0x00007ff58368d1ca in g_object_unref (_object=0x1f32000) at /tmp/buildd/glib2.0-2.28.6/./gobject/gobject.c:2697
#49 0x0000000000426cb4 in empathy_call_window_hangup_cb (object=<value optimized out>, window=0x1d720c0) at empathy-call-window.c:3096
#50 0x00007ff58368be7e in g_closure_invoke (closure=0x1d9e340, return_value=0x0, n_param_values=1, param_values=0x1f476e0, invocation_hint=0x7fffcd7fe210)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#51 0x00007ff58369d8d7 in signal_emit_unlocked_R (node=<value optimized out>, detail=0, instance=0x1d4f6f0, emission_return=0x0, 
    instance_and_params=0x1f476e0) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3252
#52 0x00007ff5836a6d05 in g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2983
#53 0x00007ff5836a7092 in g_signal_emit_by_name (instance=<value optimized out>, detailed_signal=0x7ff5858e8143 "clicked")
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3077
#54 0x00007ff58368be7e in g_closure_invoke (closure=0x1dab560, return_value=0x0, n_param_values=1, param_values=0x1f52ca0, invocation_hint=0x7fffcd7fe6b0)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#55 0x00007ff58369d8d7 in signal_emit_unlocked_R (node=<value optimized out>, detail=0, instance=0x1da6180, emission_return=0x0, 
    instance_and_params=0x1f52ca0) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3252
#56 0x00007ff5836a6d05 in g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2983
#57 0x00007ff5836a6ed3 in g_signal_emit (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3040
#58 0x00007ff58568dec5 in gtk_real_button_released (button=0x1da6180) at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkbutton.c:1725
#59 0x00007ff58368be7e in g_closure_invoke (closure=0x1cf4d10, return_value=0x0, n_param_values=1, param_values=0x1f49aa0, invocation_hint=0x7fffcd7feae0)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#60 0x00007ff58369d09c in signal_emit_unlocked_R (node=<value optimized out>, detail=0, instance=0x1da6180, emission_return=0x0, 
    instance_and_params=0x1f49aa0) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3182
#61 0x00007ff5836a6d05 in g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2983
#62 0x00007ff5836a6ed3 in g_signal_emit (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3040
---Type <return> to continue, or q <return> to quit---
#63 0x00007ff58568cc7d in gtk_button_button_release (widget=<value optimized out>, event=<value optimized out>)
    at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkbutton.c:1617
#64 0x00007ff585737d48 in _gtk_marshal_BOOLEAN__BOXED (closure=0x1ce0580, return_value=0x7fffcd7fef80, n_param_values=<value optimized out>, 
    param_values=0x1c9b0a0, invocation_hint=<value optimized out>, marshal_data=<value optimized out>)
    at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkmarshalers.c:86
#65 0x00007ff58368be7e in g_closure_invoke (closure=0x1ce0580, return_value=0x7fffcd7fef80, n_param_values=2, param_values=0x1c9b0a0, 
    invocation_hint=0x7fffcd7fef40) at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#66 0x00007ff58369d6e8 in signal_emit_unlocked_R (node=<value optimized out>, detail=0, instance=0x1da6180, emission_return=0x7fffcd7ff0f0, 
    instance_and_params=0x1c9b0a0) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3290
#67 0x00007ff5836a6aa5 in g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2993
#68 0x00007ff5836a6ed3 in g_signal_emit (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3040
#69 0x00007ff585853d8f in gtk_widget_event_internal (widget=0x1da6180, event=0x21d05d0) at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkwidget.c:4980
#70 0x00007ff585735f03 in IA__gtk_propagate_event (widget=0x1da6180, event=0x21d05d0) at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkmain.c:2489
#71 0x00007ff5857362b3 in IA__gtk_main_do_event (event=0x21d05d0) at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkmain.c:1684
#72 0x00007ff585138b7c in gdk_event_dispatch (source=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>)
    at /scratch/build-area/gtk+2.0-2.24.4/gdk/x11/gdkevents-x11.c:2377
#73 0x00007ff582dc14a3 in g_main_dispatch (context=0x1cc06d0) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:2440
#74 g_main_context_dispatch (context=0x1cc06d0) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3013
#75 0x00007ff582dc1c80 in g_main_context_iterate (context=0x1cc06d0, block=1, dispatch=1, self=<value optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3091
#76 0x00007ff582dc22f2 in g_main_loop_run (loop=0x1d25270) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3299
#77 0x00007ff5857352b7 in IA__gtk_main () at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkmain.c:1256
#78 0x000000000041e991 in main (argc=1, argv=0x7fffcd7ff5f8) at empathy-call.c:186
(gdb) thread apply all bt

Thread 6 (Thread 0x7ff579fd6700 (LWP 4019)):
#0  0x00007ff582ac3663 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007ff582dc19e4 in g_main_context_poll (context=0x1de52f0, block=1, dispatch=1, self=<value optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3404
#2  g_main_context_iterate (context=0x1de52f0, block=1, dispatch=1, self=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3086
#3  0x00007ff582dc22f2 in g_main_loop_run (loop=0x1de52d0) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3299
#4  0x00007ff5839859d4 in gdbus_shared_thread_func (data=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./gio/gdbusprivate.c:276
#5  0x00007ff582de8cf6 in g_thread_create_proxy (data=0x1de53d0) at /tmp/buildd/glib2.0-2.28.6/./glib/gthread.c:1897
#6  0x00007ff5879b9b40 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#7  0x00007ff582ace28d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7ff56cfb5700 (LWP 4022)):
#0  0x00007ff582ac3663 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=1414) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007ff56ebdbdcf in ?? () from /usr/lib/libpulse.so.0
#2  0x00007ff56ebcbbd6 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#3  0x00007ff56ebccfb9 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#4  0x00007ff56ebcd070 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#5  0x00007ff56ebdbbcb in ?? () from /usr/lib/libpulse.so.0
#6  0x00007ff56e998d48 in ?? () from /usr/lib/libpulsecommon-0.9.22.so
#7  0x00007ff5879b9b40 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#8  0x00007ff582ace28d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7ff56c7b4700 (LWP 4024)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:140
#1  0x00007ff56ebdb6b0 in pa_threaded_mainloop_wait () from /usr/lib/libpulse.so.0
#2  0x00007ff56edffdaa in gst_pulsesrc_read (asrc=0x1ca80c0, data=0x7ff567ded4d0, length=<value optimized out>) at pulsesrc.c:759
#3  0x00007ff578c9d4c8 in audioringbuffer_thread_func (buf=0x1d50190) at gstaudiosrc.c:231
#4  0x00007ff582de8cf6 in g_thread_create_proxy (data=0x21aa990) at /tmp/buildd/glib2.0-2.28.6/./glib/gthread.c:1897
#5  0x00007ff5879b9b40 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#6  0x00007ff582ace28d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7ff567bb2700 (LWP 4025)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007ff578c8ef89 in wait_segment (buf=0x1d50190) at gstringbuffer.c:1478
#2  0x00007ff578c9066c in gst_ring_buffer_read (buf=0x1d50190, sample=3960000, 
    data=0x2257510 "N\001\247\273N\001\247\273J\001\245\273J\001\245\273f\001\263\273f\001\263\273v\001;\274v\001;\274 \001\020\274 \001\020\274\224\001ʻ\224\001ʻQ\201(\274Q\201(\274\200\001@;\200\001@;\310\001d\274\310\001d\274'\201\023\274'\201\023\274\064\001\032\273\064\001\032\273C\201!\274C\201!\274p\001\270\273p\001\270\273\250\001\324:\250\001\324:@\001\240\071@\001\240\071i\201\064\274i\201\064\274\310\001\344;\310\001\344;L\001\246;L\001\246;\020\001\210\272\020\001\210\272d\001\062;d\001\062;J\001%<J\001%<4\001\232;4\001\232;\200\001@;\200\001@;o\201\067<o\201\067<!\201\220<!\201\220<"..., len=440)
---Type <return> to continue, or q <return> to quit---
    at gstringbuffer.c:1893
#3  0x00007ff578c992ef in gst_base_audio_src_create (bsrc=0x1ca80c0, offset=<value optimized out>, length=<value optimized out>, outbuf=0x7ff567bb1b08)
    at gstbaseaudiosrc.c:810
#4  0x00007ff58b9ad73f in gst_base_src_get_range (src=0x1ca80c0, offset=18446744073709551615, length=0, buf=0x7ff567bb1b08) at gstbasesrc.c:2145
#5  0x00007ff58b9aeb93 in gst_base_src_loop (pad=0x2178010) at gstbasesrc.c:2402
#6  0x00007ff58898f570 in gst_task_func (task=0x1da9560) at gsttask.c:318
#7  0x00007ff582deb3e4 in g_thread_pool_thread_proxy (data=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./glib/gthreadpool.c:319
#8  0x00007ff582de8cf6 in g_thread_create_proxy (data=0x1cad6a0) at /tmp/buildd/glib2.0-2.28.6/./glib/gthread.c:1897
#9  0x00007ff5879b9b40 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007ff582ace28d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7ff566d5e700 (LWP 4026)):
#0  0x00007ff582ac3731 in ppoll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>, sigmask=<value optimized out>)
    at ../sysdeps/unix/sysv/linux/ppoll.c:57
#1  0x00007ff588975305 in gst_poll_wait (set=0x1f41630, timeout=18446744073709551615) at gstpoll.c:1276
#2  0x00007ff566da4c79 in ?? () from /usr/lib/gstreamer-0.10/libgstshm.so
#3  0x00007ff582de8cf6 in g_thread_create_proxy (data=0x21ce840) at /tmp/buildd/glib2.0-2.28.6/./glib/gthread.c:1897
#4  0x00007ff5879b9b40 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#5  0x00007ff582ace28d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ff58bfbf980 (LWP 4017)):
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1  0x00007ff5879bc329 in _L_lock_926 () from /lib/libpthread.so.0
#2  0x00007ff5879bc14b in __pthread_mutex_lock (mutex=0x2009e40) at pthread_mutex_lock.c:61
#3  0x00007ff58b76cb00 in src_pad_added (fsstream=0x1d4fd50, pad=0x1dd6c40, codec=0x1f35f20, content=0x1f0e050) at call-content.c:1172
#4  0x00007ff58368be7e in g_closure_invoke (closure=0x21c4d70, return_value=0x0, n_param_values=3, param_values=0x1f41770, invocation_hint=0x7fffcd7fd2f0)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#5  0x00007ff58369d8d7 in signal_emit_unlocked_R (node=<value optimized out>, detail=0, instance=0x1d4fd50, emission_return=0x0, 
    instance_and_params=0x1f41770) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3252
#6  0x00007ff5836a6d05 in g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2983
#7  0x00007ff5836a6ed3 in g_signal_emit (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3040
#8  0x00007ff56f843db9 in _transmitter_pad_have_data_callback (pad=<value optimized out>, buffer=<value optimized out>, user_data=<value optimized out>)
    at /tmp/buildd/farsight2-0.0.28/./gst/fsrawconference/fs-raw-session.c:1349
#9  0x00007ff5889a79c8 in gst_marshal_BOOLEAN__POINTER (closure=0x21c4290, return_value=0x7fffcd7fd7e0, n_param_values=<value optimized out>, 
    param_values=0x7fffcd7fd908, invocation_hint=<value optimized out>, marshal_data=<value optimized out>) at gstmarshal.c:586
#10 0x00007ff58368be7e in g_closure_invoke (closure=0x21c4290, return_value=0x7fffcd7fd7e0, n_param_values=2, param_values=0x7fffcd7fd908, 
    invocation_hint=0x7fffcd7fd7a0) at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#11 0x00007ff58369d8d7 in signal_emit_unlocked_R (node=<value optimized out>, detail=190, instance=0x2174540, emission_return=0x7fffcd7fd938, 
    instance_and_params=0x7fffcd7fd908) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3252
---Type <return> to continue, or q <return> to quit---
#12 0x00007ff5836a62c7 in g_signal_emitv (instance_and_params=<value optimized out>, signal_id=<value optimized out>, detail=190, return_value=0x7fffcd7fd938)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2888
#13 0x00007ff58892f63b in gst_pad_emit_have_data_signal (pad=<value optimized out>, obj=0x21ca740) at gstpad.c:4143
#14 0x00007ff58896a0db in gst_pad_push_event (pad=0x2174540, event=0x21ca740) at gstpad.c:5236
#15 0x00007ff588953741 in gst_proxy_pad_do_event (pad=<value optimized out>, event=0x21ca740) at gstghostpad.c:114
#16 0x00007ff588969c82 in gst_pad_send_event (pad=0x1f14890, event=0x21ca740) at gstpad.c:5398
#17 0x00007ff58896a203 in gst_pad_push_event (pad=0x2178190, event=0x21ca740) at gstpad.c:5250
#18 0x00007ff566faa743 in fs_funnel_event (pad=<value optimized out>, event=0x21ca740) at /tmp/buildd/farsight2-0.0.28/./gst/funnel/fs-funnel.c:333
#19 0x00007ff588969c82 in gst_pad_send_event (pad=0x21c8ca0, event=0x21ca740) at gstpad.c:5398
#20 0x00007ff58896a203 in gst_pad_push_event (pad=0x21c8b20, event=0x21ca740) at gstpad.c:5250
#21 0x00007ff58b9af5d6 in gst_base_src_change_state (element=0x21d2180, transition=<value optimized out>) at gstbasesrc.c:3125
#22 0x00007ff566da3f6f in ?? () from /usr/lib/gstreamer-0.10/libgstshm.so
#23 0x00007ff58894ca5c in gst_element_change_state (element=0x21d2180, transition=<value optimized out>) at gstelement.c:2718
#24 0x00007ff58894cd1b in gst_element_change_state (element=0x21d2180, transition=<value optimized out>) at gstelement.c:2762
#25 0x00007ff58894d442 in gst_element_set_state_func (element=0x21d2180, state=GST_STATE_NULL) at gstelement.c:2674
#26 0x00007ff5671aee49 in fs_shm_transmitter_check_shm_src (self=0x1ff4c80, shm=0x21ca780, path=<value optimized out>)
    at /tmp/buildd/farsight2-0.0.28/./transmitters/shm/fs-shm-transmitter.c:641
#27 0x00007ff5671afaf4 in fs_shm_stream_transmitter_dispose (object=0x1fd9020)
    at /tmp/buildd/farsight2-0.0.28/./transmitters/shm/fs-shm-stream-transmitter.c:258
#28 0x00007ff58368d1ca in g_object_unref (_object=0x1fd9020) at /tmp/buildd/glib2.0-2.28.6/./gobject/gobject.c:2697
#29 0x00007ff56f846bdf in fs_raw_stream_real_dispose (object=<value optimized out>) at /tmp/buildd/farsight2-0.0.28/./gst/fsrawconference/fs-raw-stream.c:316
#30 fs_raw_stream_dispose (object=<value optimized out>) at /tmp/buildd/farsight2-0.0.28/./gst/fsrawconference/fs-raw-stream.c:368
#31 0x00007ff58368d1ca in g_object_unref (_object=0x1d4fd50) at /tmp/buildd/glib2.0-2.28.6/./gobject/gobject.c:2697
#32 0x00007ff58b76a666 in free_content_fsstream (data=0x1f502c0) at call-content.c:193
#33 0x00007ff582d96045 in g_ptr_array_remove_index_fast (farray=<value optimized out>, index_=0) at /tmp/buildd/glib2.0-2.28.6/./glib/garray.c:1077
#34 0x00007ff58b76ca5c in _tf_call_content_put_fsstream (content=0x1f0e050, fsstream=0x1d4fd50) at call-content.c:1151
#35 0x00007ff58b76cf26 in tf_call_stream_dispose (object=0x1ff4be0) at call-stream.c:85
#36 0x00007ff58368d1ca in g_object_unref (_object=0x1ff4be0) at /tmp/buildd/glib2.0-2.28.6/./gobject/gobject.c:2697
#37 0x00007ff582db004e in g_hash_table_remove_all_nodes (hash_table=0x1f31f70, notify=1) at /tmp/buildd/glib2.0-2.28.6/./glib/ghash.c:492
#38 0x00007ff582db093d in g_hash_table_remove_all (hash_table=0x1f31f70) at /tmp/buildd/glib2.0-2.28.6/./glib/ghash.c:1171
#39 0x00007ff582db09d5 in g_hash_table_destroy (hash_table=0x1f31f70) at /tmp/buildd/glib2.0-2.28.6/./glib/ghash.c:877
#40 0x00007ff58b76a72d in tf_call_content_dispose (object=0x1f0e050) at call-content.c:214
#41 0x00007ff58368d1ca in g_object_unref (_object=0x1f0e050) at /tmp/buildd/glib2.0-2.28.6/./gobject/gobject.c:2697
#42 0x00007ff582db004e in g_hash_table_remove_all_nodes (hash_table=0x1f320f0, notify=1) at /tmp/buildd/glib2.0-2.28.6/./glib/ghash.c:492
#43 0x00007ff582db093d in g_hash_table_remove_all (hash_table=0x1f320f0) at /tmp/buildd/glib2.0-2.28.6/./glib/ghash.c:1171
#44 0x00007ff582db09d5 in g_hash_table_destroy (hash_table=0x1f320f0) at /tmp/buildd/glib2.0-2.28.6/./glib/ghash.c:877
#45 0x00007ff58b76938a in tf_call_channel_dispose (object=0x1feb280) at call-channel.c:235
#46 0x00007ff58368d1ca in g_object_unref (_object=0x1feb280) at /tmp/buildd/glib2.0-2.28.6/./gobject/gobject.c:2697
#47 0x00007ff58b766eca in tf_channel_dispose (object=0x1f32000) at channel.c:347
#48 0x00007ff58368d1ca in g_object_unref (_object=0x1f32000) at /tmp/buildd/glib2.0-2.28.6/./gobject/gobject.c:2697
#49 0x0000000000426cb4 in empathy_call_window_hangup_cb (object=<value optimized out>, window=0x1d720c0) at empathy-call-window.c:3096
#50 0x00007ff58368be7e in g_closure_invoke (closure=0x1d9e340, return_value=0x0, n_param_values=1, param_values=0x1f476e0, invocation_hint=0x7fffcd7fe210)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
---Type <return> to continue, or q <return> to quit---
#51 0x00007ff58369d8d7 in signal_emit_unlocked_R (node=<value optimized out>, detail=0, instance=0x1d4f6f0, emission_return=0x0, 
    instance_and_params=0x1f476e0) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3252
#52 0x00007ff5836a6d05 in g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2983
#53 0x00007ff5836a7092 in g_signal_emit_by_name (instance=<value optimized out>, detailed_signal=0x7ff5858e8143 "clicked")
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3077
#54 0x00007ff58368be7e in g_closure_invoke (closure=0x1dab560, return_value=0x0, n_param_values=1, param_values=0x1f52ca0, invocation_hint=0x7fffcd7fe6b0)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#55 0x00007ff58369d8d7 in signal_emit_unlocked_R (node=<value optimized out>, detail=0, instance=0x1da6180, emission_return=0x0, 
    instance_and_params=0x1f52ca0) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3252
#56 0x00007ff5836a6d05 in g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2983
#57 0x00007ff5836a6ed3 in g_signal_emit (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3040
#58 0x00007ff58568dec5 in gtk_real_button_released (button=0x1da6180) at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkbutton.c:1725
#59 0x00007ff58368be7e in g_closure_invoke (closure=0x1cf4d10, return_value=0x0, n_param_values=1, param_values=0x1f49aa0, invocation_hint=0x7fffcd7feae0)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#60 0x00007ff58369d09c in signal_emit_unlocked_R (node=<value optimized out>, detail=0, instance=0x1da6180, emission_return=0x0, 
    instance_and_params=0x1f49aa0) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3182
#61 0x00007ff5836a6d05 in g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2983
#62 0x00007ff5836a6ed3 in g_signal_emit (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3040
#63 0x00007ff58568cc7d in gtk_button_button_release (widget=<value optimized out>, event=<value optimized out>)
    at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkbutton.c:1617
#64 0x00007ff585737d48 in _gtk_marshal_BOOLEAN__BOXED (closure=0x1ce0580, return_value=0x7fffcd7fef80, n_param_values=<value optimized out>, 
    param_values=0x1c9b0a0, invocation_hint=<value optimized out>, marshal_data=<value optimized out>)
    at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkmarshalers.c:86
#65 0x00007ff58368be7e in g_closure_invoke (closure=0x1ce0580, return_value=0x7fffcd7fef80, n_param_values=2, param_values=0x1c9b0a0, 
    invocation_hint=0x7fffcd7fef40) at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#66 0x00007ff58369d6e8 in signal_emit_unlocked_R (node=<value optimized out>, detail=0, instance=0x1da6180, emission_return=0x7fffcd7ff0f0, 
    instance_and_params=0x1c9b0a0) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3290
#67 0x00007ff5836a6aa5 in g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2993
#68 0x00007ff5836a6ed3 in g_signal_emit (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3040
#69 0x00007ff585853d8f in gtk_widget_event_internal (widget=0x1da6180, event=0x21d05d0) at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkwidget.c:4980
#70 0x00007ff585735f03 in IA__gtk_propagate_event (widget=0x1da6180, event=0x21d05d0) at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkmain.c:2489
#71 0x00007ff5857362b3 in IA__gtk_main_do_event (event=0x21d05d0) at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkmain.c:1684
#72 0x00007ff585138b7c in gdk_event_dispatch (source=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>)
    at /scratch/build-area/gtk+2.0-2.24.4/gdk/x11/gdkevents-x11.c:2377
#73 0x00007ff582dc14a3 in g_main_dispatch (context=0x1cc06d0) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:2440
#74 g_main_context_dispatch (context=0x1cc06d0) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3013
---Type <return> to continue, or q <return> to quit---
#75 0x00007ff582dc1c80 in g_main_context_iterate (context=0x1cc06d0, block=1, dispatch=1, self=<value optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3091
#76 0x00007ff582dc22f2 in g_main_loop_run (loop=0x1d25270) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3299
#77 0x00007ff5857352b7 in IA__gtk_main () at /scratch/build-area/gtk+2.0-2.24.4/gtk/gtkmain.c:1256
#78 0x000000000041e991 in main (argc=1, argv=0x7fffcd7ff5f8) at empathy-call.c:186
(gdb)
Comment 1 Olivier Crête 2011-06-02 03:47:08 UTC
commit 1df97c3a2f5ae3811a659b31e22936da925d6658
Author: Olivier Crête <olivier.crete@collabora.com>
Date:   Thu Jun 2 11:45:38 2011 +0100

    Don't hold the Content lock while freeing a FsStream
    
    Freeing the stream will push out a EOS event, which may cause src_pad_added to be
    called if there is no src pad yet. Which will take the Content lock, which causes a deadlock.


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.