[Home]

Summary:ASTERISK-03389: Config.c 1.53 crashes on start up
Reporter:Andrew Lindh (andrew)Labels:
Date Opened:2005-01-30 07:51:40.000-0600Date Closed:2008-01-15 15:23:46.000-0600
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Core/Configuration
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) config_variable_replacement_rev1.diff.txt
Description:I updated CVS today and config 1.53 crashes on load.
I went back to 1.52 and it loads correctly.


(gdb) bt full
# 0  0x4018d76f in strcasecmp () from /lib/libc.so.6
No symbol table info available.
# 1  0x08059a8b in variable_get (category=0x832bc38, name=0x8351968 "group")
   at config.c:132
       variable = (struct ast_variable *) 0x83515f8
# 2  0x08059b9c in ast_variable_append (category=0x832bc38, variable=0x8351948)
   at config.c:174
       v = (struct ast_variable *) 0x8351598
# 3  0x0805a7f4 in process_text_line (cfg=0x832b9e8, cat=0xbfffcd9c,
   buf=0xbfffcfc0 "group", lineno=464, configfile=0x406a3d79 "zapata.conf")
   at config.c:551
       c = 0xbfffcfc6 ""
       cur = 0xbfffcfc0 "group"
       v = (struct ast_variable *) 0x8351948
       object = 0
# 4  0x0805adc8 in config_text_file_load (database=0xbffff200 "\005",
   table=0xbffff100 "ì±2\b\030®2\b\001", filename=0x406a3d79 "zapata.conf",
   cfg=0x832b9e8) at config.c:666
       buf = 0xbfffcfc0 "group"
       i = 0
       glob_ret = 0
       globbuf = {gl_pathc = 1, gl_pathv = 0x812a468, gl_offs = 0,
 gl_flags = 3088, gl_closedir = 0, gl_readdir = 0, gl_opendir = 0xf0cf,
 gl_lstat = 0x81a4, gl_stat = 0x1}
       fn = "/etc/asterisk/zapata.conf", '\0' <repeats 230 times>, "\b"
       buf = "group\000\000\000default\000\000ence channels - not realy needed\n\000inbound call comes in.\n\000ields\n\000ling switch is sending\n\000\002@\200\205\002@\001\000\000\000PU$@HÐÿ¿ñ¿\022@d\023\017\bPU$@´Ðÿ¿\003\000\000\000«Ðÿ¿\204Ðÿ¿+Ó\r@\204Ðÿ¿xÊ\r@m\000\000\000Çåÿm\000\000\000\000öÕÿ¿¬Ðÿ¿Ð&\016@\f\000\000\000 Ðÿ¿¬Ñÿ¿"...
       new_buf = 0xbfffcfc0 "group"
       comment_p = 0x0
       process_buf = 0xbfffcfc0 "group"
       f = (FILE *) 0x832ba28
       lineno = 464
       comment = 0
       nest = {4096, 8, 0, 1107090907, 829239964, 1101780164, 1073907072,
 1073907072, 1076122960, 1076122960, -1073754664, 1075813408, 1076122960,
 137538624, -1073754632, 1075706676, 0, 1075319531, 187, 1080541184, 4096,
 1080542601, -1073754584, 1075314827, 137538624, 1080541184, 4096,
 -1073754596, 1073913726, 1076096864, 1, 1076122960, 137538624, 1080542601,
 -1073754568, 1075323837, 1073912160, 137538624, 1073912593, 1073912160, 1,
 1073912593, 1073926240, 1, 1073913726, 1075321425, 1073892608, 0,
 1075321425, 1073913726, 1073912593, 1073929844, 0, 1076125632, 1075347972,
 1073900922, 1073929844, 1076125632, 1076125632, -1073754452, 1073900922,
 1076125648, 0, 1076125632, 1076122960, 1076122960, 135312824, -1073754424,
 1075343510, 1076125632, 135312824, 1076122960, 1, -1073754336, -1073754392,
 1075580249, 135312824, 116, 0, 1080539996, 1073833120, -1073743328,
 -1073745272, 134590137, -1073754336, 8192, 137538624, 33, 1080530596,
 135314328, 0, 3088, 137498984, 137477288, -1073753728, 1, 1, 135312824, 0,
 3088, 0, 0, 0, 137325000, 1077642928, 137477288, -1073749480, 1077462242,
 137477288, 102, 0, 137539048, 438, 1, 1845483147, 0, -1073752842,
 -1073754192, 1074669264, 16, -1073754208, -1073753940, 1074647451,
 -1073754208, -1073753868, 1026, -1073754208, 255}
       cat = (struct ast_category *) 0x832bc38
# 5  0x0805b936 in ast_config_internal_load (filename=0x406a3d79 "zapata.conf",
   cfg=0x832b9e8) at config.c:940
       db = "\005\000\000\000\006\000\000\000xòÿ¿\"Î!@¤úÿ¿ì±2\b", '\0' <repeats 20 times>, "lf\001@", '\0' <repeats 20 times>, " d\001@", '\0' <repeats 20 times>, "\006\000\000\000\000\000\000\000P°2\b\002\000\000\200@l\001@l\212\005\b\002\000\000\200xóÿ¿&¿\000@~\237\002@\000\000\000\000\000\000\000\0001|\030@\000Ò\002@pË!@\034`$@tÞ\002@À_$@è¹2\bÈòÿ¿zm\002@Ð_$@ \000\000\000À_$@PU$@PU$@À_$@èòÿ¿òn\030@À_$@\030\000\000\000\210óÿ¿léj@ d\001@ ú"...
       table = "ì±2\b\030®2\b\001\000\000\000\000\000\000\000zm\002@lf\001@X\000\000\000À_$@PU$@\230®2\bÀ_$@\\ñÿ¿\231v\030@\230®2\b¤âg@\230Çg@\000Àg@Tñÿ¿Tñÿ¿\000\000\000\000P°2\b\002\000\000\000\020\000\000\000\bòÿ¿3Ò\000@ð\031\a@¨Ög@\\ìj@\030®2\b¤âg@[\000\000\000Ú<j@@l\001@P°2\b\230ñÿ¿\rîg@\002\000\000\000øxn@Èñÿ¿ÞÀ\000@\003\000\000\000\224úÿ¿¤úÿ¿\000\000\000\000 \231\021@\000\000\000\000\000\000\000\000@l\001@\000\000\000\000P°2\b"...
       loader = (struct ast_config_engine *) 0x80f137c
       result = (struct ast_config *) 0xbffff208
# 6  0x0805b991 in ast_config_load (filename=0x406a3d79 "zapata.conf")
   at config.c:956
       cfg = (struct ast_config *) 0x832b9e8
       result = (struct ast_config *) 0x4067c798
# 7  0x4069f2f3 in setup_zap (reload=0) at chan_zap.c:9245
       cfg = (struct ast_config *) 0x406a34b1
       v = (struct ast_variable *) 0xbffff4f8
       tmp = (struct zt_pvt *) 0x6170615a
       chan = 0x1 <Address 0x1 out of bounds>
       c = 0x40029f7e "\201Ãö>"
       ringc = 0x40029b11 "\201ÃcC"
       start = 542993712
       finish = 876295987
       x = 993024795
       y = 1869819504
       found_pseudo = 0
       cur_radio = 0
       spanno = 808729399
       i = 859517275
       logicalspan = 458956813
       trunkgroup = 1076125632
       dchannels = {-1073744732, 135143959, 135227584, 1073929844}
       pri = (struct zt_pri *) 0x80a20bf
# 8  0x406a27fa in load_module () at chan_zap.c:9968
       res = 137539320
       y = 32
       i = 4
# 9  0x08058fbd in __load_resource (resource_name=0x811f21b "chan_zap.so",
   cfg=0x810d378) at loader.c:387
       fn = "/usr/lib/asterisk/modules/chan_zap.so\000o\000.so\000a.so", '\0' <repeats 207 times>
       errors = 0
       res = 0
       m = (struct module *) 0x832aef8
       flags = 2
       val = 0x0
       key = 0x406ac080 "This paragraph is Copyright (C) 2000, Linux Support Services, Inc.  In order for your module to load, it must return this key via a function called \"key\".  Any code which includes this paragraph must "...
       tmp = "\033[33;40mZapata Telephony w/PRI\033[0;37;40m\000L\002@PU$@PU$@\000\000\000\000PU$@\000\000\000\000`ï#@èõÿ¿ÔZ\027@Ìõÿ¿"
# 10 0x08059527 in load_modules () at loader.c:508
       mods = (DIR *) 0x811ef68
       d = (struct dirent *) 0x811f210
       x = 1
       cfg = (struct ast_config *) 0x810d378
       v = (struct ast_variable *) 0x0
       tmp = "\033[1;37;40mchan_zap.so\033[0;37;40m\000m\00040m\000;40m\000\bÈÒ\020\b Ò\020\bPU$@\210öÿ¿ät\b\bü\034\017\bnb\b\bÀ¯\r\b\000°\r\b"
# 11 0x080a6700 in main (argc=3, argv=0xbffffa94) at asterisk.c:1853
       c = -1
       filename = "/root/.asterisk_history", '\0' <repeats 56 times>
       hostname = "asterisk\000\033\a@rA\022@xùÿ¿Ï\203\000@rA\022@\202\211¹\n Ì\021@4ùÿ¿Èo\001@\a\000\000\0008e4@\000\000\000\000\001\000\000\0004ùÿ¿\000\000\000\000\000\000\000\000Ð\022\022@pùÿ¿Lz\000@Ús\022@!\024\005\b\000\000\000\000\000\000\000\000¡Ú\004\b ", '\0' <repeats 15 times>, "\220t\022@\200 \022@`\224\021@ð\031\a@\n\000\000\000,`4@x`4@@l\001@\024p\001@¬Þ\004\b\búÿ¿Ï\203\000@¬Þ\004\b\216ÿw\001°Á\004\bÄùÿ¿Èo\001@\a\000\000\000x`4@\000\000\000\000\001\000\000\000Ä"...
       tmp = "\000\000\000\000\000\000\000\000 Ì\021@àøÿ¿Lz\000@Ús\022@Ús\022@\000\000\000\000à»\021@\000\000\000\000 \000\000\000zt\022@ß1\002@\000\000\000\000\220t\022@\200 \022@`\224\021@ð\031\a@\n\000\000\000,`4@"
       xarg = 0x0
       x = 3
       f = (FILE *) 0x8107ee8
       sigs = {__val = {134238211, 0 <repeats 31 times>}}
       num = 0
       buf = 0x0
       runuser = 0x0
       rungroup = 0x0
       silly_macos = {{fd = 0, events = 0, revents = 0}}
(gdb) quit
Comments:By: Tilghman Lesher (tilghman) 2005-01-30 10:30:00.000-0600

Did you do a 'make clean' prior to 'make install'?

By: nick (nick) 2005-01-30 10:40:37.000-0600

I can't dup either, so I'd say so...

Might be time for cleancount++ :)

NB

By: Kevin P. Fleming (kpfleming) 2005-01-30 10:46:10.000-0600

Hmmm... it appears that the "variable replacement" code is tripping up here. Notice that the buffer passed to process_text_line has _only_ "group" in it, so something odd is going on here.

andrew, please post your zapata.conf so I can see what's going on. Thanks.

By: Kevin P. Fleming (kpfleming) 2005-01-30 11:28:45.000-0600

Patch removes the broken and unneeded variable replacement code that was part of ASTERISK-3063099.

By: Mark Spencer (markster) 2005-01-30 11:33:30.000-0600

Fixed in CVS head, thanks!

By: Digium Subversion (svnbot) 2008-01-15 15:23:46.000-0600

Repository: asterisk
Revision: 4930

U   trunk/config.c

------------------------------------------------------------------------
r4930 | markster | 2008-01-15 15:23:46 -0600 (Tue, 15 Jan 2008) | 2 lines

Fix seg in variable replacement (bug ASTERISK-3389)

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

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