Description of problem: When trying to start an audio call with an MS Lync server, pidgin crashes unless libnice-gstreamer is installed Version-Release number of selected component (if applicable): pidgin-2.10.9-1.fc20.x86_64 purple-sipe-1.18.0-1.fc20.x86_64 pidgin-sipe-1.18.0-1.fc20.x86_64 How reproducible: Always Steps to Reproduce: 1. connect to lync 2. Try an audio call Actual results: segfault Expected results: Works Additional info: https://sourceforge.net/p/sipe/discussion/688534/thread/56b49e5c/ is the upstream report - it shouldn't crash even if the gstreamer 0.10 package isn't installed, but installing the package shouldwork. Installing libnice-gstreamer manually removes the crash, although I still can't get voice calls to work (probably a local issue)
Please provide a gdb backtrace with -debuginfo packages installed which pinpoints the crash in SIPE.
With --debug: (14:31:58) backend-fs2: Could not set transmitter nice: Could not create the nicesrc element. (14:31:58) backend-fs2: Error creating the stream. (14:31:58) media: Error adding stream. Program received signal SIGSEGV, Segmentation fault. sipe_backend_media_get_stream_by_id (media=<optimized out>, id=0xb559e0 "audio") at purple-media.c:507 507 struct sipe_backend_stream *stream = i->data; (gdb) bt #0 sipe_backend_media_get_stream_by_id (media=<optimized out>, id=0xb559e0 "audio") at purple-media.c:507 #1 0x00007fffdb631c58 in maybe_signal_stream_initialized (call=0x1524e10, sessionid=<optimized out>) at purple-media.c:102 #2 0x00007ffff3da9fa9 in g_cclosure_marshal_VOID__STRINGv (closure=0x134e680, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x14f1840) at gmarshal.c:1004 #3 0x00007ffff3da74c7 in _g_closure_invoke_va (closure=closure@entry=0x134e680, return_value=return_value@entry=0x0, instance=instance@entry=0x1517aa0, args=args@entry=0x7fffffffaf50, n_params=1, param_types=0x14f1840) at gclosure.c:840 #4 0x00007ffff3dc0749 in g_signal_emit_valist (instance=0x1517aa0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffaf50) at gsignal.c:3238 #5 0x00007ffff3dc13af in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3386 #6 0x00007ffff3da7298 in g_closure_invoke (closure=0x1330560, return_value=return_value@entry=0x0, n_param_values=2, param_values=param_values@entry=0x7fffffffb1c0, invocation_hint=invocation_hint@entry=0x7fffffffb160) at gclosure.c:777 #7 0x00007ffff3db935d in signal_emit_unlocked_R (node=node@entry=0xb45590, detail=detail@entry=0, instance=instance@entry=0x1517cf0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffb1c0) at gsignal.c:3586 #8 0x00007ffff3dc10f2 in g_signal_emit_valist (instance=instance@entry=0x1517cf0, signal_id=signal_id@entry=355, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffb3c8) at gsignal.c:3330 #9 0x00007ffff3dc18f8 in g_signal_emit_by_name (instance=instance@entry=0x1517cf0, detailed_signal=detailed_signal@entry=0x7ffff4ea0f99 "codecs-changed") at gsignal.c:3426 #10 0x00007ffff4e2916c in gst_handle_message_element (bus=<optimized out>, self=0x1517cf0, msg=<optimized out>) at media/backend-fs2.c:1141 #11 gst_bus_cb (bus=<optimized out>, msg=<optimized out>, self=0x1517cf0) at media/backend-fs2.c:1210 #12 0x00007ffff3da7298 in g_closure_invoke (closure=0x154a320, return_value=return_value@entry=0x0, n_param_values=2, param_values=param_values@entry=0x7fffffffb6e0, invocation_hint=invocation_hint@entry=0x7fffffffb680) at gclosure.c:777 #13 0x00007ffff3db935d in signal_emit_unlocked_R (node=node@entry=0x901000, detail=detail@entry=778, instance=instance@entry=0x14f8a70, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffb6e0) at gsignal.c:3586 #14 0x00007ffff3dc10f2 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffb870) at gsignal.c:3330 #15 0x00007ffff3dc13af in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3386 #16 0x00007ffff401ad32 in gst_bus_async_signal_func () from /lib64/libgstreamer-0.10.so.0 #17 0x00007ffff401bbe1 in gst_bus_source_dispatch () from /lib64/libgstreamer-0.10.so.0 #18 0x00007ffff36ae2a6 in g_main_dispatch (context=0x705290) at gmain.c:3066 #19 g_main_context_dispatch (context=context@entry=0x705290) at gmain.c:3642 #20 0x00007ffff36ae628 in g_main_context_iterate (context=0x705290, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3713 #21 0x00007ffff36aea3a in g_main_loop_run (loop=0xe66be0) at gmain.c:3907 #22 0x00007ffff6b1dc27 in gtk_main () from /lib64/libgtk-x11-2.0.so.0 #23 0x000000000043160f in main (argc=2, argv=0x7fffffffdfd8) at gtkmain.c:933
Crash should be fixed with commit e41ba62. On my machine Pidgin now correctly opens an error message that the call initiation has failed. As for the libnice-gstreamer dependency I'll have to check since which version of libnice this is a requirement, because AFAIU SIPE does not call that code directly.
I discussed the problem with Jakub and he suggested a better solution. Please see commit 5d687b4.
pidgin-sipe-1.18.0-2.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/pidgin-sipe-1.18.0-2.fc20
Package pidgin-sipe-1.18.0-2.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing pidgin-sipe-1.18.0-2.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-3502/pidgin-sipe-1.18.0-2.fc20 then log in and leave karma (feedback).
NOTE to anybody who wants to re-open this bug: please make sure that your gstreamer-0.10 configuration is not broken after you update pidgin-sipe, i.e. if you see something like this $ gst-inspect-0.10 nice No such element or plugin 'nice' then gstreamer can't load the nice plugin. See also https://sourceforge.net/p/sipe/discussion/688534/thread/56b49e5c/#3068.
pidgin-sipe-1.18.0-2.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
pidgin-sipe-1.18.1-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/pidgin-sipe-1.18.1-1.fc20
pidgin-sipe-1.18.1-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/pidgin-sipe-1.18.1-1.fc19
pidgin-sipe-1.18.1-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
pidgin-sipe-1.18.1-1.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.
As you say, Stefan, SIPE doesn't use this directly. It's used from Farstream, and it's the farstream package which ought to require it. When Brian split the gstreamer bits out into subpackages of libnice, he did make farstream02 require libnice-gstreamer1. It looks like he just forgot about making farstream (0.1) require libnice-gstreamer too. http://pkgs.fedoraproject.org/cgit/libnice.git/commit/?id=80069611 http://pkgs.fedoraproject.org/cgit/farstream02.git/commit/?id=47058e06 The reason I'm updating this long-closed bug is to note that I'm *removing* the fix. I've updated Pidgin (and SIPE) in F22 and rawhide to use GStreamer 1.0 and Farstream 0.2 — and since the farstream02 package *does* correctly pull in libnice-gstreamer1 for itself, we don't need to do it. That's why I'm *dropping* the libnice-gstreamer requirement instead of changing it to libnice-gstreamer1. FWIW I don't think I'm going to fix farstream 0.1. I think it can be orphaned now.
(In reply to David Woodhouse from comment #13) ... > The reason I'm updating this long-closed bug is to note that I'm *removing* > the fix. I've updated Pidgin (and SIPE) in F22 and rawhide to use GStreamer > 1.0 and Farstream 0.2 — and since the farstream02 package *does* correctly > pull in libnice-gstreamer1 for itself, we don't need to do it. Hey David, Gajim on Fedora 23 still uses GStreamer 0.1. So I had to install libnice-gstreamer-0.1.13-4.fc23.x86_64 manually to make audio calls work - unnecessary to mention that it tooks me quite a while to figure out. Do you want me to create a prober bug report or is this comment sufficient to get it fixed?