[Pidgin] #3926: amd64 incompatibilites with libpurple and dbus
Pidgin
trac at pidgin.im
Mon Nov 12 15:23:28 EST 2007
#3926: amd64 incompatibilites with libpurple and dbus
-----------------------+----------------------------------------------------
Reporter: Trundle | Type: defect
Status: new | Priority: minor
Component: libpurple | Version: 2.2.2
Keywords: | Pending: 0
-----------------------+----------------------------------------------------
The following code results in an exception:
{{{
#!python
#!/usr/bin/env python
import dbus
import dbus.decorators
import dbus.glib
import gobject
purple = None
def on_signed_on(buddy_id):
print 'Signed on:', purple.PurpleBuddyGetName(buddy_id)
def main():
global purple
bus = dbus.SessionBus()
obj = bus.get_object('im.pidgin.purple.PurpleService',
'/im/pidgin/purple/PurpleObject')
purple = dbus.Interface(obj, 'im.pidgin.purple.PurpleInterface')
# Register signals
bus.add_signal_receiver(on_signed_on,
dbus_interface='im.pidgin.purple.PurpleInterface',
signal_name='BuddySignedOn')
# Start the mainloop
gobject.MainLoop().run()
if __name__ == '__main__':
main()
}}}
Exception and traceback:
{{{
ERROR:dbus.connection:Unable to set arguments
(dbus.UInt64(287762809624L),) according to signature u'i':
exceptions.OverflowError: Value 792 out of range for Int32
ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
File "/var/lib/python-support/python2.4/dbus/connection.py", line 214,
in maybe_handle_message
self._handler(*args, **kwargs)
File "./bug.py", line 11, in on_signed_on
print 'Signed on:', purple.PurpleBuddyGetName(buddy_id)
File "/var/lib/python-support/python2.4/dbus/proxies.py", line 135, in
__call__
args,
File "/var/lib/python-support/python2.4/dbus/connection.py", line 597,
in call_blocking
message.append(signature=signature, *args)
OverflowError: Value 792 out of range for Int32
}}}
Same code just works fine if the purple client (not the py script) is
started in a 32 bit environment. I'm using the debian-packaged libpurple0
(version 2.2.2-1).
--
Ticket URL: <http://developer.pidgin.im/ticket/3926>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list