Issue 7: Jabberd2 auto-reconnection not working
Status:  WontFix
Owner: ----
Closed:  Dec 2008
Reported by jadest...@gmail.com, Dec 9, 2007
 Posted by guest at 2005-12-12 08:47:46

Submitted by : Norman

I'm seeing this with the AIM and ICQ transports, just you've
made it so that I can't break the AIM transport on demand (using the
search), but basically:

 - Something 'breaks' duirng processing, and a traceback is delivered.
 - The component disconnects from the server, and tries to reconnect
 - The component reconnects, using the jabberd-component protocol,
 - But never responds to the feature stanza, i.e. never starts sasl
authentication.

so it's half connected, and totally unusable.  This is happening with
the AIM and ICQ transports.

with the ICQ transport I can connect userA (dns might fail), and try
and search with userB, which causes this traceback:  (as you can see
after the traceback the conection is zapped, and restarted, by nothing
happens after that)

2005/12/11 16:20 SAST [SASLXmlStream,client] Traceback (most recent call last):
   File "/usr/lib/python2.3/site-packages/twisted/python/log.py", line
56, in callWithLogger
     return callWithContext({"system": lp}, func, *args, **kw)
   File "/usr/lib/python2.3/site-packages/twisted/python/log.py", line
41, in callWithContext
     return context.call({ILogContext: newCtx}, func, *args, **kw)
   File "/usr/lib/python2.3/site-packages/twisted/python/context.py",
line 52, in callWithContext
     return self.currentContext().callWithContext(ctx, func, *args, **kw)
   File "/usr/lib/python2.3/site-packages/twisted/python/context.py",
line 31, in callWithContext
     return func(*args,**kw)
 --- <exception caught here> ---
   File
"/usr/lib/python2.3/site-packages/twisted/internet/selectreactor.py",
line 139, in _doReadOrWrite
     why = getattr(selectable, method)()
   File "/usr/lib/python2.3/site-packages/twisted/internet/tcp.py",
line 351, in doRead
     return self.protocol.dataReceived(data)
   File "/usr/lib/python2.3/site-packages/twisted/xish/xmlstream.py",
line 145, in dataReceived
     self.stream.parse(buf)
   File "/usr/lib/python2.3/site-packages/twisted/xish/domish.py",
line 600, in parse
     self.parser.Parse(buffer)
   File "/usr/lib/python2.3/site-packages/twisted/xish/domish.py",
line 638, in _onEndElement
     self.ElementEvent(self.currElem)
   File "/usr/lib/python2.3/site-packages/twisted/xish/xmlstream.py",
line 166, in onElement
     self.dispatch(element)
   File "/usr/lib/python2.3/site-packages/twisted/xish/utility.py",
line 233, in dispatch
     callbacklist.callback(object)
   File "/usr/lib/python2.3/site-packages/twisted/xish/utility.py",
line 37, in callback
     methodwrapper(*args, **kwargs)
   File "/usr/lib/python2.3/site-packages/twisted/xish/utility.py",
line 21, in __call__
     self.method(*nargs, **nkwargs)
   File "main.py", line 291, in onRouteMessage
     self.discovery.onIq(child)
   File "/home/norman/src/svn/PyICQt/src/disco.py", line 133, in onIq
     handler(el)
   File "/home/norman/src/svn/PyICQt/src/misciq.py", line 585, in
incomingIq
     self.processSearch(el)
   File "/home/norman/src/svn/PyICQt/src/misciq.py", line 669, in
processSearch 
     self.pytrans.legacycon.doSearch(dataform,
iq).addCallback(self.gotSearchResponse)
 exceptions.AttributeError: 'NoneType' object has no attribute 'addCallback'

[2005-12-11 16:21:02] PyTransport: Disconnected from main Jabberd server
2005/12/11 16:21 SAST [SASLXmlStream,client] <twisted.internet.tcp.Connector
instance at 0xb777f38c> will retry in 2 seconds
2005/12/11 16:21 SAST [SASLXmlStream,client] Stopping factory
<sasl.SASLXmlStreamFactory instance at 0xb779a94c>
2005/12/11 16:21 SAST [-] Starting factory <sasl.SASLXmlStreamFactory
instance at 0xb779a94c>
[2005-12-11 16:21:29] Sessions:
[2005-12-11 16:21:29]  userA@jabber.localhost
[2005-12-11 16:21:29]   Psi
[2005-12-11 16:22:29] Sessions:
[2005-12-11 16:22:29]  userA@jabber.localhost
[2005-12-11 16:22:29]   Psi

[2005-12-11 16:23:29] Sessions:
[2005-12-11 16:23:30]  userA@jabber.localhost
[2005-12-11 16:23:30]   Psi

2005/12/11 16:23 SAST [-] Received SIGINT, shutting down.
[2005-12-11 16:23:46] PyTransport: Service shutting down
[2005-12-11 16:23:46] Session: Removing "userA@jabber.localhost"
[2005-12-11 16:23:46] User: userA@jabber.localhost - JabberConnection sending
presence "userA@jabber.localhost""icq.jabber.localhost"
"None" "None" "None" "unavailable"
"False" "None"
[2005-12-11 16:23:46] LegacyConnection: removeMe
[2005-12-11 16:23:46] ICQConnection: removeMe
[2005-12-11 16:23:46] ContactList: "userA@jabber.localhost" removed
[2005-12-11 16:23:46] Session: Completed removal
"userA@jabber.localhost"
[2005-12-11 16:23:50] PyTransport: Disconnected from main Jabberd server
2005/12/11 16:23 SAST [SASLXmlStream,client] <twisted.internet.tcp.Connector
instance at 0xb777f38c> will retry in 2 seconds
2005/12/11 16:23 SAST [SASLXmlStream,client] Stopping factory
<sasl.SASLXmlStreamFactory instance at 0xb779a94c>
2005/12/11 16:23 SAST [-] Main loop terminated.

Posted by jadestorm at 2005-12-13 13:21:45

I'm not sure what would cause the feature negotiation not to occur . . . =( 
Will have to look at the communication closer.


Dec 12, 2008
Project Member #1 r000ns...@gmail.com
Please reopen ticket if error happens again
Status: WontFix
Owner: ---