Summary:ASTERISK-11686: ChanSpy with spygroup set crashes in strlen(), not consistently
Reporter:Martin B. Smith (martins)Labels:
Date Opened:2008-03-19 13:19:04Date Closed:2008-03-19 14:01:24
Versions:Frequency of
Environment:Attachments:( 0) gdb-bt-2008-02-20.txt
( 1) gdb-bt-2008-02-21.txt
( 2) gdb-bt-2008-03-08.txt
( 3) gdb-bt-2008-03-12.txt
Description:My organization is getting very occasional crashes that we can't seem to reproduce. We've got at least 3 core files in the last two months, all of which were a crash bug.

I've looked at bugs 0011782 and 0011641, which are also ChanSpy crash bugs that affect 1.4.17, but they seem to have a backtrace that ends in a different location than mine keep ending in.

I'm attaching multiple backtraces, but all end up inside strlen() from app_chanspy.c.


The dialplan lines that initiate the crashing spy action are:

;; ChanSpy direct
exten => _*321XXXX,1,ChanSpy(SIP/${EXTEN:4}|bg(2000))
exten => _*321XXXX,n,Hangup

The entry that sets the group is:
exten => s,n,Set(SPYGROUP=2000)
... followed by a Dial()
Comments:By: Martin B. Smith (martins) 2008-03-19 13:27:21

That's everything I've got. Is it possible that the line at app_chanspy.c:256 doesn't properly acquire a lock something that is being overwritten or modified somewhere else? Thanks for any help you could provide!

By: Martin B. Smith (martins) 2008-03-19 13:58:42

After some more searching, it looks like my reported bug might be a duplicate of bug ASTERISK-11336. I'm not sure, though, since it is only tagged as affecting an SVN release. I also can't tell which release it was fixed in.

By: Russell Bryant (russell) 2008-03-19 14:01:23

There have been a _ton_ of chanspy fixes since that version.  Please update to the 1.4 branch, or a 1.4.19 release candidate before reporting chanspy issues right now.