tieto / sipe

A third-party Pidgin plugin for Microsoft Lync/OCS - clone of upstream http://repo.or.cz/w/siplcs.git
GNU General Public License v2.0
129 stars 24 forks source link

Crash on video-call connection #56

Closed xnandersson closed 8 years ago

xnandersson commented 8 years ago
[Thread 0x7fff0effb700 (LWP 4124) exited]
[Thread 0x7fff0cfc2700 (LWP 4125) exited]
[Thread 0x7fff0e3db700 (LWP 4123) exited]
[Thread 0x7ffee7ffd700 (LWP 4122) exited]
[Thread 0x7fff3fffd700 (LWP 4089) exited]

(Pidgin:4069): GStreamer-CRITICAL **: gst_pad_get_peer: assertion 'GST_IS_PAD (pad)' failed

Thread 1 "pidgin.orig" received signal SIGSEGV, Segmentation fault.
state_changed_cb (media=0x555556606ef0, state=<optimized out>, 
    sid=0x555556b69820 "video", name=0x0, self=0x555556607140)
    at media/backend-fs2.c:1336
1336    media/backend-fs2.c: No such file or directory.
(gdb) 

Versions:

nandersson@nandersson-ThinkPad-X1-Carbon-2nd:~$ dpkg --list | grep -e sipe -e pidgin -e farstream -e remmina -e nice -e freerdp
ii  gir1.2-gst-plugins-base-1.0                          1.8.0-1ubuntu1+sipe1                                              amd64        Description: GObject introspection data for the GStreamer Plugins Base library
ii  gstreamer0.10-nice:amd64                             0.1.13+sipe+collab-201603090603+2222~ubuntu16.04.1                amd64        ICE library (GStreamer 0.10 plugin)
ii  gstreamer1.0-alsa:amd64                              1.8.0-1ubuntu1+sipe1                                              amd64        GStreamer plugin for ALSA
ii  gstreamer1.0-nice:amd64                              0.1.13+sipe+collab-201603090603+2222~ubuntu16.04.1                amd64        ICE library (GStreamer plugin)
ii  gstreamer1.0-plugins-bad:amd64                       1.8.0-1ubuntu1+sipe2                                              amd64        GStreamer plugins from the "bad" set
ii  gstreamer1.0-plugins-bad-faad:amd64                  1.8.0-1ubuntu1+sipe2                                              amd64        GStreamer faad plugin from the "bad" set
ii  gstreamer1.0-plugins-bad-videoparsers:amd64          1.8.0-1ubuntu1+sipe2                                              amd64        GStreamer videoparsers plugin from the "bad" set
ii  gstreamer1.0-plugins-base:amd64                      1.8.0-1ubuntu1+sipe1                                              amd64        GStreamer plugins from the "base" set
ii  gstreamer1.0-plugins-base:i386                       1.8.0-1ubuntu1+sipe1                                              i386         GStreamer plugins from the "base" set
ii  gstreamer1.0-plugins-base-apps                       1.8.0-1ubuntu1+sipe1                                              amd64        GStreamer helper programs from the "base" set
ii  gstreamer1.0-x:amd64                                 1.8.0-1ubuntu1+sipe1                                              amd64        GStreamer plugins for X11 and Pango
ii  libfarstream-0.1-0:amd64                             0.1.2-3ubuntu1                                                    amd64        Audio/Video communications framework: core library
ii  libfarstream-0.2-5:amd64                             0.2.8+sipe+collab-0.3010+201604211603~ubuntu16.04.1               amd64        Audio/Video communications framework: core library
ii  libfreerdp-cache1.1:amd64                            1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1                        amd64        Free Remote Desktop Protocol library (cache library)
ii  libfreerdp-client1.1:amd64                           1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1                        amd64        Free Remote Desktop Protocol library (client library)
ii  libfreerdp-client2:amd64                             2.0.0~git20160317.1.75ae3f5+dfsg1-0~201604250541~24~ubuntu16.04.1 amd64        Free Remote Desktop Protocol library (client library)
ii  libfreerdp-codec1.1:amd64                            1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1                        amd64        Free Remote Desktop Protocol library (codec library)
ii  libfreerdp-common1.1.0:amd64                         1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1                        amd64        Free Remote Desktop Protocol library (common library)
ii  libfreerdp-core1.1:amd64                             1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1                        amd64        Free Remote Desktop Protocol library (core library)
ii  libfreerdp-crypto1.1:amd64                           1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1                        amd64        Free Remote Desktop Protocol library (freerdp-crypto library)
ii  libfreerdp-gdi1.1:amd64                              1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1                        amd64        Free Remote Desktop Protocol library (GDI library)
ii  libfreerdp-locale1.1:amd64                           1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1                        amd64        Free Remote Desktop Protocol library (locale library)
ii  libfreerdp-primitives1.1:amd64                       1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1                        amd64        Free Remote Desktop Protocol library (primitives library)
ii  libfreerdp-server2:amd64                             2.0.0~git20160317.1.75ae3f5+dfsg1-0~201604250541~24~ubuntu16.04.1 amd64        Free Remote Desktop Protocol library (server library)
ii  libfreerdp-shadow2:amd64                             2.0.0~git20160317.1.75ae3f5+dfsg1-0~201604250541~24~ubuntu16.04.1 amd64        FreeRDP Remote Desktop Protocol shadow libraries
ii  libfreerdp-utils1.1:amd64                            1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1                        amd64        Free Remote Desktop Protocol library (freerdp-utils library)
ii  libfreerdp2:amd64                                    2.0.0~git20160317.1.75ae3f5+dfsg1-0~201604250541~24~ubuntu16.04.1 amd64        Free Remote Desktop Protocol library (core library)
ii  libgstreamer-plugins-bad1.0-0:amd64                  1.8.0-1ubuntu1+sipe2                                              amd64        GStreamer development files for libraries from the "bad" set
ii  libgstreamer-plugins-base1.0-0:amd64                 1.8.0-1ubuntu1+sipe1                                              amd64        GStreamer libraries from the "base" set
ii  libgstreamer-plugins-base1.0-0:i386                  1.8.0-1ubuntu1+sipe1                                              i386         GStreamer libraries from the "base" set
ii  libnice-dev                                          0.1.13+sipe+collab-201603090603+2222~ubuntu16.04.1                amd64        ICE library (development files)
ii  libnice10:amd64                                      0.1.13+sipe+collab-201603090603+2222~ubuntu16.04.1                amd64        ICE library (shared library)
ii  libtelepathy-farstream3:amd64                        0.6.2-1build1                                                     amd64        Glue library between telepathy and farstream
ii  pidgin                                               1:3.0.0~collab-0.20632+201604280947~ubuntu16.04.1                 amd64        graphical multi-protocol instant messaging client for X
ii  pidgin-data                                          1:3.0.0~collab-0.20632+201604280947~ubuntu16.04.1                 all          multi-protocol instant messaging client - data files
ii  pidgin-dbg                                           1:3.0.0~collab-0.20632+201604280947~ubuntu16.04.1                 amd64        Debugging symbols for Pidgin
ii  pidgin-sipe                                          1.21.0+collab-201604260531+3207~ubuntu16.04.1                     amd64        Pidgin plugin for MS Office Communicator and MS Lync
ii  pidgin-sipe-dbg                                      1.21.0+collab-201604260531+3207~ubuntu16.04.1                     amd64        Pidgin plugin for MS Office Communicator and MS Lync (debug symbols)
ii  remmina                                              1.1.2-sipe+201604261646+next+852~ubuntu16.04.1                    amd64        remote desktop client for GNOME desktop environment
ii  remmina-common                                       1.1.2-sipe+201604261646+next+852~ubuntu16.04.1                    all          common files for remmina remote desktop client
ii  remmina-dbg                                          1.1.2-sipe+201604261646+next+852~ubuntu16.04.1                    amd64        remote desktop client - debug pakcage
ii  remmina-plugin-gnome                                 1.1.2-sipe+201604261646+next+852~ubuntu16.04.1                    amd64        GNOME plugin for remmina remote desktop client
ii  remmina-plugin-nx                                    1.1.2-sipe+201604261646+next+852~ubuntu16.04.1                    amd64        NX plugin for remmina remote desktop client
ii  remmina-plugin-rdp                                   1.1.2-sipe+201604261646+next+852~ubuntu16.04.1                    amd64        RDP plugin for remmina remote desktop client
ii  remmina-plugin-telepathy                             1.1.2-sipe+201604261646+next+852~ubuntu16.04.1                    amd64        Telepathy plugin for remmina remote desktop client
ii  remmina-plugin-vnc                                   1.1.2-sipe+201604261646+next+852~ubuntu16.04.1                    amd64        VNC plugin for remmina remote desktop client
ii  remmina-plugin-xdmcp                                 1.1.2-sipe+201604261646+next+852~ubuntu16.04.1                    amd64        XDMCP plugin for remmina remote desktop client
xhaakon commented 8 years ago

Somehow, session->srcpad in libpurple media backend doesn't get initialized or has meaningless values. Is this reproducible or was it a one-time hiccup?

Pidgin debug log would be useful here, preferably with GStreamer logs included.

GST_DEBUG=3 pidgin --debug

Perhaps even GST_DEBUG=4, but that might be too verbose for a start.

xnandersson commented 8 years ago

It is reproducible. I'll do the logging once my colleague gets back online :)

xnandersson commented 8 years ago

Log produced with GST_DEBUG=3 pidgin --debug | tee ~/pidgin.log send privately by mail.

xhaakon commented 8 years ago

Obfuscated call invite from Pidgin

------=_NextPart_000_001E_01CB4397.0B5EB570
Content-Type: application/sdp
Content-Transfer-Encoding: 7bit
Content-Disposition: session; handling=optional; ms-proxy-2007fallback

o=- 0 0 IN IP4 4.5.6.244
s=session
c=IN IP4 4.5.6.244
m=audio 0 RTP/AVP

------=_NextPart_000_001E_01CB4397.0B5EB570
Content-Type: application/sdp
Content-Transfer-Encoding: 7bit
Content-Disposition: session; handling=optional

v=0
o=- 0 0 IN IP4 192.168.1.157
s=session
c=IN IP4 192.168.1.157
b=CT:99980
t=0 0
m=audio 48018 RTP/AVP 0 3 8 9 10 14 96 97 98 99 100 101 102 103 104
a=candidate:10 1 UDP 183501311 1.2.3.148 61209 typ relay raddr 192.168.1.157 rport 48018
a=candidate:10 2 UDP 183501310 1.2.3.148 49191 typ relay raddr 192.168.1.157 rport 48030
a=candidate:11 1 TCP-ACT 90833407 1.2.3.148 57002 typ relay raddr 192.168.1.157 rport 48009
a=candidate:11 2 TCP-ACT 90833407 1.2.3.148 57002 typ relay raddr 192.168.1.157 rport 48009
a=candidate:12 1 TCP-PASS 90440191 1.2.3.148 57002 typ relay raddr 192.168.1.157 rport 48009
a=candidate:12 2 TCP-PASS 90440191 1.2.3.148 57002 typ relay raddr 192.168.1.157 rport 48009
a=candidate:4 1 UDP 2028995071 192.168.1.157 48018 typ host 
a=candidate:4 2 UDP 2028995070 192.168.1.157 48030 typ host 
a=candidate:5 1 TCP-ACT 1013580287 192.168.1.157 48009 typ host 
a=candidate:5 2 TCP-ACT 1013580287 192.168.1.157 48009 typ host 
a=candidate:6 1 TCP-PASS 1013187071 192.168.1.157 48009 typ host 
a=candidate:6 2 TCP-PASS 1013187071 192.168.1.157 48009 typ host 
a=candidate:7 1 UDP 1693450751 1.2.3.129 48019 typ srflx raddr 192.168.1.157 rport 48018
a=candidate:7 2 UDP 1693450750 1.2.3.129 48030 typ srflx raddr 192.168.1.157 rport 48030
a=candidate:8 1 TCP-ACT 845808127 1.2.3.129 48009 typ srflx raddr 192.168.1.157 rport 48009
a=candidate:8 2 TCP-ACT 845808127 1.2.3.129 48009 typ srflx raddr 192.168.1.157 rport 48009
a=candidate:9 1 TCP-PASS 845414911 1.2.3.129 48009 typ srflx raddr 192.168.1.157 rport 48009
a=candidate:9 2 TCP-PASS 845414911 1.2.3.129 48009 typ srflx raddr 192.168.1.157 rport 48009
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:fGfhfVL7zXqw+cQStxCXPnk00gzVHCIpxn/TCGNm|2^31
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:9 G722/8000
a=rtpmap:10 L16/44100
a=rtpmap:14 MPA-ROBUST/90000
a=rtpmap:96 OPUS/48000
a=rtpmap:97 SIREN/16000
a=fmtp:97 bitrate=16000
a=rtpmap:98 G726-16/8000
a=rtpmap:99 AMR/8000
a=fmtp:99 octet-align=1 crc=0 robust-sorting=0 interleaving=0
a=rtpmap:100 telephone-event/48000
a=fmtp:100 events=0-15
a=rtpmap:101 telephone-event/16000
a=fmtp:101 events=0-15
a=rtpmap:102 telephone-event/8000
a=fmtp:102 events=0-15
a=rtpmap:103 telephone-event/90000
a=fmtp:103 events=0-15
a=rtpmap:104 telephone-event/44100
a=fmtp:104 events=0-15
a=rtcp:48030
a=ice-ufrag:h9PD
a=ice-pwd:vJ/uZMRTNb2OfNNqT3i6li
m=video 46411 RTP/AVP 26 31 32 34 96 98 99 100 101 102 103
a=candidate:10 1 UDP 183501311 1.2.3.148 63559 typ relay raddr 192.168.1.157 rport 46411
a=candidate:10 2 UDP 183501310 1.2.3.148 42583 typ relay raddr 192.168.1.157 rport 54536
a=candidate:11 1 TCP-ACT 90833407 1.2.3.148 45255 typ relay raddr 192.168.1.157 rport 52996
a=candidate:11 2 TCP-ACT 90833407 1.2.3.148 45255 typ relay raddr 192.168.1.157 rport 52996
a=candidate:12 1 TCP-PASS 90440191 1.2.3.148 45255 typ relay raddr 192.168.1.157 rport 52996
a=candidate:12 2 TCP-PASS 90440191 1.2.3.148 45255 typ relay raddr 192.168.1.157 rport 52996
a=candidate:4 1 UDP 2028995071 192.168.1.157 46411 typ host 
a=candidate:4 2 UDP 2028995070 192.168.1.157 54536 typ host 
a=candidate:5 1 TCP-ACT 1013580287 192.168.1.157 52996 typ host 
a=candidate:5 2 TCP-ACT 1013580287 192.168.1.157 52996 typ host 
a=candidate:6 1 TCP-PASS 1013187071 192.168.1.157 52996 typ host 
a=candidate:6 2 TCP-PASS 1013187071 192.168.1.157 52996 typ host 
a=candidate:7 1 UDP 1693450751 1.2.3.129 46411 typ srflx raddr 192.168.1.157 rport 46411
a=candidate:7 2 UDP 1693450750 1.2.3.129 54536 typ srflx raddr 192.168.1.157 rport 54536
a=candidate:8 1 TCP-ACT 845808127 1.2.3.129 52996 typ srflx raddr 192.168.1.157 rport 52996
a=candidate:8 2 TCP-ACT 845808127 1.2.3.129 52996 typ srflx raddr 192.168.1.157 rport 52996
a=candidate:9 1 TCP-PASS 845414911 1.2.3.129 52996 typ srflx raddr 192.168.1.157 rport 52996
a=candidate:9 2 TCP-PASS 845414911 1.2.3.129 52996 typ srflx raddr 192.168.1.157 rport 52996
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:Y9/ORVwgQCqa8CNeAtpumRjnzuv0owcWzM2Vn9b4|2^31
a=rtpmap:26 JPEG/90000
a=rtpmap:31 H261/90000
a=rtpmap:32 MPV/90000
a=rtpmap:34 H263/90000
a=rtpmap:96 RAW/90000
a=rtpmap:98 H265/90000
a=rtpmap:99 X-H264UC/90000
a=fmtp:99 packetization-mode=1;mst-mode=NI-TC
a=rtpmap:100 H263-1998/90000
a=rtpmap:101 DV/90000
a=rtpmap:102 VP9/90000
a=rtpmap:103 VP8/90000
a=rtcp:54536
a=rtcp-fb:* x-message app send:src recv:src
a=x-ssrc-range:1-100
a=rtcp-rsize
a=label:main-video
a=x-source:main-video
a=ice-ufrag:Ey3g
a=ice-pwd:F335mSM2vGFx929u0/g/gC
xhaakon commented 8 years ago

There's already some problem when the remote client replies on the invitation:

SIP/2.0 488 Not Acceptable Here
ms-user-logon-data: RemoteUser
Authentication-Info: NTLM qop="auth", opaque="CEEF6F87", srand="ADCB9C91", snum="37", rspauth="01000000e7327b796275dd0e64000000", targetname="sessmwfe2104.company.se", realm="SIP Communications Service", version=4
Via: SIP/2.0/tls 4.5.6.244:44562;received=1.2.3.129;ms-received-port=44562;ms-received-cid=759FB800
Content-Length: 0
From: "Niklas Andersson"<sip:niklas.andersson@company.com>;tag=111460482;epid=00a9dd127038
CSeq: 1 INVITE
Call-ID: 8F30gF726a1FA5iFBB0m690At6C15bEB75x2F3Bx
To: <sip:remote@company.com>;epid=a7d2d533ee7c;tag=3098817160
Contact: <sip:remote@company.com;opaque=user:epid:hNkC2fC_kliGDGYXngJ4WwAA;gruu>
User-Agent: Purple/3.0.0devel Sipe/1.21.0 (linux-x86_64; RTC/5.0)
ms-diagnostics: 1037;reason="Previous hop client did not report diagnostic information";Domain="company.com";PeerServer="1.2.3.129";source="SESSMWAE202.company.com"

Looks like this is a Pidgin-Pidgin call. That could be the starting point:

User-Agent: Purple/3.0.0devel Sipe/1.21.0 (linux-x86_64; RTC/5.0)
xnandersson commented 8 years ago
(Pidgin:3427): GStreamer-CRITICAL **: gst_element_release_request_pad: assertion 'GST_PAD_PAD_TEMPLATE (pad) == NULL || GST_PAD_TEMPLATE_PRESENCE (GST_PAD_PAD_TEMPLATE (pad)) == GST_PAD_REQUEST' failed
[Thread 0x7fff03fff700 (LWP 4822) exited]
[Thread 0x7fff01ffb700 (LWP 4810) exited]
[Thread 0x7fff4cdb1700 (LWP 4815) exited]
[Thread 0x7fff3d5f6700 (LWP 4811) exited]

Thread 1 "pidgin.orig" received signal SIGSEGV, Segmentation fault.
sipe_core_media_get_call (sipe_public=sipe_public@entry=0x0)
    at sipe-media.c:1362
1362    sipe-media.c: No such file or directory.
(gdb) 
(gdb) bt full
#0  sipe_core_media_get_call (sipe_public=sipe_public@entry=0x0)
    at sipe-media.c:1362
        result = 0x0
        calls = <optimized out>
#1  0x00007fffd1757256 in sipe_media_initiate_call (with_video=1, 
    ice_version=SIPE_ICE_DRAFT_6, 
    with=0x55555699c020 "sip:remote@company.com", 
    sipe_private=0x0) at sipe-media.c:1242
No locals.
#2  maybe_retry_call_with_ice_version (call_private=0x55555675bdb0, 
    ice_version=SIPE_ICE_DRAFT_6, trans=<optimized out>) at sipe-media.c:1733
        i = <optimized out>
        with = 0x55555699c020 "sip:remote@company.com"
        with_video = <optimized out>
        trans = <optimized out>
        ice_version = SIPE_ICE_DRAFT_6
        call_private = 0x55555675bdb0
#3  0x00007fffd1757545 in process_invite_call_response (
    sipe_private=0x555556616430, msg=0x55555675a0a0, trans=0x555556d90e40)
    at sipe-media.c:1824
        ms_diag = <optimized out>
        retry_ice_version = <optimized out>
        title = <optimized out>
---Type <return> to continue, or q <return> to quit---a
        desc = 0x5555566f1d20
        append_responsestr = 0
        with = <optimized out>
        call_private = 0x55555675bdb0
        dialog = <optimized out>
        smsg = <optimized out>
#4  0x00007fffd17295c2 in process_input_message (sipe_private=0x555556616430, 
    msg=0x55555675a0a0) at sip-transport.c:1689
        trans = 0x555556d90e40
        transport = 0x555556546eb0
        notfound = 0
        method = <optimized out>
#5  0x00007fffd1729bf4 in sip_transport_input (conn=<optimized out>)
    at sip-transport.c:1784
        msgbd = {msg = 0x55555675a0a0, protocol = 0x555556a2db10 "NTLM", 
          rand = 0x555556c49c70 "604100B7", num = 0x555556ebaf60 "94", 
          realm = 0x5555568943e0 "SIP Communications Service", 
          target_name = 0x555555cda120 "sessmwfe2104.company.com", 
          call_id = 0x555556885790 "7D9Bg9131aBE6Ei7BCEm1457tC419bA156x0E7Fx", 
          cseq = 0x555556728200 "1", 
          from_url = 0x555556e9e3d0 "sip:niklas.andersson@company.com", 
          from_tag = 0x5555565e1db0 "5657835506", 
          to_url = 0x555556d8a150 "sip:remote@company.com", 
          to_tag = 0x5555566ddaf0 "490109988", 
          p_assertet_identity_sip_uri = 0x7fffd17647a8 "", 
          p_assertet_identity_tel_uri = 0x7fffd17647a8 "", expires = 0x0}
        signature_input_str = 0x555556d0c3f0 "<NTLM><604100B7><94><SIP Communications Service><sessmwfe2104.ericsson.se><7D9Bg9131aBE6Ei7BCEm1457tC419bA156x0E7Fx><1><INVITE><sip:niklas.andersson@company.com><5657835506><sip:remote@"...
        rspauth = 0x555556ea1e30 "01000000db400baa24d43ac964000000"
        msg = 0x55555675a0a0
        remainder = <optimized out>
        sipe_private = 0x555556616430
        transport = 0x555556546eb0
        cur = <optimized out>
#6  0x00007ffff1c83250 in recv_cb (source=<optimized out>, 
    data=<optimized out>) at sslconn.c:183
        gsc = <optimized out>
#7  0x00007fff78499284 in ?? ()
   from /usr/lib/x86_64-linux-gnu/gio/modules/libgiognutls.so
No symbol table info available.
#8  0x00007ffff7808fda in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#9  0x00007ffff7809380 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#10 0x00007ffff78096a2 in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#11 0x00007ffff36f26f5 in gtk_main ()
   from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#12 0x00007ffff7b93e94 in pidgin_start (argc=1, argv=0x7fffffffde68)
    at libpidgin.c:850
        opt_force_online = 0
        opt_help = <optimized out>
        opt_login = 0
        opt_nologin = 0
        opt_version = 0
        opt_si = 1
        opt_config_dir_arg = 0x0
        opt_login_arg = <optimized out>
        opt_session_arg = 0x0
        search_path = <optimized out>
        provider = <optimized out>
        screen = <optimized out>
---Type <return> to continue, or q <return> to quit---
        accounts = <optimized out>
        sig_indx = 1
        sigset = {__val = {82950, 0 <repeats 15 times>}}
        errmsg = "d\005\213\021\226\002\v \nH\200\020D\n.\000\b\000\000\004\006@\000\004\265/\b\v\250\020!Q b\204P\002\002\b\005R@\004A\240\344\003\300G\033&\260\306@r\225\000.\vL\202\t\030\213\221\346\\\004\002\017\324l]\000\000\000_\000\000\000`\000\000\000\000\000\000\000a\000\000\000b\000\000\000d\000\000\000e\000\000\000f\000\000\000g\000\000\000j\000\000\000\000\000\000\000l\000\000\000n\000\000\000p\000\000\000q\000\000\000u\000\000\000w\000\000\000y", '\000' <repeats 11 times>, "z\000\000\000{\000\000\000\000\000\000\000}\000\000\000~\000\000\000\177\000\000\000\000\000\000\000\202\000\000\000\203\000\000\000\000\000\000\000\204\000\000\000\000\000\000\000"...
        signal_channel = <optimized out>
        signal_status = <optimized out>
        signal_channel_watcher = 1
        error = 0x555555876190
        segfault_message_tmp = <optimized out>
        opt = <optimized out>
        gui_check = <optimized out>
        debug_enabled = <optimized out>
        debug_colored = <optimized out>
        active_accounts = <optimized out>
        st = {st_dev = 64513, st_ino = 10497423, st_nlink = 2, 
          st_mode = 16832, st_uid = 1000, st_gid = 1000, __pad0 = 0, 
          st_rdev = 0, st_size = 4096, st_blksize = 4096, st_blocks = 8, 
          st_atim = {tv_sec = 1461925367, tv_nsec = 390211044}, st_mtim = {
            tv_sec = 1431420985, tv_nsec = 949274814}, st_ctim = {
            tv_sec = 1431420985, tv_nsec = 949274814}, __glibc_reserved = {0, 
            0, 0}}
        long_options = {{name = 0x7ffff7ba9788 "config", has_arg = 1, 
            flag = 0x0, val = 99}, {name = 0x7ffff7b96d08 "debug", 
            has_arg = 2, flag = 0x0, val = 100}, {
            name = 0x7ffff7badeaa "force-online", has_arg = 0, flag = 0x0, 
            val = 102}, {name = 0x7ffff7b98916 "help", has_arg = 0, 
            flag = 0x0, val = 104}, {name = 0x7ffff7badd8f "login", 
            has_arg = 2, flag = 0x0, val = 108}, {
            name = 0x7ffff7badeb7 "multiple", has_arg = 0, flag = 0x0, 
            val = 109}, {name = 0x7ffff7badec0 "nologin", has_arg = 0, 
            flag = 0x0, val = 110}, {name = 0x7ffff7ba977e "session", 
            has_arg = 1, flag = 0x0, val = 115}, {
            name = 0x7ffff7b9b900 "version", has_arg = 0, flag = 0x0, 
            val = 118}, {name = 0x7ffff7ba9791 "display", has_arg = 1, 
            flag = 0x0, val = 68}, {name = 0x7ffff7ba5423 "sync", has_arg = 0, 
            flag = 0x0, val = 83}, {name = 0x0, has_arg = 0, flag = 0x0, 
            val = 0}}
#13 0x00007ffff71f9830 in __libc_start_main (main=0x5555555548c0 <main>, 
    argc=1, argv=0x7fffffffde68, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fffffffde58)
    at ../csu/libc-start.c:291
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -6054087026801569774, 
                93824992233760, 140737488346720, 0, 0, -94898049734602734, 
                -94914819777294318}, mask_was_saved = 0}}, priv = {pad = {0x0, 
              0x0, 0x7fffffffde78, 0x7ffff7ffe168}, data = {prev = 0x0, 
              cleanup = 0x0, canceltype = -8584}}}
        not_first_call = <optimized out>
#14 0x0000555555554949 in _start ()
No symbol table info available.
(gdb) 
xhaakon commented 8 years ago

There seems to be nothing wrong with your invite SDP message itself. 488 Not Acceptable Here comes from error_cb in sipe-media.c, but your log doesn't show the actual error that happened on the side of the person being called.

Please collect the log from your colleague's Pidgin.

xhaakon commented 8 years ago

I couldn't reproduce the crash, but turns out Pidgin can send 488 Not Acceptable Here when the participant has some problem with webcam or has no webcam at all. I did the following changes that should prevent the problem or at least improve how Pidgin behaves:

Please test this version:

pidgin - 1:3.0.0~collab-0.20635+201605030724~ubuntu16.04.1
pidgin - 1:3.0.0~collab-0.20635+201605030725~ubuntu15.10.1
pidgin - 1:3.0.0~collab-0.20635+201605030725~ubuntu15.04.1
xhaakon commented 8 years ago

Two weeks since the fix release have passed without any further reports, so I consider this issue fixed and am closing it.