[Home]

Summary:ASTERISK-11084: AST-2007-027 change causes seg fault
Reporter:Tony Plack (plack)Labels:
Date Opened:2007-12-19 10:48:28.000-0600Date Closed:2007-12-19 11:09:54.000-0600
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Channels/chan_iax2
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:upgrading to branch-1.4-r90588M caused a seg fault in asterisk upon load.

Verified changes to res_odbc.c and config.c were not the issue.

Backed chan_iax2.c to 93128 and that solved the problem.

SVN stated revsion was 93947 but console shows a different number.  Used the console number



****** ADDITIONAL INFORMATION ******

s56:/tmp# gdb asterisk core.s56.lc.hostirian.com-2007-12-19T10:04:07-0600
GNU gdb 6.4.90-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".


warning: Can't read pathname for load map: Input/output error.
Reading symbols from /lib/tls/i686/cmov/libdl.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libdl.so.2
Reading symbols from /lib/tls/i686/cmov/libpthread.so.0...done.
Loaded symbols for /lib/tls/i686/cmov/libpthread.so.0
Reading symbols from /lib/libncurses.so.5...done.
Loaded symbols for /lib/libncurses.so.5
Reading symbols from /lib/tls/i686/cmov/libresolv.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libresolv.so.2
Reading symbols from /usr/lib/libopenh323.so.1.18.0...done.
Loaded symbols for /usr/lib/libopenh323.so.1.18.0
Reading symbols from /usr/lib/libpt.so.1.10.2...done.
Loaded symbols for /usr/lib/libpt.so.1.10.2
Reading symbols from /usr/lib/libldap_r.so.2...done.
Loaded symbols for /usr/lib/libldap_r.so.2
Reading symbols from /usr/lib/liblber.so.2...done.
Loaded symbols for /usr/lib/liblber.so.2
Reading symbols from /usr/lib/libsasl2.so.2...done.
Loaded symbols for /usr/lib/libsasl2.so.2
Reading symbols from /usr/lib/i686/cmov/libssl.so.0.9.8...done.
Loaded symbols for /usr/lib/i686/cmov/libssl.so.0.9.8
Reading symbols from /usr/lib/i686/cmov/libcrypto.so.0.9.8...done.
Loaded symbols for /usr/lib/i686/cmov/libcrypto.so.0.9.8
Reading symbols from /usr/lib/libexpat.so.1...done.
Loaded symbols for /usr/lib/libexpat.so.1
Reading symbols from /usr/lib/libSDL-1.2.so.0...done.
Loaded symbols for /usr/lib/libSDL-1.2.so.0
Reading symbols from /usr/lib/libstdc++.so.6...done.
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/tls/i686/cmov/libm.so.6...done.
Loaded symbols for /lib/tls/i686/cmov/libm.so.6
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/tls/i686/cmov/libc.so.6...done.
Loaded symbols for /lib/tls/i686/cmov/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/tls/i686/cmov/libcrypt.so.1...done.
Loaded symbols for /lib/tls/i686/cmov/libcrypt.so.1
Reading symbols from /usr/lib/libgnutls.so.13...done.
Loaded symbols for /usr/lib/libgnutls.so.13
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/libasound.so.2...done.
Loaded symbols for /usr/lib/libasound.so.2
Reading symbols from /usr/lib/libdirectfb-0.9.so.25...done.
Loaded symbols for /usr/lib/libdirectfb-0.9.so.25
Reading symbols from /usr/lib/libfusion-0.9.so.25...done.
Loaded symbols for /usr/lib/libfusion-0.9.so.25
Reading symbols from /usr/lib/libdirect-0.9.so.25...done.
Loaded symbols for /usr/lib/libdirect-0.9.so.25
Reading symbols from /usr/lib/libvga.so.1...done.
Loaded symbols for /usr/lib/libvga.so.1
Reading symbols from /usr/lib/libtasn1.so.3...done.
Loaded symbols for /usr/lib/libtasn1.so.3
Reading symbols from /usr/lib/libgcrypt.so.11...done.
Loaded symbols for /usr/lib/libgcrypt.so.11
Reading symbols from /usr/lib/libgpg-error.so.0...done.
Loaded symbols for /usr/lib/libgpg-error.so.0
Reading symbols from /lib/tls/i686/cmov/libnsl.so.1...done.
Loaded symbols for /lib/tls/i686/cmov/libnsl.so.1
Reading symbols from /usr/lib/asterisk/modules/res_odbc.so...done.
Loaded symbols for /usr/lib/asterisk/modules/res_odbc.so
Reading symbols from /usr/lib/libodbc.so.1...done.
Loaded symbols for /usr/lib/libodbc.so.1
Reading symbols from /usr/lib/libltdl.so.3...done.
Loaded symbols for /usr/lib/libltdl.so.3
Reading symbols from /lib/tls/i686/cmov/libnss_compat.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_compat.so.2
Reading symbols from /lib/tls/i686/cmov/libnss_nis.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_nis.so.2
Reading symbols from /lib/tls/i686/cmov/libnss_files.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_files.so.2
Reading symbols from /usr/lib/gconv/ISO8859-1.so...done.
Loaded symbols for /usr/lib/gconv/ISO8859-1.so
Reading symbols from /usr/lib/libmyodbc3.so...done.
Loaded symbols for /usr/lib/libmyodbc3.so
Reading symbols from /usr/lib/libmysqlclient.so.15...done.
Loaded symbols for /usr/lib/libmysqlclient.so.15
Reading symbols from /usr/lib/libodbcinst.so.1...done.
Loaded symbols for /usr/lib/libodbcinst.so.1
Reading symbols from /usr/lib/asterisk/modules/res_config_odbc.so...done.
Loaded symbols for /usr/lib/asterisk/modules/res_config_odbc.so
Reading symbols from /usr/lib/asterisk/modules/res_musiconhold.so...done.
Loaded symbols for /usr/lib/asterisk/modules/res_musiconhold.so
Reading symbols from /usr/lib/asterisk/modules/res_speech.so...done.
Loaded symbols for /usr/lib/asterisk/modules/res_speech.so
Reading symbols from /usr/lib/asterisk/modules/res_adsi.so...done.
Loaded symbols for /usr/lib/asterisk/modules/res_adsi.so
Reading symbols from /usr/lib/asterisk/modules/res_features.so...done.
Loaded symbols for /usr/lib/asterisk/modules/res_features.so
Reading symbols from /usr/lib/asterisk/modules/res_monitor.so...done.
Loaded symbols for /usr/lib/asterisk/modules/res_monitor.so
Reading symbols from /usr/lib/asterisk/modules/res_jabber.so...done.
Loaded symbols for /usr/lib/asterisk/modules/res_jabber.so
Reading symbols from /usr/lib/libiksemel.so.3...done.
Loaded symbols for /usr/lib/libiksemel.so.3
Reading symbols from /lib/tls/i686/cmov/libnss_dns.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_dns.so.2
Reading symbols from /usr/lib/asterisk/modules/res_indications.so...done.
Loaded symbols for /usr/lib/asterisk/modules/res_indications.so
Reading symbols from /usr/lib/asterisk/modules/res_agi.so...done.
Loaded symbols for /usr/lib/asterisk/modules/res_agi.so
Reading symbols from /usr/lib/asterisk/modules/res_crypto.so...done.
Loaded symbols for /usr/lib/asterisk/modules/res_crypto.so
Reading symbols from /usr/lib/asterisk/modules/res_snmp.so...done.
Loaded symbols for /usr/lib/asterisk/modules/res_snmp.so
Reading symbols from /usr/lib/libnetsnmpmibs.so.9...done.
Loaded symbols for /usr/lib/libnetsnmpmibs.so.9
Reading symbols from /usr/lib/libnetsnmpagent.so.9...done.
Loaded symbols for /usr/lib/libnetsnmpagent.so.9
Reading symbols from /usr/lib/libnetsnmphelpers.so.9...done.
Loaded symbols for /usr/lib/libnetsnmphelpers.so.9
Reading symbols from /usr/lib/libnetsnmp.so.9...done.
Loaded symbols for /usr/lib/libnetsnmp.so.9
Reading symbols from /usr/lib/libsensors.so.3...done.
Loaded symbols for /usr/lib/libsensors.so.3
Reading symbols from /lib/libwrap.so.0...done.
Loaded symbols for /lib/libwrap.so.0
Reading symbols from /lib/libsysfs.so.2...done.
Loaded symbols for /lib/libsysfs.so.2
Reading symbols from /usr/lib/asterisk/modules/app_nbscat.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_nbscat.so
Reading symbols from /usr/lib/asterisk/modules/app_macro.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_macro.so
Reading symbols from /usr/lib/asterisk/modules/app_exec.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_exec.so
Reading symbols from /usr/lib/asterisk/modules/app_amd.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_amd.so
Reading symbols from /usr/lib/asterisk/modules/chan_h323.so...done.
Loaded symbols for /usr/lib/asterisk/modules/chan_h323.so
Reading symbols from /usr/lib/pwlib/codecs/audio/lpc10_audio_pwplugin.so...done.
Loaded symbols for /usr/lib/pwlib/codecs/audio/lpc10_audio_pwplugin.so
Reading symbols from /usr/lib/pwlib/codecs/audio/g726_audio_pwplugin.so...done.
Loaded symbols for /usr/lib/pwlib/codecs/audio/g726_audio_pwplugin.so
Reading symbols from /usr/lib/pwlib/codecs/audio/ima_adpcm_audio_pwplugin.so...done.
Loaded symbols for /usr/lib/pwlib/codecs/audio/ima_adpcm_audio_pwplugin.so
Reading symbols from /usr/lib/pwlib/codecs/audio/gsm0610_audio_pwplugin.so...done.
Loaded symbols for /usr/lib/pwlib/codecs/audio/gsm0610_audio_pwplugin.so
Reading symbols from /usr/lib/pwlib/codecs/audio/speex_audio_pwplugin.so...done.
Loaded symbols for /usr/lib/pwlib/codecs/audio/speex_audio_pwplugin.so
Reading symbols from /usr/lib/asterisk/modules/codec_a_mu.so...done.
Loaded symbols for /usr/lib/asterisk/modules/codec_a_mu.so
Reading symbols from /usr/lib/asterisk/modules/app_controlplayback.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_controlplayback.so
Reading symbols from /usr/lib/asterisk/modules/func_math.so...done.
Loaded symbols for /usr/lib/asterisk/modules/func_math.so
Reading symbols from /usr/lib/asterisk/modules/format_h264.so...done.
Loaded symbols for /usr/lib/asterisk/modules/format_h264.so
Reading symbols from /usr/lib/asterisk/modules/format_wav_gsm.so...done.
Loaded symbols for /usr/lib/asterisk/modules/format_wav_gsm.so
Reading symbols from /usr/lib/asterisk/modules/app_festival.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_festival.so
Reading symbols from /usr/lib/asterisk/modules/app_talkdetect.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_talkdetect.so
Reading symbols from /usr/lib/asterisk/modules/app_authenticate.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_authenticate.so
Reading symbols from /usr/lib/asterisk/modules/codec_g723-ast14-gcc4-glibc-core2.so...done.
Loaded symbols for /usr/lib/asterisk/modules/codec_g723-ast14-gcc4-glibc-core2.so
Reading symbols from /usr/lib/asterisk/modules/app_sms.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_sms.so
Reading symbols from /usr/lib/asterisk/modules/func_channel.so...done.
Loaded symbols for /usr/lib/asterisk/modules/func_channel.so
Reading symbols from /usr/lib/asterisk/modules/format_pcm.so...done.
Loaded symbols for /usr/lib/asterisk/modules/format_pcm.so
Reading symbols from /usr/lib/asterisk/modules/app_settransfercapability.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_settransfercapability.so
Reading symbols from /usr/lib/asterisk/modules/func_groupcount.so...done.
Loaded symbols for /usr/lib/asterisk/modules/func_groupcount.so
Reading symbols from /usr/lib/asterisk/modules/app_read.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_read.so
Reading symbols from /usr/lib/asterisk/modules/func_uri.so...done.
Loaded symbols for /usr/lib/asterisk/modules/func_uri.so
Reading symbols from /usr/lib/asterisk/modules/app_privacy.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_privacy.so
Reading symbols from /usr/lib/asterisk/modules/app_echo.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_echo.so
Reading symbols from /usr/lib/asterisk/modules/format_wav.so...done.
Loaded symbols for /usr/lib/asterisk/modules/format_wav.so
Reading symbols from /usr/lib/asterisk/modules/pbx_config.so...done.
Loaded symbols for /usr/lib/asterisk/modules/pbx_config.so
Reading symbols from /usr/lib/asterisk/modules/func_cut.so...done.
Loaded symbols for /usr/lib/asterisk/modules/func_cut.so
Reading symbols from /usr/lib/asterisk/modules/codec_gsm.so...done.
Loaded symbols for /usr/lib/asterisk/modules/codec_gsm.so
Reading symbols from /usr/lib/asterisk/modules/app_dumpchan.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_dumpchan.so
Reading symbols from /usr/lib/asterisk/modules/app_waitforsilence.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_waitforsilence.so
Reading symbols from /usr/lib/asterisk/modules/func_logic.so...done.
Loaded symbols for /usr/lib/asterisk/modules/func_logic.so
Reading symbols from /usr/lib/asterisk/modules/format_sln.so...done.
Loaded symbols for /usr/lib/asterisk/modules/format_sln.so
Reading symbols from /usr/lib/asterisk/modules/format_mp3.so...done.
Loaded symbols for /usr/lib/asterisk/modules/format_mp3.so
Reading symbols from /usr/lib/asterisk/modules/func_md5.so...done.
Loaded symbols for /usr/lib/asterisk/modules/func_md5.so
Reading symbols from /usr/lib/asterisk/modules/app_externalivr.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_externalivr.so
Reading symbols from /usr/lib/asterisk/modules/codec_zap.so...done.
Loaded symbols for /usr/lib/asterisk/modules/codec_zap.so
Reading symbols from /usr/lib/asterisk/modules/app_zapras.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_zapras.so
Reading symbols from /usr/lib/asterisk/modules/app_adsiprog.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_adsiprog.so
Reading symbols from /usr/lib/asterisk/modules/chan_sip.so...done.
Loaded symbols for /usr/lib/asterisk/modules/chan_sip.so
Reading symbols from /usr/lib/asterisk/modules/app_milliwatt.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_milliwatt.so
Reading symbols from /usr/lib/asterisk/modules/pbx_loopback.so...done.
Loaded symbols for /usr/lib/asterisk/modules/pbx_loopback.so
Reading symbols from /usr/lib/asterisk/modules/app_record.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_record.so
Reading symbols from /usr/lib/asterisk/modules/chan_zap.so...done.
Loaded symbols for /usr/lib/asterisk/modules/chan_zap.so
Reading symbols from /usr/lib/libtonezone.so.1.0...done.
Loaded symbols for /usr/lib/libtonezone.so.1.0
Reading symbols from /usr/lib/libpri.so.1.0...done.
Loaded symbols for /usr/lib/libpri.so.1.0
Reading symbols from /usr/lib/asterisk/modules/app_sendtext.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_sendtext.so
Reading symbols from /usr/lib/asterisk/modules/app_ices.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_ices.so
Reading symbols from /usr/lib/asterisk/modules/app_zapbarge.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_zapbarge.so
Reading symbols from /usr/lib/asterisk/modules/app_addon_sql_mysql.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_addon_sql_mysql.so
Reading symbols from /usr/lib/asterisk/modules/app_queue.so...done.
Loaded symbols for /usr/lib/asterisk/modules/app_queue.so
Reading symbols from /usr/lib/asterisk/modules/chan_iax2.so...done.
Loaded symbols for /usr/lib/asterisk/modules/chan_iax2.so
Core was generated by `/usr/sbin/asterisk -f -vvvg -c'.
Program terminated with signal 11, Segmentation fault.
#0  0xb6fbb473 in strlen () from /lib/tls/i686/cmov/libc.so.6
(gdb) bt
#0  0xb6fbb473 in strlen () from /lib/tls/i686/cmov/libc.so.6
#1  0xb6b9444a in custom_prepare (obj=0x8183368, data=0xbf9e5694)
   at res_config_odbc.c:88
#2  0xb6c521e2 in ast_odbc_prepare_and_execute (obj=0x8183368,
   prepare_cb=0xb6b94390 <custom_prepare>, data=0xbf9e5694) at res_odbc.c:94
#3  0xb6b947c8 in realtime_odbc (database=0xbf9e57ec "asterisk",
   table=0xbf9e56ec "asterisk_iaxfriends", ap=0xbf9e5904 "7(ëµ")
   at res_config_odbc.c:149
#4  0x0808e9d7 in ast_load_realtime (family=0xb5eb1e0c "iaxpeers")
   at config.c:1408
ASTERISK-1  0xb5e9be40 in realtime_peer (peername=0x0, sin=0xbf9e5b0c)
   at chan_iax2.c:2700
ASTERISK-2  0xb5e9898e in find_callno (callno=0, dcallno=0, sin=0x81e5dd0, new=2,
   sockfd=23) at chan_iax2.c:1171
ASTERISK-3  0xb5ea2906 in iax2_do_register (reg=0x81e5dd0) at chan_iax2.c:8448
ASTERISK-4  0xb5ea321d in load_module () at chan_iax2.c:10903
ASTERISK-5  0x080abc34 in load_resource (resource_name=0x81afdd8 "chan_iax2.so",
   global_symbols_only=<value optimized out>) at loader.c:672
ASTERISK-6 0x080ac44b in load_modules (preload_only=0) at loader.c:866
ASTERISK-7 0x0806de92 in main (argc=Cannot access memory at address 0x0
) at asterisk.c:2936
ASTERISK-8 0xb6f64ea8 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
ASTERISK-9 0x08057bb1 in ?? () at ../sysdeps/i386/elf/start.S:119
Comments:By: Digium Subversion (svnbot) 2007-12-19 11:01:01.000-0600

Repository: asterisk
Revision: 93949

U   branches/1.4/channels/chan_iax2.c

------------------------------------------------------------------------
r93949 | tilghman | 2007-12-19 11:01:01 -0600 (Wed, 19 Dec 2007) | 3 lines

Avoid segfault in chan_iax when peer isn't defined
(Closes issue ASTERISK-11084)

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=93949

By: Digium Subversion (svnbot) 2007-12-19 11:09:54.000-0600

Repository: asterisk
Revision: 93952

_U  trunk/
U   trunk/channels/chan_iax2.c

------------------------------------------------------------------------
r93952 | tilghman | 2007-12-19 11:09:54 -0600 (Wed, 19 Dec 2007) | 11 lines

Merged revisions 93949 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r93949 | tilghman | 2007-12-19 11:04:13 -0600 (Wed, 19 Dec 2007) | 3 lines

Avoid segfault in chan_iax when peer isn't defined
(Closes issue ASTERISK-11084)

........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=93952