SDP-related segfault
I rarely get segfault like this (Rust app):
Thread 709 "pool-streaming-" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f5e9cff1700 (LWP 3306)]
tcache_get (tc_idx=<optimized out>) at malloc.c:2937
2937 malloc.c: No such file or directory.
(gdb)bt
#0 tcache_get (tc_idx=<optimized out>) at malloc.c:2937
#1 __GI___libc_malloc (bytes=8) at malloc.c:3051
#2 0x00007f5fa9167cd9 in g_malloc () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f5fa9181f94 in g_strdup () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f5fa90fc8a9 in gst_sdp_message_set_origin
(msg=msg@entry=0x7f5de4004c10, username=0x7f5f9c011330 "-", sess_id=0x7f5f9c013e90 "10000", sess_version=0x7f5f9c012c30 "8", nettype=0x7f5f9c012d20 "IN", addrtype=0x7f5f9c012c70 "IP4", addr=0x7f5f9c097b10 "0.0.0.0") at ../gst-libs/gst/sdp/gstsdpmessage.c:834
#5 0x00007f5fa9100617 in gst_sdp_message_copy (copy=0x8, msg=0x7f5f9c013f10) at ../gst-libs/gst/sdp/gstsdpmessage.c:356
#6 gst_sdp_message_copy (msg=0x7f5f9c013f10, copy=copy@entry=0x7f5de4001578) at ../gst-libs/gst/sdp/gstsdpmessage.c:340
#7 0x00007f5fa946eff4 in gst_webrtc_session_description_copy (src=0x7f5de4004bf0) at ../gst-libs/gst/webrtc/rtcsessiondescription.c:78
#8 0x00007f5fa924b75b in g_boxed_copy () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9 0x00007f5fa924ba92 in g_value_set_boxed () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x0000559f280dc34a in <gstreamer_webrtc::auto::web_rtc_session_description::WebRTCSessionDescription as glib::value::SetValue>::set_value
(value=0x7f5e9cfeeeb8, this=0x7f5e9cfef450) at /rust/.cargo/registry/src/github.com-1ecc6299db9ec823/glib-0.10.1/src/boxed.rs:279
#11 0x0000559f27e74031 in <T as glib::value::ToValue>::to_value (self=0x7f5e9cfef450)
at /rust/.cargo/registry/src/github.com-1ecc6299db9ec823/glib-0.10.1/src/value.rs:745
#12 0x0000559f2809d243 in <T as glib::object::ObjectExt>::emit (self=0x7f5e9cfef440, signal_name=..., args=...)
at /rust/.cargo/registry/src/github.com-1ecc6299db9ec823/glib-0.10.1/src/object.rs:1974
#13 0x0000559f27f85438 in streaming_webrtc_ingest::stream::setup::consume_offer::{{closure}} (pipeline=0x7f5e9cfef6f0)
at src/stream/setup.rs:940
#14 0x0000559f27fc8c9a in <O as gstreamer::element::ElementExtManual>::call_async::trampoline (element=0x7f5fa4023730, user_data=0x7f5f9c012df0)
at /rust/.cargo/registry/src/github.com-1ecc6299db9ec823/gstreamer-0.16.2/src/element.rs:786
#15 0x00007f5fa9301252 in gst_element_call_async_func (data=0x7f5f9c097000, user_data=<optimized out>) at ../gst/gstelement.c:3784
#16 0x00007f5fa918c1d4 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f5fa918b931 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007f5fa8c9b609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#19 0x00007f5fa8ba5103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Only happens occasionally without any apparent reason. This is on master branch as of a few days ago.
SDP that corresponds to the crash:
v=0
o=- 10000 8 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-lite
a=fingerprint:sha-512 49:81:24:2A:A1:94:A4:AB:FE:EE:C7:C5:76:1F:B6:26:5D:26:0D:3A:29:64:9A:98:1F:AE:5F:BB:94:23:A7:64:0B:27:72:4F:01:56:BD:31:40:90:4E:CF:73:F6:4E:DA:0A:D6:CB:8C:8E:3A:DC:DD:E7:C5:1D:C9:81:58:7A:D7
a=msid-semantic: WMS *
a=group:BUNDLE 0 1 probator 2 3 4 5 7
m=audio 7 UDP/TLS/RTP/SAVPF 100
c=IN IP4 127.0.0.1
a=rtpmap:100 opus/48000/2
a=fmtp:100 minptime=10;useinbandfec=1
a=setup:actpass
a=mid:0
a=msid:zPz/ZKhXilRZ3NQU 200c59f8-b331-4814-a2ca-3710db79c219
a=sendonly
a=ice-ufrag:3xcj56o6sr8xylp9
a=ice-pwd:0e98ujt31opy7a22xf6lr46omlmbsjr3
a=candidate:udpcandidate 1 udp 1076302079 127.0.0.1 40005 typ host
a=end-of-candidates
a=ice-options:renomination
a=ssrc:536532060 cname:zPz/ZKhXilRZ3NQU
a=rtcp-mux
a=rtcp-rsize
m=video 7 UDP/TLS/RTP/SAVPF 101 102
c=IN IP4 127.0.0.1
a=rtpmap:101 VP8/90000
a=rtpmap:102 rtx/90000
a=fmtp:102 apt=101
a=rtcp-fb:101 ccm fir
a=rtcp-fb:101 nack
a=rtcp-fb:101 nack pli
a=setup:actpass
a=mid:1
a=msid:zPz/ZKhXilRZ3NQU f29363d3-ab80-4cf1-aa7d-6a6dfd3e3d5b
a=sendonly
a=ice-ufrag:3xcj56o6sr8xylp9
a=ice-pwd:0e98ujt31opy7a22xf6lr46omlmbsjr3
a=candidate:udpcandidate 1 udp 1076302079 127.0.0.1 40005 typ host
a=end-of-candidates
a=ice-options:renomination
a=ssrc:682681082 cname:zPz/ZKhXilRZ3NQU
a=ssrc:723098977 cname:zPz/ZKhXilRZ3NQU
a=ssrc-group:FID 682681082 723098977
a=rtcp-mux
a=rtcp-rsize
m=video 7 UDP/TLS/RTP/SAVPF 127
c=IN IP4 127.0.0.1
a=rtpmap:127 VP8/90000
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=setup:actpass
a=mid:probator
a=msid:probator probator
a=sendonly
a=ice-ufrag:3xcj56o6sr8xylp9
a=ice-pwd:0e98ujt31opy7a22xf6lr46omlmbsjr3
a=candidate:udpcandidate 1 udp 1076302079 127.0.0.1 40005 typ host
a=end-of-candidates
a=ice-options:renomination
a=ssrc:1234 cname:probator
a=rtcp-mux
a=rtcp-rsize
m=video 7 UDP/TLS/RTP/SAVPF 101 102
c=IN IP4 127.0.0.1
a=rtpmap:101 VP8/90000
a=rtpmap:102 rtx/90000
a=fmtp:102 apt=101
a=rtcp-fb:101 ccm fir
a=rtcp-fb:101 nack
a=rtcp-fb:101 nack pli
a=setup:actpass
a=mid:2
a=msid:zPz/ZKhXilRZ3NQU 0d29cb2b-d6cd-47c0-a842-858edf0ea33a
a=sendonly
a=ice-ufrag:3xcj56o6sr8xylp9
a=ice-pwd:0e98ujt31opy7a22xf6lr46omlmbsjr3
a=candidate:udpcandidate 1 udp 1076302079 127.0.0.1 40005 typ host
a=end-of-candidates
a=ice-options:renomination
a=ssrc:398130133 cname:zPz/ZKhXilRZ3NQU
a=ssrc:330001959 cname:zPz/ZKhXilRZ3NQU
a=ssrc-group:FID 398130133 330001959
a=rtcp-mux
a=rtcp-rsize
m=video 7 UDP/TLS/RTP/SAVPF 101 102
c=IN IP4 127.0.0.1
a=rtpmap:101 VP8/90000
a=rtpmap:102 rtx/90000
a=fmtp:102 apt=101
a=rtcp-fb:101 ccm fir
a=rtcp-fb:101 nack
a=rtcp-fb:101 nack pli
a=setup:actpass
a=mid:3
a=msid:zPz/ZKhXilRZ3NQU 4f62b997-62fd-4166-871b-17fec363cecc
a=sendonly
a=ice-ufrag:3xcj56o6sr8xylp9
a=ice-pwd:0e98ujt31opy7a22xf6lr46omlmbsjr3
a=candidate:udpcandidate 1 udp 1076302079 127.0.0.1 40005 typ host
a=end-of-candidates
a=ice-options:renomination
a=ssrc:609394548 cname:zPz/ZKhXilRZ3NQU
a=ssrc:278972868 cname:zPz/ZKhXilRZ3NQU
a=ssrc-group:FID 609394548 278972868
a=rtcp-mux
a=rtcp-rsize
m=video 7 UDP/TLS/RTP/SAVPF 101 102
c=IN IP4 127.0.0.1
a=rtpmap:101 VP8/90000
a=rtpmap:102 rtx/90000
a=fmtp:102 apt=101
a=rtcp-fb:101 ccm fir
a=rtcp-fb:101 nack
a=rtcp-fb:101 nack pli
a=setup:actpass
a=mid:4
a=msid:zPz/ZKhXilRZ3NQU 7ce90893-70d5-4984-a85b-3e5162251e06
a=sendonly
a=ice-ufrag:3xcj56o6sr8xylp9
a=ice-pwd:0e98ujt31opy7a22xf6lr46omlmbsjr3
a=candidate:udpcandidate 1 udp 1076302079 127.0.0.1 40005 typ host
a=end-of-candidates
a=ice-options:renomination
a=ssrc:840182501 cname:zPz/ZKhXilRZ3NQU
a=ssrc:701958329 cname:zPz/ZKhXilRZ3NQU
a=ssrc-group:FID 840182501 701958329
a=rtcp-mux
a=rtcp-rsize
m=audio 7 UDP/TLS/RTP/SAVPF 100
c=IN IP4 127.0.0.1
a=rtpmap:100 opus/48000/2
a=fmtp:100 minptime=10;useinbandfec=1
a=setup:actpass
a=mid:5
a=msid:L7IZHwh45jGmD0nX ec4bd1e9-6f39-4aab-a0f3-9f445062fc66
a=sendonly
a=ice-ufrag:3xcj56o6sr8xylp9
a=ice-pwd:0e98ujt31opy7a22xf6lr46omlmbsjr3
a=candidate:udpcandidate 1 udp 1076302079 127.0.0.1 40005 typ host
a=end-of-candidates
a=ice-options:renomination
a=ssrc:795290300 cname:L7IZHwh45jGmD0nX
a=rtcp-mux
a=rtcp-rsize
m=video 0 UDP/TLS/RTP/SAVPF 101 102
c=IN IP4 127.0.0.1
a=rtpmap:101 VP8/90000
a=rtpmap:102 rtx/90000
a=fmtp:102 apt=101
a=rtcp-fb:101 ccm fir
a=rtcp-fb:101 nack
a=rtcp-fb:101 nack pli
a=setup:actpass
a=mid:6
a=msid:L7IZHwh45jGmD0nX 41e437d5-548c-4694-8812-ad94088ea5c0
a=inactive
a=ice-ufrag:3xcj56o6sr8xylp9
a=ice-pwd:0e98ujt31opy7a22xf6lr46omlmbsjr3
a=candidate:udpcandidate 1 udp 1076302079 127.0.0.1 40005 typ host
a=end-of-candidates
a=ice-options:renomination
a=rtcp-mux
a=rtcp-rsize
m=video 7 UDP/TLS/RTP/SAVPF 101 102
c=IN IP4 127.0.0.1
a=rtpmap:101 VP8/90000
a=rtpmap:102 rtx/90000
a=fmtp:102 apt=101
a=rtcp-fb:101 ccm fir
a=rtcp-fb:101 nack
a=rtcp-fb:101 nack pli
a=setup:actpass
a=mid:7
a=msid:zPz/ZKhXilRZ3NQU 0d3ac1b2-a02f-42a4-bb0a-dd0fa20617ce
a=sendonly
a=ice-ufrag:3xcj56o6sr8xylp9
a=ice-pwd:0e98ujt31opy7a22xf6lr46omlmbsjr3
a=candidate:udpcandidate 1 udp 1076302079 127.0.0.1 40005 typ host
a=end-of-candidates
a=ice-options:renomination
a=ssrc:186812132 cname:zPz/ZKhXilRZ3NQU
a=ssrc:283797745 cname:zPz/ZKhXilRZ3NQU
a=ssrc-group:FID 186812132 283797745
a=rtcp-mux
a=rtcp-rsize