Fixed
Details
Assignee
Guus der KinderenGuus der KinderenReporter
Guus der KinderenGuus der KinderenComponents
Fix versions
Affects versions
Priority
Blocker
Details
Details
Assignee
Guus der Kinderen
Guus der KinderenReporter
Guus der Kinderen
Guus der KinderenComponents
Fix versions
Affects versions
Priority
Created November 7, 2009 at 4:57 PM
Updated February 1, 2010 at 3:15 AM
Resolved November 7, 2009 at 5:38 PM
The code that routes packets in RoutingTableImpl is structured as follows.
if ( addressee == domainname ) { // process stanzas that are addressed to the XMPP domain itself. } else if ( addressee is subdomain of domainname ) { // process stanzas that are addressed to components. } else { // process S2S packets }
The condition of the second block, however, is:
jid.getDomain().contains(serverName) && (hasComponentRoute(jid) || ExternalComponentManager.hasConfiguration(jid.getDomain())))
This will cause any stanza that is addressed to a non-existing subdomain to be processed by the S2S routines. In effect, they get queued forever, which causes a memory leak.
Many thanks to Lars Hoogweg for reporting this issue.