MSN transport seems to be leaving a lot of session listeners around

Description

don't know if it helps here is jmap output - at the state where msn is not working

the MSNSessionListener (also net.sf.jml.impl.SimpleMessenger) is increasing and never get released on this state

bash-3.00$ jmap -histo:live 18874 | grep msn
115: 2904 46464 org.jivesoftware.openfire.gateway.protocols.msn.MSNSessionListener
182: 175 9800 org.jivesoftware.openfire.gateway.protocols.msn.MSNBuddy
233: 51 4896 org.jivesoftware.openfire.gateway.protocols.msn.MSNSession
322: 61 2440 org.jivesoftware.openfire.gateway.protocols.msn.MSNListener$SessionReaper
361: 61 1952 org.jivesoftware.openfire.gateway.protocols.msn.MSNListener
1090: 1 56 org.jivesoftware.openfire.gateway.protocols.msn.MSNTransport
bash-3.00$ jmap -histo:live 18874 | grep jml
34: 16538 1190736 net.sf.jml.impl.MsnContactImpl
40: 5984 574464 [Lnet.sf.jml.protocol.MsnMessage;
54: 19760 316160 net.sf.jml.Email
55: 19442 311072 net.sf.jml.MsnClientId
56: 19442 311072 net.sf.jml.impl.MsnUserPropertiesImpl
62: 2904 209088 net.sf.jml.impl.SimpleMessenger
65: 2904 185856 net.sf.jml.impl.MsnOwnerImpl
76: 5984 143616 net.sf.jml.impl.MsnMessageChainImpl
78: 2904 139392 net.sf.jml.impl.MsnContactListImpl
88: 2824 112960 net.sf.jml.impl.MsnConnectionImpl
90: 3403 108896 net.sf.jml.impl.MsnGroupImpl
93: 2992 95744 net.sf.jml.protocol.MsnSession
98: 2376 76032 net.sf.jml.protocol.outgoing.OutgoingPNG
101: 177 68504 [Lnet.sf.jml.MsnContact;
103: 1268 60864 net.sf.jml.MsnObject
104: 1851 59232 net.sf.jml.protocol.incoming.IncomingQNG
112: 2992 47872 net.sf.jml.protocol.TransactionId
113: 2992 47872 net.sf.jml.protocol.MsnSession$1
116: 2904 46464 [Lnet.sf.jml.MsnProtocol;
117: 2904 46464 net.sf.jml.impl.BasicMessenger$MessengerSessionListener
133: 778 24896 net.sf.jml.message.IncomingMimeMessage
140: 662 21184 net.sf.jml.protocol.outgoing.OutgoingMSG
147: 531 16992 net.sf.jml.protocol.incoming.IncomingUBX
175: 332 10624 net.sf.jml.protocol.incoming.IncomingNLN
201: 323 7752 net.sf.jml.impl.BasicMessenger$1
213: 200 6400 net.sf.jml.protocol.outgoing.OutgoingXFR
227: 166 5312 net.sf.jml.protocol.incoming.IncomingLST
230: 178 5176 [Lnet.sf.jml.MsnGroup;
240: 114 4560 net.sf.jml.protocol.outgoing.OutgoingUUX
254: 88 4224 net.sf.jml.impl.SimpleSwitchboard
280: 105 3360 net.sf.jml.protocol.incoming.IncomingILN
295: 92 2944 net.sf.jml.protocol.incoming.IncomingFLN
302: 87 2784 net.sf.jml.protocol.outgoing.OutgoingCHG
303: 85 2720 net.sf.jml.protocol.outgoing.OutgoingQRY
308: 82 2624 net.sf.jml.protocol.incoming.IncomingXFR
322: 75 2400 net.sf.jml.protocol.outgoing.OutgoingSYN
328: 70 2240 net.sf.jml.protocol.outgoing.OutgoingUSRAuthNS
342: 66 2112 net.sf.jml.protocol.incoming.IncomingUUX
350: 64 2048 net.sf.jml.protocol.outgoing.OutgoingUSRInitNS
356: 62 1984 net.sf.jml.protocol.incoming.IncomingQRY
358: 61 1952 net.sf.jml.protocol.outgoing.OutgoingCVR
359: 61 1952 net.sf.jml.protocol.incoming.IncomingCHL
370: 57 1824 net.sf.jml.protocol.outgoing.OutgoingVER
375: 55 1760 net.sf.jml.protocol.outgoing.OutgoingADC
379: 52 1664 net.sf.jml.protocol.incoming.IncomingUSR
397: 47 1504 net.sf.jml.protocol.outgoing.OutgoingCAL
398: 47 1504 net.sf.jml.protocol.outgoing.OutgoingUSRAuthSB
408: 44 1408 net.sf.jml.protocol.incoming.IncomingRNG
409: 88 1408 net.sf.jml.impl.BasicSwitchboard$SBSessionListener
410: 88 1408 net.sf.jml.impl.BasicMessenger$2
422: 41 1312 net.sf.jml.protocol.incoming.IncomingCAL
427: 40 1280 net.sf.jml.protocol.incoming.IncomingCHG
431: 39 1248 net.sf.jml.protocol.incoming.IncomingJOI
464: 32 1024 net.sf.jml.protocol.incoming.IncomingADC
480: 29 928 net.sf.jml.protocol.outgoing.OutgoingANS
510: 25 800 net.sf.jml.protocol.incoming.IncomingANS
515: 24 768 net.sf.jml.protocol.incoming.IncomingIRO
528: 23 736 net.sf.jml.protocol.incoming.IncomingBPR
531: 46 736 net.sf.jml.protocol.WrapperMessage
579: 16 512 net.sf.jml.protocol.incoming.IncomingPRP
809: 5 160 net.sf.jml.protocol.incoming.IncomingError
844: 9 144 net.sf.jml.MsnUserStatus
858: 4 128 net.sf.jml.protocol.incoming.IncomingCVR
863: 8 128 net.sf.jml.MsnUserPropertyType
879: 5 120 net.sf.jml.MsnList
912: 3 96 net.sf.jml.protocol.incoming.IncomingSBS
919: 3 96 net.sf.jml.protocol.incoming.IncomingSYN
922: 3 96 net.sf.jml.protocol.incoming.IncomingGTC
924: 3 96 net.sf.jml.protocol.incoming.IncomingBLP
926: 3 96 net.sf.jml.protocol.incoming.IncomingLSG
962: 5 80 net.sf.jml.MsnProtocol
981: 5 80 net.sf.jml.Telephone
990: 5 80 net.sf.jml.protocol.outgoing.OutgoingMSG$MsgType
1038: 2 64 net.sf.jml.protocol.incoming.IncomingVER
1154: 3 48 net.sf.jml.MsnConnectionType
1345: 1 32 net.sf.jml.protocol.incoming.IncomingREM
1430: 1 24 net.sf.jml.message.p2p.DisplayPictureDuelManager
1618: 1 16 net.sf.jml.message.p2p.DisplayPictureDuelManager$RemoveMsnObjectWorker
1785: 1 8 net.sf.jml.protocol.MsnMessageRecognizer

Environment

None

Activity

Show:
Gernot Pansy
December 20, 2007, 3:20 AM

last worked version was: 1.1.0beta2

Gernot Pansy
December 20, 2007, 11:32 PM

altough is saw there seems to be generally a bug. on restarting a plugin some objects left in heap memory - altough on my test-server:

after one plugin restart:
475: 10 320 org.jivesoftware.openfire.gateway.type.TransportType
478: 10 320 org.jivesoftware.openfire.gateway.type.TransportType

after 2 plugin restarts:
508: 10 320 org.jivesoftware.openfire.gateway.type.TransportType
511: 10 320 org.jivesoftware.openfire.gateway.type.TransportType
514: 10 320 org.jivesoftware.openfire.gateway.type.TransportType

and so on, altough the objects of the external libs are staying in heap.

Daniel Henninger
January 3, 2008, 3:28 AM

I can see no reason why the session listener would be getting left behind. The cleanup routines should be nulling the reference and appropriately killing it off. Unless JML itself is keeping it alive for some reason. Hrm.

Gernot Pansy
May 8, 2008, 1:12 AM

it seem's that this bug is solved by

Daniel Henninger
November 20, 2008, 11:38 PM
Incomplete

Assignee

Daniel Henninger

Reporter

Daniel Henninger

Labels

None

Expected Effort

None

Ignite Forum URL

None

Components

Fix versions

Affects versions

Priority

Critical
Configure