AnsweredAssumed Answered

Memory Leak caused by Socks5BytestreamManager hard references to XMPPConnection

Question asked by Enrico Ferrari on Jun 29, 2015
Latest reply on Jul 1, 2015 by Enrico Ferrari

First, thank you for the smack 4.1.2 update. The RosterGroup changes made fixed a very important memory leak for us. 

 

After profiling with 4.1.2, I noticed another XMPPConnection memory leak. The Socks5BytestreamManager class declares a "managers" HashMap. These references prevent XMPPConnection objects from being collected. This map should probably also be a WeakHashMap.

 

Luckily I do not need SOCKS5 Bytstreams and I have been able to work around the issue by disabling the service, like so:

  Socks5BytestreamManager.getBytestreamManager(xmppConnection).disableService();

Outcomes