[asterisk-bugs] [Asterisk 0015192]: segfault in local_devicestate() in chan_local.c
Asterisk Bug Tracker
noreply at bugs.digium.com
Mon Jun 1 10:01:22 CDT 2009
A NOTE has been added to this issue.
======================================================================
https://issues.asterisk.org/view.php?id=15192
======================================================================
Reported By: caspy
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 15192
Category: Channels/chan_local
Reproducibility: random
Severity: crash
Priority: normal
Status: feedback
Asterisk Version: 1.6.0.6
Regression: No
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Request Review:
======================================================================
Date Submitted: 2009-05-26 05:53 CDT
Last Modified: 2009-06-01 10:01 CDT
======================================================================
Summary: segfault in local_devicestate() in chan_local.c
Description:
Asterisk crashes randomly:
(gdb) bt full
https://issues.asterisk.org/view.php?id=0 0xb7c95e1a in strcmp () from
/lib/i686/cmov/libc.so.6
No symbol table info available.
https://issues.asterisk.org/view.php?id=1 0xb7291599 in local_devicestate
(data=0xb7a52286) at chan_local.c:150
exten = 0xb7a52200 "1181"
context = 0xb7a52205 "toagent"
opts = 0x0
res = 1
lp = (struct local_pvt *) 0x558
__PRETTY_FUNCTION__ = "local_devicestate"
complete backtraces in attaches
======================================================================
----------------------------------------------------------------------
(0105843) caspy (reporter) - 2009-06-01 10:01
https://issues.asterisk.org/view.php?id=15192#c105843
----------------------------------------------------------------------
valgrind is not an option. i've tried it, slowdown is unaccepable.
i'll try 1.6.0, but it can take some time cause a heavy production.
what about a dialplan:
- i have a number sip phones, like SIP/1234
- i have a Queue with members like Local/1234 at toagent
(members are added with device state of SIP channel:
AddQueueMember(callcenterq,Local/1234 at toagent,,,,SIP/1234) )
- 'toagent' context is:
context toagent {
_XXXX => {
Set(CDR(amaflags)=omit);
ChanIsAvail(SIP/${EXTEN},s);
if ("${AVAILCHAN}" != "") {
Dial(SIP/${EXTEN});
};
Busy();
};
};
- people are calling to this queue, where a number of agents are taking
calls.
what about you to try to reproduce: unfortunately, i's most likely
impossible. this error is very unpredictable. for example:
- compiling with DONT_OPTIMIZE make this crash more rare,
- turning on 'core set debug atleast 4' make this error more-and-more
rare,
- it is very-very load-dependent. as more load - more stable. but on
individual rare calls at night - all ok too. the best time to crash -
morning, where callers count just begin to grow.
- compiling DEBUG_TREADS moves crash to threads-tracking code. _moves_,
not making another one. :|
and also, please, look at bug https://issues.asterisk.org/view.php?id=14783. it
seems to be very close to this
issue, inspite of totally different parts of code.
it looks like in both cases a crash is forced by situation, when one
thread is killing a variable, that is still used by another thread.
Issue History
Date Modified Username Field Change
======================================================================
2009-06-01 10:01 caspy Note Added: 0105843
======================================================================
More information about the asterisk-bugs
mailing list