Summary: | ASTERISK-07268: Use of FILTER crashes the server | ||
Reporter: | Sherwood McGowan (rushowr) | Labels: | |
Date Opened: | 2006-07-01 09:23:34 | Date Closed: | 2006-07-03 00:53:06 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | Functions/func_strings |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) output.txt | |
Description: | I have a set command in my dialplan that uses the string function to filter everything but digits from CallerID(number) and then puts that value in a variable. When the call hits that line, I get an error message from func_strings.c and then asterisk crashes. The error message is only the "usage" message for how to use filter. | ||
Comments: | By: Sherwood McGowan (rushowr) 2006-07-01 09:24:51 Forgot to add the output: Jul 1 22:10:31 ERROR[14825]: func_strings.c:87 filter: Usage: FILTER(<allowed-chars>,<string>) -- Executing [64776101@incoming:1] Set("SIP/16145606924-081d64a0", "CALLERID(number)=") in new stack -- Executing [64776101@incoming:2] Set("SIP/16145606924-081d64a0", "SOURCE=") in new stack asterisk*CLI> Disconnected from Asterisk server Here's the relevant line from my dialplan: Set(CALLERID(number)=${FILTER("0123456789","${CALLERID(number)}")}) I also tried doing it without the quotes, same result By: Russell Bryant (russell) 2006-07-01 09:43:48 The FILTER function has been fixed in the trunk. However, it does not look like this had anything to do with why your system crashed. We will need a backtrace to find out the details. Please rebuild Asterisk with "make dont-optimize", re-install, and read doc/backtrace.txt for some information on how to provide a backtrace. Thanks! By: Sherwood McGowan (rushowr) 2006-07-01 10:48:53 I'll try doing that on my dev server, as the problem was noticed on a client's server. Until then, this might possibly help. When running make install from zaptel's source tree (I used trunk and the 1.2 branch separately with same result) I got unresolved symbol errors at the depmod part at the end. I ran depmod -ae and got: depmod: *** Unresolved symbols in /lib/modules/2.4.27/misc/zttranscode.o depmod: remap_pfn_range depmod: zt_transcode_fops I'll do that debug build today hopefully. Thanks for your help! By: Tilghman Lesher (tilghman) 2006-07-01 10:51:45 russell: I don't think that's the right fix. Arguments to functions should all be delimited by the "|" character. The "," delimiter is meant only to emulate the common usage with extensions.conf. By: Sherwood McGowan (rushowr) 2006-07-01 10:58:10 Good to know, I wasn't aware of that. I'll try updating my trunk, recompiling, and then changing my dialplan By: Tilghman Lesher (tilghman) 2006-07-01 11:07:22 Waiting on backtrace to be posted. By: Sherwood McGowan (rushowr) 2006-07-01 11:39:07 Ok, it's dying at the REGEX function call. The documentation I was able to find was slim on this, so that's probably my issue. Here's the command: Set(cidcheck=${REGEX("\(65\)[0-9]\{8\}" ${SOURCE})}) backtrace to follow By: Sherwood McGowan (rushowr) 2006-07-01 14:17:20 Backtrace uploaded... I think I definitely had the wrong culprit, looks like REGEX and probably my usage. However, Zaptel is causing strange issues too... By: Anthony LaMantia (alamantia) 2006-07-02 19:28:33 Hi, is there anyway you can provide a core dump for this crash? the backtrace is usefull but i need more information to pinpoint the bug.. to make one ulimit -c unlimited (or whatever size you think is sufficant) and then upload the core file... -Anthony By: Tilghman Lesher (tilghman) 2006-07-02 23:32:31 A core file is completely useless to anybody who does not have an identical system. Please do NOT upload your core file. By: Tilghman Lesher (tilghman) 2006-07-03 00:53:06 Since you opened 7466, this report is no longer needed. |