PyYIMt drops offline

12 views
Skip to first unread message

Leslie G. Seigneur

unread,
Feb 28, 2009, 10:44:55 PM2/28/09
to py-tra...@googlegroups.com

I recently updated to the latest CVS version of PyYIMt due to problems I was having with the previous version dropping offline daily, sometimes multiple times a day.  Shortly after upgrading  it dropped offline again.  I am running jabberd2 ver. 2.0.s8.  Here is what I see in the error log file:

 

XMLNotWellFormed: (u'xml-not-well-formed', u'unbound prefix')

Sat 28 Feb 2009 17:56:42 - CVS 1.73

Traceback (most recent call last):

  File "./yahoo.py", line 1309, in ?

    connection.Process(1)

  File "/usr/lib/python2.3/site-packages/xmpp/dispatcher.py", line 303, in dispatch

    handler['func'](session,stanza)

  File "/usr/lib/python2.3/site-packages/xmpp/dispatcher.py", line 215, in streamErrorHandler

    raise exc((name,text))

XMLNotWellFormed: (u'xml-not-well-formed', u'unbound prefix')

 

Les Seigneur

E-Mail: les at uark.edu

IM: les at jabber.uark.edu

 

"There are 10 types of people in the world: those who understand binary, and those who don't."

- Unknown

 

Norman Rasmussen

unread,
Mar 1, 2009, 3:31:30 PM3/1/09
to py-tra...@googlegroups.com
On Sun, Mar 1, 2009 at 5:44 AM, Leslie G. Seigneur <l...@uark.edu> wrote:

I recently updated to the latest CVS version of PyYIMt due to problems I was having with the previous version dropping offline daily, sometimes multiple times a day.  Shortly after upgrading  it dropped offline again.  I am running jabberd2 ver. 2.0.s8.  Here is what I see in the error log file:

XMLNotWellFormed: (u'xml-not-well-formed', u'unbound prefix')

yuck, jabberd2 is misbehaving, and sending us bad data.  (I'm using jabberd2 too, and have never seen this, so perhaps it's one of your clients?)

Can you enable dumpProtocol and post the last xml stanza that is shown before it disconnects (it should be the one causing the disconnect).

Also jabberd2 is now at 2.2.7.1, so it's worth looking at upgrading.  (I have public Debian builds if that helps at all)

--
- Norman Rasmussen
- Email: nor...@rasmussen.co.za
- Home page: http://norman.rasmussen.co.za/

Norman Rasmussen

unread,
Mar 3, 2009, 3:31:23 AM3/3/09
to py-tra...@googlegroups.com
Okay, I'm seeing this too:

s2t: <comp:route xmlns:comp='http://jabberd.jabberstudio.org/ns/component/1.0' to='yahoo.jabber.darkskies.za.net' from='s2s'><presence xmlns:ses='yahoogoogle:session' xmlns='jabber:client' type='unavailable' from='us...@gmail.com/TalkGadget79C4FE04' ses:terminated='true' to='y...@yahoo.jabber.darkskies.za.net'><upd:x xmlns:upd='vcard-temp:x:update'/></presence></comp:route>

t2s: <route to="gmail.com" from="yahoo.jabber.darkskies.za.net"><presence xmlns="jabber:client" type="error" from="y...@yahoo.jabber.darkskies.za.net" id="1875" ses:terminated="true" to="us...@gmail.com/TalkGadget79C4FE04"><x xmlns="vcard-temp:x:update" /><error code="407" type="auth"><registration-required xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" /><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">The requesting entity is not authorized to access the requested service because registration is required.</text></error></presence></route>

s2t: <stream:error xmlns:stream='http://etherx.jabber.org/streams'><xml-not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text xmlns='urn:ietf:params:xml:ns:xmpp-streams'>unbound prefix</text></stream:error></stream:stream>

So it seems that xmpp.py doesn't handle attribute namespaces correctly.  At least I assume it's the unbound ses:terminated that's causing the issue.

Norman Rasmussen

unread,
Mar 3, 2009, 5:27:36 AM3/3/09
to py-tra...@googlegroups.com
On Tue, Mar 3, 2009 at 10:31 AM, Norman Rasmussen <nor...@rasmussen.co.za> wrote:
So it seems that xmpp.py doesn't handle attribute namespaces correctly.  At least I assume it's the unbound ses:terminated that's causing the issue.

The gajim team already had a fix for the problem, so I backported it, http://xmpppy.cvs.sourceforge.net/viewvc/xmpppy/xmpppy/xmpp/simplexml.py?r1=1.33&r2=1.34

joeuser

unread,
Mar 3, 2009, 2:17:08 PM3/3/09
to py-transports
Thanks Norman, I'll apply the update. BTW I would have sent the debug
information to you sooner but the transport hasn't dropped offline
since I enable dumpProtocol. I'm a little unclear about what triggers
the problem. Does this mean that a gajim client may have been causing
it to fail?

On Mar 3, 4:27 am, Norman Rasmussen <nor...@rasmussen.co.za> wrote:
> On Tue, Mar 3, 2009 at 10:31 AM, Norman Rasmussen <nor...@rasmussen.co.za>wrote:
>
> > So it seems that xmpp.py doesn't handle attribute namespaces correctly.  At
> > least I assume it's the unbound ses:terminated that's causing the issue.
>
> The gajim team already had a fix for the problem, so I backported it,http://xmpppy.cvs.sourceforge.net/viewvc/xmpppy/xmpppy/xmpp/simplexml...

Norman Rasmussen

unread,
Mar 3, 2009, 4:35:20 PM3/3/09
to py-tra...@googlegroups.com
On Tue, Mar 3, 2009 at 9:17 PM, joeuser <l...@uark.edu> wrote:
Thanks Norman, I'll apply the update.  BTW I would have sent the debug
information to you sooner but the transport hasn't dropped offline
since I enable dumpProtocol.  I'm a little unclear about what triggers
the problem.  Does this mean that a gajim client may have been causing
it to fail?

No worries, my transport crashed for the first time today with the same problem, so I was able to get a dump of the xml.  The bug was caused by Google Talk sending some extra data, that xmpp.py didn't know how to handle correctly, combined with stricter checks in the newer version of jabberd2.  Gajim uses the same xmpp library that the transport uses, so I checked to see if they'd come across the same problem, and they had, so I copied their fix :-)

It's interesting that the extra bit of data is xmlns:ses='yahoogoogle:session' - I wonder if this means some sort of GTalk/Yahoo integration coming soon.
Reply all
Reply to author
Forward
0 new messages