[Home]

Summary:ASTERISK-28114: Random crash
Reporter:Supporto Tecnico (bytewise)Labels:pjsip
Date Opened:2018-10-18 04:38:24Date Closed:2020-01-14 11:13:29.000-0600
Priority:MajorRegression?
Status:Closed/CompleteComponents:pjproject/pjsip
Versions:13.21.1 Frequency of
Occurrence
Occasional
Related
Issues:
Environment:Asterisk certified/13.21-cert2 on CentOS Linux release 7.5.1804 on VMwareAttachments:
Description:Asterisk randomly crash with this coredump

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/sbin/asterisk -f -U asterisk -G asterisk -vvvg -c'.
Program terminated with signal 6, Aborted.
#0  0x00007fb039cab277 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.26-23.el7.x86_64 expat-2.1.0-10.el7_3.x86_64 glib2-2.54.2-2.el7.x86_64 glibc-2.17-222.el7.x86_64 gmime-2.6.23-1.el7.x86_64 gmp-6.0.0-15.el7.x86_64 gnutls-3.3.26-9.el7.x86_64 gpgme-1.3.2-5.el7.x86_64 gsm-1.0.13-11.el7.x86_64 iksemel-1.4-6.el7.x86_64 jansson-2.10-1.el7.x86_64 jbigkit-libs-2.0-11.el7.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-19.el7.x86_64 libassuan-2.1.0-3.el7.x86_64 libblkid-2.23.2-52.el7.x86_64 libcom_err-1.42.9-12.el7_5.x86_64 libcurl-7.29.0-46.el7.x86_64 libedit-3.0-12.20121213cvs.el7.x86_64 libffi-3.0.13-18.el7.x86_64 libgcc-4.8.5-28.el7_5.1.x86_64 libgcrypt-1.5.3-14.el7.x86_64 libgpg-error-1.12-3.el7.x86_64 libical-1.0.1-1.el7.x86_64 libidn-1.28-4.el7.x86_64 libjpeg-turbo-1.2.90-5.el7.x86_64 libmodman-2.0.1-8.el7.x86_64 libmount-2.23.2-52.el7.x86_64 libogg-1.3.0-7.el7.x86_64 libproxy-0.4.11-11.el7.x86_64 libselinux-2.5-12.el7.x86_64 libsrtp-1.4.4-10.20101004cvs.el7.x86_64 libssh2-1.4.3-10.el7_2.1.x86_64 libstdc++-4.8.5-28.el7_5.1.x86_64 libtasn1-4.10-1.el7.x86_64 libtiff-4.0.3-27.el7_3.x86_64 libtool-ltdl-2.4.2-22.el7_3.x86_64 libuuid-2.23.2-52.el7.x86_64 libvorbis-1.3.3-8.el7.1.x86_64 libxml2-2.9.1-6.el7_2.3.x86_64 libxslt-1.1.28-5.el7.x86_64 mariadb-libs-5.5.56-2.el7.x86_64 mysql-connector-odbc-5.2.5-7.el7.x86_64 ncurses-libs-5.9-14.20130511.el7_4.x86_64 neon-0.30.0-3.el7.x86_64 nettle-2.7.1-8.el7.x86_64 nspr-4.19.0-1.el7_5.x86_64 nss-3.36.0-5.el7_5.x86_64 nss-softokn-freebl-3.36.0-5.el7_5.x86_64 nss-util-3.36.0-1.el7_5.x86_64 openldap-2.4.44-15.el7_5.x86_64 openssl-libs-1.0.2k-12.el7.x86_64 p11-kit-0.23.5-3.el7.x86_64 pakchois-0.4-10.el7.x86_64 pcre-8.32-17.el7.x86_64 spandsp-0.0.6-0.10.pre21.el7.x86_64 speex-1.2-0.19.rc1.el7.x86_64 sqlite-3.7.17-8.el7.x86_64 unixODBC-2.3.1-11.el7.x86_64 uriparser-0.7.5-9.el7.x86_64 xz-libs-5.2.2-1.el7.x86_64 zlib-1.2.7-17.el7.x86_64
(gdb) bt
#0  0x00007fb039cab277 in raise () at /lib64/libc.so.6
#1  0x00007fb039cac968 in abort () at /lib64/libc.so.6
#2  0x00007fb039ca4096 in __assert_fail_base () at /lib64/libc.so.6
#3  0x00007fb039ca4142 in  () at /lib64/libc.so.6
#4  0x00007fafed2421c0 in pj_ice_sess_add_cand () at /lib64/libpjnath.so.2
#5  0x00007fafcf124a4c in ast_rtp_ice_add_cand (instance=0x2c56a20, comp_id=2, transport_id=1, type=type@entry=
   PJ_ICE_CAND_TYPE_SRFLX, addr=addr@entry=0x7fb019913ad0, base_addr=base_addr@entry=0x7fb019913ab0, rel_addr=rel_addr@entry=0x7fb019913ab0, addr_len=16, rtp=0x2466b00, rtp=0x2466b00, local_pref=65535) at res_rtp_asterisk.c:1086
#6  0x00007fafcf12f352 in rtp_add_candidates_to_ice (instance=instance@entry=0x2c56a20, rtp=rtp@entry=0x2466b00, addr=<optimized out>, port=<optimized out>, component=component@entry=2, transport=transport@entry=1) at res_rtp_asterisk.c:3007
#7  0x00007fafcf12fc3f in ast_rtp_prop_set (instance=0x2c56a20, property=<optimized out>, value=<optimized out>)
   at res_rtp_asterisk.c:5910
#8  0x000000000058b916 in ast_rtp_instance_set_prop (instance=0x2c56a20, property=property@entry=
   AST_RTP_PROPERTY_RTCP, value=value@entry=1) at rtp_engine.c:644
#9  0x00007fafe64aff57 in transmit_reinvite_with_sdp (p=p@entry=0x2a9d140, t38version=0, oldsdp=oldsdp@entry=0) at chan_sip.c:14104
#10 0x00007fafe64f12df in __sched_check_pendings (p=0x2a9d140) at chan_sip.c:23421
#11 0x00007fafe64f12df in __sched_check_pendings (data=0x2a9d140) at chan_sip.c:23434
#12 0x00000000005b0a57 in ast_sched_runq (con=0x2732f90) at sched.c:786
#13 0x00007fafe64de79e in do_monitor (data=data@entry=0x0) at chan_sip.c:29718
#14 0x00000000005e68fa in dummy_start (data=<optimized out>) at utils.c:1239
#15 0x00007fb03a9d0e25 in start_thread () at /lib64/libpthread.so.0
#16 0x00007fb039d73bad in clone () at /lib64/libc.so.6
Comments:By: Asterisk Team (asteriskteam) 2018-10-18 04:38:25.218-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Joshua C. Colp (jcolp) 2018-10-18 04:45:19.091-0500

How was PJSIP installed? What version is in use? What was its build configuration? By default it builds in developer mode which enables assertions.

It is highly recommended that our bundled support[1] be used instead. We build it specifically for Asterisk with the correct options.

[1] https://blogs.asterisk.org/2016/03/16/asterisk-13-8-0-now-easier-pjsip-install-method/

By: Supporto Tecnico (bytewise) 2018-10-18 04:56:05.762-0500

PJSIP isn't compiled bundled but i don't load any pjsip modules.
I have compiled pjproject 2.4

This is an extract of modules.conf

noload = chan_pjsip.so
noload = res_pjsip_endpoint_identifier_anonymous.so
noload = res_pjsip_messaging.so
noload = res_pjsip_pidf.so
noload = res_pjsip_session.so
noload = func_pjsip_endpoint.so
noload = res_pjsip_endpoint_identifier_ip.so
noload = res_pjsip_mwi.so
noload = res_pjsip_pubsub.so
noload = res_pjsip.so
noload = res_pjsip_acl.so
noload = res_pjsip_endpoint_identifier_user.so
noload = res_pjsip_nat.so
noload = res_pjsip_refer.so
noload = res_pjsip_t38.so
noload = res_pjsip_authenticator_digest.so
noload = res_pjsip_exten_state.so
noload = res_pjsip_notify.so
noload = res_pjsip_registrar_expire.so
noload = res_pjsip_transport_websocket.so
noload = res_pjsip_caller_id.so
noload = res_pjsip_header_funcs.so
noload = res_pjsip_one_touch_record_info.so
noload = res_pjsip_registrar.so
noload = res_pjsip_diversion.so
noload = res_pjsip_log_forwarder.so
noload = res_pjsip_outbound_authenticator_digest.so
noload = res_pjsip_rfc3326.so
noload = res_pjsip_dtmf_info.so
noload = res_pjsip_logger.so
noload = res_pjsip_outbound_registration.so
noload = res_pjsip_sdp_rtp.so
noload = res_pjsip_outbound_publish.so
noload = res_pjsip_config_wizard.so


By: Joshua C. Colp (jcolp) 2018-10-18 04:57:43.951-0500

The res_rtp_asterisk module uses PJPROJECT (of which PJSIP is a part) for the ICE/STUN/TURN support. It is being used, as shown in the backtrace by the presence of "libpjnath".

By: Supporto Tecnico (bytewise) 2018-10-18 05:05:18.819-0500

Ok, i'll try to compile with bundled pjsip.
Thank you

By: Asterisk Team (asteriskteam) 2018-11-01 12:00:01.977-0500

Suspended due to lack of activity. This issue will be automatically re-opened if the reporter posts a comment. If you are not the reporter and would like this re-opened please create a new issue instead. If the new issue is related to this one a link will be created during the triage process. Further information on issue tracker usage can be found in the Asterisk Issue Guidlines [1].

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines