Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rtpengine terminates on websocket connection #27

Closed
abhishekSaini opened this issue Sep 18, 2014 · 15 comments
Closed

rtpengine terminates on websocket connection #27

abhishekSaini opened this issue Sep 18, 2014 · 15 comments

Comments

@abhishekSaini
Copy link

Hi,

When i make SIP call from webrtc to any other end point. The rtpengine service seems to crash and has to be started again, following is what i see in syslog:

kernel: [4222780.657197] traps: rtpengine[10188] general protection ip:418f33 sp:7f88520c3438 error:0 in rtpengine[400000+28000]

I am relatively new to this thing, How can i get rtpengine to work? (same thing happens with mediapoxy-ng).

Regards

@rfuchs
Copy link
Member

rfuchs commented Sep 18, 2014

Can you please post the log output from rtpengine leading up to the crash: everything from the log that relates to the call that triggered the crash. Also, if you have a core dump, load it up in gdb and post a backtrace ("bt full"). If you don't have a core dump, consider enabling them and reproduce the crash.

As a general suggestion on a hunch, make sure you have a recent version of OpenSSL installed.

@abhishekSaini
Copy link
Author

Hi,

Sorry, as i said, i am relatively new to these things. How can i get rtpengine dump?, I tried gdb rtpengine, then run (with arguments). The only output i received was: Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Inferior 1 (process 19816) exited normally]

Here the data from syslog:

Sep 19 06:55:01 ip-172-31-47-138 rtpengine[19816]: Generating new DTLS certificate
Sep 19 06:55:01 ip-172-31-47-138 rtpengine[19816]: Generating new DTLS certificate
Sep 19 06:55:01 ip-172-31-47-138 rtpengine[19820]: Startup complete, version git-master-34ca29b
Sep 19 06:55:01 ip-172-31-47-138 rtpengine[19820]: Startup complete, version git-master-34ca29b
Sep 19 06:56:42 ip-172-31-47-138 /usr/local/sbin/kamailio[19229]: INFO: <script>: Request going to WS
Sep 19 06:56:42 ip-172-31-47-138 rtpengine[19820]: Got valid command from 127.0.0.1:43849: ping - { "command": "ping" }
Sep 19 06:56:42 ip-172-31-47-138 rtpengine[19820]: Returning to SIP proxy: d6:result4:ponge
Sep 19 06:56:42 ip-172-31-47-138 rtpengine[19820]: Got valid command from 127.0.0.1:43849: ping - { "command": "ping" }
Sep 19 06:56:42 ip-172-31-47-138 rtpengine[19820]: Returning to SIP proxy: d6:result4:ponge
Sep 19 06:56:42 ip-172-31-47-138 /usr/local/sbin/kamailio[19229]: INFO: rtpengine [rtpengine.c:1547]: rtpp_test(): rtp proxy <udp:127.0.0.1:7722> found, support for it re-enabled
Sep 19 06:56:42 ip-172-31-47-138 rtpengine[19820]: Got valid command from 127.0.0.1:43849: offer - { "sdp": "v=0#015#012o=Mozilla-SIPUA-31.0 9087 1 IN IP4 0.0.0.0#015#012s=Doubango Telecom - firefox#015#012t=0 0#015#012a=ice-ufrag:3050dd5e#015#012a=ice-pwd:011df3a10b204677c0a15dc3c1c5a2fd#015#012a=fingerprint:sha-256 00:92:CE:FC:31:AB:0C:53:DD:7B:C7:2B:27:6A:34:42:66:79:F7:F8:15:FE:D6:DF:4D:70:01:A7:15:47:FF:1F#015#012m=audio 52746 UDP/TLS/RTP/SAVPF 109 0 8 101#015#012c=IN IP4 203.92.41.2#015#012a=rtpmap:109 opus/48000/2#015#012a=ptime:20#015#012a=rtpmap:0 PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:101 telephon ...
Sep 19 06:56:42 ip-172-31-47-138 rtpengine[19820]: ... e-event/8000#015#012a=fmtp:101 0-15#015#012a=sendrecv#015#012a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=setup:actpass#015#012a=candidate:0 1 UDP 2122252543 192.168.1.15 52746 typ host#015#012a=candidate:1 1 UDP 1686110207 203.92.41.2 52746 typ srflx raddr 192.168.1.15 rport 52746#015#012a=candidate:0 2 UDP 2122252542 192.168.1.15 51965 typ host#015#012a=candidate:1 2 UDP 1686110206 203.92.41.2 51965 typ srflx raddr 192.168.1.15 rport 51965#015#012a=rtcp-mux#015#012", "ICE": "force", "flags": [ "trust-address" ], "replace": [ "origin" ...
Sep 19 06:56:42 ip-172-31-47-138 rtpengine[19820]: Got valid command from 127.0.0.1:43849: offer - { "sdp": "v=0#015#012o=Mozilla-SIPUA-31.0 9087 1 IN IP4 0.0.0.0#015#012s=Doubango Telecom - firefox#015#012t=0 0#015#012a=ice-ufrag:3050dd5e#015#012a=ice-pwd:011df3a10b204677c0a15dc3c1c5a2fd#015#012a=fingerprint:sha-256 00:92:CE:FC:31:AB:0C:53:DD:7B:C7:2B:27:6A:34:42:66:79:F7:F8:15:FE:D6:DF:4D:70:01:A7:15:47:FF:1F#015#012m=audio 52746 UDP/TLS/RTP/SAVPF 109 0 8 101#015#012c=IN IP4 203.92.41.2#015#012a=rtpmap:109 opus/48000/2#015#012a=ptime:20#015#012a=rtpmap:0 PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:101 telephon ...
Sep 19 06:56:42 ip-172-31-47-138 rtpengine[19820]: ... e-event/8000#015#012a=fmtp:101 0-15#015#012a=sendrecv#015#012a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=setup:actpass#015#012a=candidate:0 1 UDP 2122252543 192.168.1.15 52746 typ host#015#012a=candidate:1 1 UDP 1686110207 203.92.41.2 52746 typ srflx raddr 192.168.1.15 rport 52746#015#012a=candidate:0 2 UDP 2122252542 192.168.1.15 51965 typ host#015#012a=candidate:1 2 UDP 1686110206 203.92.41.2 51965 typ srflx raddr 192.168.1.15 rport 51965#015#012a=rtcp-mux#015#012", "ICE": "force", "flags": [ "trust-address" ], "replace": [ "origin" ...
Sep 19 06:56:42 ip-172-31-47-138 rtpengine[19820]: ... , "session-connection" ], "transport-protocol": "RTP/SAVPF", "call-id": "10176ea0-0c14-4e86-0e04-5da68a4bf913", "received-from": [ "IP4", "203.92.41.2" ], "from-tag": "TuxJghRJNuqtccPD5bwJ", "command": "offer" }
Sep 19 06:56:42 ip-172-31-47-138 rtpengine[19820]: ... , "session-connection" ], "transport-protocol": "RTP/SAVPF", "call-id": "10176ea0-0c14-4e86-0e04-5da68a4bf913", "received-from": [ "IP4", "203.92.41.2" ], "from-tag": "TuxJghRJNuqtccPD5bwJ", "command": "offer" }
Sep 19 06:56:42 ip-172-31-47-138 kernel: [4306331.445488] traps: rtpengine[19823] general protection ip:41e313 sp:7ffff078b418 error:0 in rtpengine[400000+30000]
Sep 19 06:56:42 ip-172-31-47-138 kernel: [4306331.445488] traps: rtpengine[19823] general protection ip:41e313 sp:7ffff078b418 error:0 in rtpengine[400000+30000]
Sep 19 06:56:43 ip-172-31-47-138 /usr/local/sbin/kamailio[19229]: ERROR: rtpengine [rtpengine.c:1630]: send_rtpp_command(): can't send command to a RTP proxy
Sep 19 06:56:43 ip-172-31-47-138 /usr/local/sbin/kamailio[19229]: ERROR: rtpengine [rtpengine.c:1666]: send_rtpp_command(): proxy <udp:127.0.0.1:7722> does not respond, disable it
Sep 19 06:56:43 ip-172-31-47-138 /usr/local/sbin/kamailio[19229]: ERROR: rtpengine [rtpengine.c:1442]: rtpp_function_call(): no available proxies
Sep 19 06:56:43 ip-172-31-47-138 /usr/local/sbin/kamailio[19232]: INFO: <script>: Reply from webrtc client: 100
Sep 19 06:56:43 ip-172-31-47-138 /usr/local/sbin/kamailio[19232]: INFO: <script>: Reply from webrtc client: 180
Sep 19 06:56:47 ip-172-31-47-138 /usr/local/sbin/kamailio[19232]: INFO: <script>: Reply from webrtc client: 200
Sep 19 06:56:47 ip-172-31-47-138 /usr/local/sbin/kamailio[19232]: ERROR: rtpengine [rtpengine.c:1442]: rtpp_function_call(): no available proxies
Sep 19 06:56:47 ip-172-31-47-138 /usr/local/sbin/kamailio[19229]: ERROR: <script>: ==> duri=[sip:abc.com:5060;nat=yes;lr=on]
Sep 19 06:56:47 ip-172-31-47-138 /usr/local/sbin/kamailio[19213]: ERROR: <script>: ==> duri=[sip:203.92.41.2:58980;transport=ws]
Sep 19 06:56:47 ip-172-31-47-138 /usr/local/sbin/kamailio[19232]: INFO: <script>: Reply from webrtc client: 200
Sep 19 06:56:47 ip-172-31-47-138 /usr/local/sbin/kamailio[19232]: ERROR: rtpengine [rtpengine.c:1442]: rtpp_function_call(): no available proxies
Sep 19 06:58:30 ip-172-31-47-138 dhclient: DHCPREQUEST of 172.31.47.138 on eth0 to 172.31.32.1 port 67 (xid=0x3c904ee8)
Sep 19 06:58:30 ip-172-31-47-138 dhclient: DHCPREQUEST of 172.31.47.138 on eth0 to 172.31.32.1 port 67 (xid=0x3c904ee8)
Sep 19 06:58:30 ip-172-31-47-138 dhclient: DHCPACK of 172.31.47.138 from 172.31.32.1
Sep 19 06:58:30 ip-172-31-47-138 dhclient: DHCPACK of 172.31.47.138 from 172.31.32.1
Sep 19 06:58:30 ip-172-31-47-138 dhclient: bound to 172.31.47.138 -- renewal in 1750 seconds.
Sep 19 06:58:30 ip-172-31-47-138 dhclient: bound to 172.31.47.138 -- renewal in 1750 seconds.

-OpenSSL is intalled and is of latest version.

Please suggest me on how can i take the dump (reference would be useful)

Regards

@abhishekSaini
Copy link
Author

Ok, I have got the full backtrace finally, here it is:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  str_hash (ss=<optimized out>) at str.c:12
12          ret ^= *x;
(gdb) bt full
#0  str_hash (ss=<optimized out>) at str.c:12
        x = <optimized out>
        s = <optimized out>
        ret = <optimized out>
        it = {s = <optimized out>, len = 36}
#1  0x00007f965675d569 in g_hash_table_lookup ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x0000000000413925 in call_get_or_create (callid=0x7f964e8e6520, 
    m=0xd5d000) at call.c:2492
        c = <optimized out>
#3  0x0000000000413ba1 in call_get_opmode (callid=callid@entry=0x7f964e8e6520, 
    m=m@entry=0xd5d000, opmode=opmode@entry=OP_OFFER) at call.c:2540
No locals.
#4  0x0000000000421f47 in call_offer_answer_ng (
    input=input@entry=0x7f963c001e78, m=0xd5d000, 
    output=output@entry=0x7f963c001e18, opmode=opmode@entry=OP_OFFER)
    at call_interfaces.c:591
        sdp = {
          s = 0x7f964e8e6822 "v=0\r\no=Mozilla-SIPUA-31.0 9356 1 IN IP4 0.0.0.0\r\ns=Doubango Telecom - firefox\r\nt=0 0\r\na=ice-ufrag:1c2e4b2b\r\na=ice-pwd:47e6e97d8db8b873c2eb146d0364ebcc\r\na=fingerprint:sha-256 D0:C4:6A:04:18:6A:48:3F:E1"..., len = 872}
fromtag = {s = 0x7f964e8e6c59 "KD9nZOE5yTdKvEilfmvJ7:command5:offere", 
          len = 20}
        totag = {s = 0x0, len = 0}
        callid = {
          s = 0x7f964e8e6c03 "8aae83ad-1503-3b5b-18f4-f3404c253a7113:received-froml3:IP411:203.92.41.2e8:from-tag20:KD9nZOE5yTdKvEilfmvJ7:command5:offere", 
          len = 36}
        errstr = 0x42ac68 "Incomplete SDP specification"
        parsed = {head = 0x7f963c001720, tail = 0x7f963c001720, length = 1}
        streams = {head = 0x7f963c001680, tail = 0x7f963c001680, length = 1}
        call = <optimized out>
        monologue = <optimized out>
        ret = <optimized out>
        flags = {opmode = OP_OFFER, received_from_family = {
            s = 0x7f964e8e6c3a "IP411:203.92.41.2e8:from-tag20:KD9nZOE5yTdKvEilfmvJ7:command5:offere", len = 3}, received_from_address = {
            s = 0x7f964e8e6c40 "203.92.41.2e8:from-tag20:KD9nZOE5yTdKvEilfmvJ7:command5:offere", len = 11}, media_address = {s = 0x0, len = 0}, 
          transport_protocol_str = {
            s = 0x7f964e8e6bee "RTP/SAVPF7:call-id36:8aae83ad-1503-3b5b-18f4-f3404c253a7113:received-froml3:IP411:203.92.41.2e8:from-tag20:KD9nZOE5yTdKvEilfmvJ7:command5:offere", len = 9}, address_family_str = {s = 0x0, len = 0}, 
          transport_protocol = 0x4288e8 <transport_protocols+72>, 
---Type <return> to continue, or q <return> to quit---
          parsed_received_from = {__in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 
                0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, 
          parsed_media_address = {__in6_u = {
              __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 
                0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, direction = {{
              s = 0x0, len = 0}, {s = 0x0, len = 0}}, address_family = 0, 
          tos = 256, asymmetric = 0, trust_address = -1, replace_origin = -1, 
          replace_sess_conn = -1, ice_remove = 0, ice_force = -1, 
          ice_force_relay = 0, rtcp_mux_offer = 0, rtcp_mux_demux = 0, 
          rtcp_mux_accept = 0, rtcp_mux_reject = 0, strict_source = 0, 
          media_handover = 0}
        chopper = <optimized out>
#5  0x0000000000424377 in call_offer_ng (input=input@entry=0x7f963c001e78, 
    m=<optimized out>, output=output@entry=0x7f963c001e18)
    at call_interfaces.c:635
No locals.
#6  0x0000000000419281 in control_ng_incoming (obj=0xd5f830, 
    buf=<optimized out>, sin=0x7f964e8e67b0, 
    addr=0x7f964e8e67d0 "127.0.0.1:43146") at control_ng.c:113
        c = 0xd5f830
        bencbuf = {pieces = 0x7f963c003bb0, free_list = 0x0, error = 0}
        resp = 0x7f963c001e18
cmd = {s = 0x7f964e8e6c78 "offere", len = <optimized out>}
        cookie = {s = 0x7f964e8e6810 "20705_3", len = 7}
        data = {
          s = 0x7f964e8e6818 "d3:sdp872:v=0\r\no=Mozilla-SIPUA-31.0 9356 1 IN IP4 0.0.0.0\r\ns=Doubango Telecom - firefox\r\nt=0 0\r\na=ice-ufrag:1c2e4b2b\r\na=ice-pwd:47e6e97d8db8b873c2eb146d0364ebcc\r\na=fingerprint:sha-256 D0:C4:6A:04:18:6"..., len = 1126}
        reply = {s = 0x7f963c0033f6 "", len = 40}
        to_send = <optimized out>
        errstr = 0x0
        mh = {msg_name = 0x7f964e8e67b0, msg_namelen = 28, 
          msg_iov = 0x2e302e302e373231, msg_iovlen = 49, msg_control = 0x0, 
          msg_controllen = 0, msg_flags = 0}
        iov = {{iov_base = 0x7f964e8e6810, iov_len = 7}, {iov_base = 0xa88a, 
            iov_len = 18374403900871474992}, {iov_base = 0x7f963c0033f6, 
            iov_len = 16}}
        log_str = 0x7f963c001700
#7  0x0000000000418a21 in udp_listener_incoming (fd=5, p=0xd5c470, 
    x=<optimized out>) at udp_listener.c:52
        cb = 0xd5c470
        sin = {sin6_family = 10, sin6_port = 35496, sin6_flowinfo = 0, 
          sin6_addr = {__in6_u = {
              __u6_addr8 = "\000\000\000\000\000\000\000\000\000\000\377\377\177
\000\000\001", __u6_addr16 = {0, 0, 0, 0, 0, 65535, 127, 256}, __u6_addr32 = {
                0, 0, 4294901760, 16777343}}}, sin6_scope_id = 0}
        sin_len = 28
        len = <optimized out>
        buf = "20705_3\000d3:sdp872:v=0\r\no=Mozilla-SIPUA-31.0 9356 1 IN IP4 0.0.0.0\r\ns=Doubango Telecom - firefox\r\nt=0 0\r\na=ice-ufrag:1c2e4b2b\r\na=ice-pwd:47e6e97d8db8b873c2eb146d0364ebcc\r\na=fingerprint:sha-256 D0:C4:6A"...
        addr = "127.0.0.1:43146", '\000' <repeats 48 times>
        str = {s = 0x7f964e8e6810 "20705_3", len = 1134}
#8  0x000000000040d8fe in poller_poll (p=p@entry=0xd5b360, 
    timeout=timeout@entry=100) at poller.c:354
        ret = 1
        i = <optimized out>
        it = 0xd3f180
        evs = {{events = 1, data = {ptr = 0x5, fd = 5, u32 = 5, u64 = 5}}, {
            events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, 
              u64 = 0}} <repeats 87 times>, {events = 1318022352, data = {
              ptr = 0xb170933100007f96, fd = 32662, u32 = 32662, 
              u64 = 12785881180767551382}}, {events = 4294934633, data = {
              ptr = 0x7f964e8f6ccf, fd = 1318022351, u32 = 1318022351, 
              u64 = 140283539844303}}, {events = 0, data = {ptr = 0x0, fd = 0, 
              u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x420, fd = 1056, 
              u32 = 1056, u64 = 1056}}, {events = 2976944833, data = {
ptr = 0x43ffff8069, fd = -32663, u32 = 4294934633, 
              u64 = 292057743465}}, {events = 0, data = {ptr = 0x10, fd = 16, 
              u32 = 16, u64 = 16}}, {events = 64, data = {
              ptr = 0x4e8f6d4000000000, fd = 0, u32 = 0, 
              u64 = 5660863378273337344}}, {events = 32662, data = {ptr = 0x2, 
              fd = 2, u32 = 2, u64 = 2}}, {events = 8, data = {ptr = 0x5d, 
              fd = 93, u32 = 93, u64 = 93}}, {events = 0, data = {ptr = 0x0, 
              fd = 0, u32 = 0, u64 = 0}}, {events = 110, data = {ptr = 0x77, 
              fd = 119, u32 = 119, u64 = 119}}, {events = 0, data = {
              ptr = 0x7f964e8f6d3f, fd = 1318022463, u32 = 1318022463, 
              u64 = 140283539844415}}, {events = 1, data = {
              ptr = 0x2000000000000, fd = 0, u32 = 0, u64 = 562949953421312}}, 
          {events = 0, data = {ptr = 0x1000, fd = 4096, u32 = 4096, 
              u64 = 4096}}, {events = 1318022495, data = {ptr = 0x100007f96, 
              fd = 32662, u32 = 32662, u64 = 4294999958}}, {events = 0, 
            data = {ptr = 0x20000, fd = 131072, u32 = 131072, u64 = 131072}}, {
            events = 4096, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {
            events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {
            events = 1006640128, data = {ptr = 0x3c001bf000007f96, fd = 32662, 
              u32 = 32662, u64 = 4323486359881809814}}, {events = 32662, 
            data = {ptr = 0x200, fd = 512, u32 = 512, u64 = 512}}, {
            events = 1006632992, data = {ptr = 0x2b00007f96, fd = 32662, 
              u32 = 32662, u64 = 184683626390}}, {events = 0, data = {
ptr = 0x33, fd = 51, u32 = 51, u64 = 51}}, {events = 1427168895, 
            data = {ptr = 0x20000007f96, fd = 32662, u32 = 32662, 
              u64 = 2199023288214}}, {events = 0, data = {
              ptr = 0x7f963c000020, fd = 1006632992, u32 = 1006632992, 
              u64 = 140283228454944}}, {events = 496, data = {
              ptr = 0x2000000000, fd = 0, u32 = 0, u64 = 137438953472}}, {
            events = 0, data = {ptr = 0x2b, fd = 43, u32 = 43, u64 = 43}}, {
            events = 1427175188, data = {ptr = 0x4e8f6e0800007f96, fd = 32662, 
              u32 = 32662, u64 = 5660864237266829206}}, {events = 32662, 
            data = {ptr = 0x8, fd = 8, u32 = 8, u64 = 8}}, {events = 512, 
            data = {ptr = 0x5511136200000000, fd = 0, u32 = 0, 
              u64 = 6129701879455678464}}, {events = 32662, data = {
              ptr = 0x20, fd = 32, u32 = 32, u64 = 32}}, {events = 1450442942, 
            data = {ptr = 0x3c0008c000007f96, fd = 32662, u32 = 32662, 
              u64 = 4323465263002451862}}, {events = 32662, data = {
              ptr = 0x7f963c001c00, fd = 1006640128, u32 = 1006640128, 
              u64 = 140283228462080}}, {events = 1006635200, data = {
              ptr = 0x1800007f96, fd = 32662, u32 = 32662, 
              u64 = 103079247766}}, {events = 0, data = {
              ptr = 0x630d00 <threads_lists_lock>, fd = 6491392, 
              u32 = 6491392, u64 = 6491392}}, {events = 0, data = {
              ptr = 0x5545d8a400000000, fd = 0, u32 = 0, 
              u64 = 6144555465503145984}}, {events = 32662, data = {
ptr = 0x7f965678973d <g_slice_alloc+1357>, fd = 1450743613, 
              u32 = 1450743613, u64 = 140283672565565}}, {events = 1006635216, 
            data = {ptr = 0x48001ba000007f96, fd = 32662, u32 = 32662, 
              u64 = 5188177144739561366}}, {events = 32662, data = {
              ptr = 0x10, fd = 16, u32 = 16, u64 = 16}}, {events = 1006640320, 
            data = {ptr = 0x7f96, fd = 32662, u32 = 32662, u64 = 32662}}, {
            events = 0, data = {ptr = 0x7f9640001c80, fd = 1073749120, 
              u32 = 1073749120, u64 = 140283295571072}}}
        ev = 0x7f964e8f6870
        e = {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}
#9  0x00000000004079dd in poller_loop (d=0xd5b360) at main.c:614
        p = 0xd5b360
#10 0x000000000040ddc0 in thread_detach_func (d=0xd5b960) at aux.c:160
        dt = 0xd5b960
        t = 0x7f96480014a0
#11 0x00007f965545a182 in start_thread (arg=0x7f964e8f7700)
    at pthread_create.c:312
        __res = <optimized out>
        pd = 0x7f964e8f7700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140283539846912, 
                -3561639457751783153, 0, 0, 140283539847616, 140283539846912, 
                3584336259171002639, 3584347724732606735}, 
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, 
            data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#12 0x00007f9655186fbd in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

I hope this is all what you need. Please let me know if something else is required.

Regards

@rfuchs
Copy link
Member

rfuchs commented Sep 19, 2014

What kind of platform is this on? Anything other than x86 or amd64?

@abhishekSaini
Copy link
Author

Its amd64.
High memory Ec2 instance with ubuntu ami.

@rfuchs
Copy link
Member

rfuchs commented Sep 20, 2014

Strange, it shouldn't do that. All I can think of is a pointer alignment issue, which on some platforms (sparc, arm, ...) causes segfaults or other errors, but amd64 shouldn't have that problem. I don't have access to an EC2 instance to actually test this.

You can edit str.c and replace the function str_hash (the entire function) with this one:

guint str_hash(gconstpointer ss) {
    const str *s = ss;
    guint ret = 0;
    str it = *s;

    while (it.len > 0) {
        ret ^= *it.s;
        it.s++;
        it.len--;
    }

    return ret;
}

Recompile and see if this fixes anything. If this fixes the crash, then it's a pointer alignment issue.

@abhishekSaini
Copy link
Author

Hi,

Actually i reconfirmed the architecture and found it to be: Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz. The one previously stated was of a different EC2 instance(signed into wrong instance).

Can you please let me know on this.
Regards

@rfuchs
Copy link
Member

rfuchs commented Sep 21, 2014

That would still be either i386 or amd64. Can you please try with the modification I suggested and see if that fixes anything.

@caruizdiaz
Copy link

I can provide you with a fresh DigitalOcean instance if you want to, Richard.

@rfuchs
Copy link
Member

rfuchs commented Sep 30, 2014

That would be awesome. Even a simple user account on an existing one would suffice.

@caruizdiaz
Copy link

Setting up a Debian 7 server for you.
I will send you a private email with the credentials when I'm done.

Thanks!

@caruizdiaz
Copy link

Hi abhishekSaini,

what Linux flavor are you using? I think this only happens on RedHat based distros. I am using Fedora 19, and after switching to Debian 7, it suddenly just worked.

@caruizdiaz
Copy link

More information.

Crashing Server info

  • Distro: Fedora release 19 (Schrödinger’s Cat)
  • GCC: gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
  • Kernel Version: 3.9.8-300.fc19.x86_64
  • Arch: x86_64
  • rtpengine compiled from sources

Non crashing server info

  • Distro: Debian GNU/Linux 7
  • GCC: gcc (Debian 4.7.2-5) 4.7.2
  • Kernel: 3.2.0-4-amd64
  • Arch: x86_64
  • rtpengine compiled from sources

@abhishekSaini
Copy link
Author

Hi All,

The patch provided by rfuchs did work on ubuntu ami, thanks for this, and now rtpengine does not terminate upon webocket connection. However, there does not seem to be a media flow. I wonder, if it has something to do with that patch.

I am using the config(websocket to classic sip phones) provided by you, caruizdiaz. Thanks for posting the config.

@rfuchs
Copy link
Member

rfuchs commented Oct 1, 2014

One-way audio is almost certainly an issue unrelated to this patch.

@rfuchs rfuchs closed this as completed in 6379883 Oct 1, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants