[Home]

Summary:ASTERISK-21160: In an XMPP distributed device state configuration, setting pubsub_node to a value without the pubsub prefix can cause a dialog loop leading to high CPU usage and crashiness
Reporter:Rusty Newton (rnewton)Labels:
Date Opened:2013-02-25 09:52:52.000-0600Date Closed:
Priority:MinorRegression?
Status:Open/NewComponents:Resources/res_xmpp
Versions:Frequency of
Occurrence
Constant
Related
Issues:
Environment:Asterisk 11 SVN r381835, res_xmpp, OpenFire 3.8.0Attachments:( 0) spamcrash_full.txt
Description:Two Asterisk instances are configured for distributed device state via res_xmpp and an OpenFire server(with an almost default setup).

The issue occurs upon starting asterisk with the invalid config below. Asterisk will then consume CPU until the system becomes unresponsive, Asterisk crashes or other parts of the system crash. The issue occurs even if its just one system connected up to the OpenFire server,

If asterisk is already running, it seems to occur when device state is published to the XMPP connection after module reload.

{noformat}
;xmpp.conf

[general]
debug=yes
autoregister=yes
collection_nodes=yes

[asterisk]
type=client
serverhost=somehostname
;pubsub_node=pubsub.somehostname   ; using this works fine
pubsub_node=somehostname           ; using this causes the issue
username=pbx2@somehostname/astvoip2
secret=XXXX
usesasl=yes
buddy=pbx1@somehostname/astvoip1
distribute_events=yes
status=available
{noformat}

Will attach a full log showing XMPP dialog loop that occurs. Its about 8mb that was logged in ~6 seconds (no calls or anything else major happening on the system). This log was terminated by manually killing Asterisk from a terminal since Asterisk's CLI was unresponsive.

I don't know XMPP well enough to know if this issue is a fault of how the OpenFire server responds to Asterisk's requests, or how Asterisk responds to it.
Comments: