[asterisk-bugs] [Asterisk 0013703]: Abort in free in queue show <name> command
Asterisk Bug Tracker
noreply at bugs.digium.com
Thu Oct 16 16:04:42 CDT 2008
A NOTE has been added to this issue.
======================================================================
http://bugs.digium.com/view.php?id=13703
======================================================================
Reported By: davidw
Assigned To: putnopvut
======================================================================
Project: Asterisk
Issue ID: 13703
Category: Applications/app_queue
Reproducibility: have not tried
Severity: crash
Priority: normal
Status: assigned
Asterisk Version: 1.6.0
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Disclaimer on File?: N/A
Request Review:
======================================================================
Date Submitted: 2008-10-15 08:56 CDT
Last Modified: 2008-10-16 16:04 CDT
======================================================================
Summary: Abort in free in queue show <name> command
Description:
We were getting bogus queue not found messages from the QUEUE_MEMBER (and
QUEUE_MEMBER_COUNT function), so after running "queue show", which gave the
truncated queue name, we tried queue show <name> with the full name.
======================================================================
----------------------------------------------------------------------
(0093849) putnopvut (administrator) - 2008-10-16 16:04
http://bugs.digium.com/view.php?id=13703#c93849
----------------------------------------------------------------------
I have come up with another solution for 1.6.0 and 1.6.1 which will fix the
problems here and which will not cause a behavior change. However, it may
slightly degrade performance in setups that have lots and lots of queues.
Essentially, since almost every instance of ao2_find() in app_queue may
take user-generated input, using the OBJ_POINTER flag can result in bad
hash lookups if the user-generated string is not exactly the same case as
what was specified in queues.conf. So, the fix I have is to remove the
OBJ_POINTER flag from all ao2_find calls in app_queue. The result of this
is that the hashing callback will not be used on the user-generated input
used to find a queue. This will result in an O(n) lookup of queues instead
of O(1), but this is likely not going to be a problem for most since in
versions of Asterisk prior to 1.6.0, finding a queue was an O(n) lookup,
too.
Issue History
Date Modified Username Field Change
======================================================================
2008-10-16 16:04 putnopvut Note Added: 0093849
======================================================================
More information about the asterisk-bugs
mailing list