Hi,
You may be interested in the following information: today something wired
happened and pyicqt stopped working for single user here, while continued
to work for others.
By "stopped working" I mean that it suddenly logged the user out, and on
attempt to re-login ansered with a message
Undefined condition.
The error condition is not one of those defined by the other conditions in
this list.
------
ICQ connection lost! Reason: [Failure instance: Traceback (failure with no
frames):
twisted.internet.error.ConnectionLost: Connection to the other side was
lost in a non-clean fashion.]
This message arrived not immediately after login attempt, but after a
minute or so.
During that time, transport status in user's roster was "offline"
The following was logged to pyicqt log file:
[2008-09-03 13:11:53] Traceback (most recent call last):
File "/usr/local/share/pyicqt/pyicqt-0.8.1a3/src/tlib/oscar.py",
line 694, in dataReceived
state=func(flap)
File "/usr/local/share/pyicqt/pyicqt-0.8.1a3/src/tlib/oscar.py",
line 805, in oscar_Data
d.errback(snac)
File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line
251, in errback
self._startRunCallbacks(fail)
File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line
294, in _startRunCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line
307, in _runCallbacks
self.result = callback(self.result, *args, **kw)
File "/usr/local/share/pyicqt/pyicqt-0.8.1a3/src/tlib/oscar.py",
line 1970, in _cbRequestSSI
if snac[1] == 0x0f: # same SSI as we have
exceptions.TypeError: unsubscriptable object
I've tried several things to fix it, including trying the latest version
(0.8.1a3), and that did not help - I got the same behaviour and the same
traceback with 0.8.1a3 as well.
However, after an hour or so the problem suddenly disappeared and pyicqt
started to work correctly for the affected user again.
Since nothing changed at my side, I guess this could be caused by icq
server
sending something wired and then stopping doing so. However, maybe it is
possible to "fix" pyicqt to stop getting TypeError on "strange" input from
server?
I agree that attempt to support any sort of unexpected server behaviour is
strange at least.
However, i'm interested [as a programmer] how in this particular case
TypeError could happen - that means, how invalid server input could change
the type of 'snac' object at oscar.py:1970
This may indicate a bug somewhere.
Btw, while we are on topic.
The serious issue that makes it virtually impossible to move local users
from icq to jabber+pyicqt, is that after initial registration in the
transport, user gets his icq contact list (sometimes huge!) imported into
jabber roster in numeric form (as NNN...@icq.xxx.xxx.xx). Is there any
possibility to automatically import nicknames of ICQ contacts (including
russian nicknames)?
Hmm. So it is not transport who inserts entries into user's roster?
Instead, transport asks clent to do so?
Also, I was not able to find the option in psi 0.10 from debian etch. Is it
available only on later versions?
> Hmm. So it is not transport who inserts entries into user's roster?
> Instead, transport asks clent to do so?
no, transport add nick like u...@icq.server.com & client resolv nick
Independently
> Also, I was not able to find the option in psi 0.10 from debian etch. Is it
> available only on later versions?
it's hidden option, but in psi-0.12 added "raw config.xml editor"
for 0.10 see
http://forum.psi-im.org/post/26607
Dne Fri, 12 Sep 2008 04:03:19 -0700 (PDT)
r000n <r000...@gmail.com> napsal(a):
>
> Hi. Beta of PyICQt 0.8.1 here.
> You can get it right now:
>
> http://py-transports.googlegroups.com/web/pyicqt-0.8.1b-unstable.tar.gz
I sometimes get this exception in the log:
[2008-09-17 13:46:42] Traceback (most recent call last):
File "/usr/share/pyicqt/src/tlib/oscar.py", line 704, in dataReceived
state=func(flap)
File "/usr/share/pyicqt/src/tlib/oscar.py", line 826, in oscar_Data
d.callback(snac)
File "/usr/lib/python2.5/site-packages/twisted/internet/defer.py", line 243, in callback
self._startRunCallbacks(result)
File "/usr/lib/python2.5/site-packages/twisted/internet/defer.py", line 312, in _startRunCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "/usr/lib/python2.5/site-packages/twisted/internet/defer.py", line 328, in _runCallbacks
self.result = callback(self.result, *args, **kw)
File "/usr/share/pyicqt/src/legacy/icqt.py", line 772, in gotNickname
self.oscarcon.legacyList.updateNickname(uin, unick)
File "/usr/share/pyicqt/src/legacy/buddies.py", line 234, in updateNickname
bos.modifyItemSSI(u)
File "/usr/share/pyicqt/src/tlib/oscar.py", line 2232, in modifyItemSSI
groupID = item.group.group.findIDFor(item.group)
exceptions.AttributeError: SSIGroup instance has no attribute 'group'
--
Michal Čihař | http://cihar.com | http://blog.cihar.com
running ~ week without crashes, 2-3 users online
What about some sort of changelog? :)
how about "killer feature" - file transfer? it's planned? we can hope?
Dne Tue, 7 Oct 2008 04:44:45 -0700 (PDT)
r000n <r000...@gmail.com> napsal(a):
>
> 0.8.1b2:
> http://groups.google.com/group/py-transports/web/pyicqt-0.8.1b2-unstable.tar.gz
> Without cardinal changes, but with usability improvements :)
I've just seen following exception in the log:
File "/usr/share/pyicqt/src/tlib/oscar.py", line 704, in dataReceived
state=func(flap)
File "/usr/share/pyicqt/src/tlib/oscar.py", line 828, in oscar_Data
d.errback(snac)
File "/usr/lib/python2.5/site-packages/twisted/internet/defer.py", line 269, in errback
self._startRunCallbacks(fail)
File "/usr/lib/python2.5/site-packages/twisted/internet/defer.py", line 312, in _startRunCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "/usr/lib/python2.5/site-packages/twisted/internet/defer.py", line 328, in _runCallbacks
self.result = callback(self.result, *args, **kw)
File "/usr/share/pyicqt/src/tlib/oscar.py", line 2071, in _cbRequestSSI
if snac[1] == 0x0f: # same SSI as we have
exceptions.TypeError: 'NoneType' object is unsubscriptable
No idea what action has caused it...
> 0.8.1b3
> Changed:
> * Updated Russian translation (thanks evadim)
> * Corrected SOCKS 5 connection
> Added:
> * Ad-Hoc: 'Help' command (with link on this mailing list ;))
> * Ad-Hoc: 'Deny all auth requests' command in settings
> * Transport can sends messages to connected users before stop
> (<enableShutdownMessage/> option in config)
Hi,
I changed some use of range into xrange. And removed some range
completely. I hope that this will save some memory. After a few tests,
the transport seams to work after that patch.
You could download the patch at:
http://animux.de/downloads/pyicq-t.patch
Hope you will find it helpful.
Alex
What versions of python and twisted does 0.8.1b3 require?
Will it work in debian etch (python 2.4, twisted 2.4)?