List Info

Thread: PYYIMT Transport fault with multiple users




PYYIMT Transport fault with multiple users
user name
2008-01-16 09:06:41
Dear All,
 
I got some trouble with my PYYIMT transport, because I couldn't find it I installed the newest CVS version of PYYIMT and also the newest xmpp library.
 
My problem is the following:
 
1. user1 registers to the PYYIMT transport, no problem transport comes online and user1 can work. user1 logs off.
 
2. user2 registers to the transport, no problems at all. user2 logs off.
 
3. if user2 logs-on again I don't see the transport coming online. And the following errors appears in the log:
 
Wed 16 Jan 2008 15:30:44 - CVS 1.71
Traceback (most recent call last):
&nbsp; File "yahoo.py", line 1315, in <module>
 ; &nbsp; rdsocketlist[each].Process()
&nbsp; File "/opt/contrib/imgatew/run/PYYIMT/ylib.py", line 696, in Process
&nbsp; &nbsp; self.ymsg_online(s,t)
  File "/opt/contrib/imgatew/run/PYYIMT/ylib.py", line 154, in ymsg_online
 &nbsp;  self.handlers['avatar'](self,pay[each][7],b)
  File "yahoo.py", line 861, in y_avatar
&nbsp;   userfile[yobj.fromjid] = conf
 ; File "/opt/contrib/imserv/run/PYTHON/lib/python2.5/shelve.py", line 124, in __setitem__
 &nbsp;  self.dict[key] = f.getvalue()
error: cannot add item to database
After a minute of 5 i get errors in the log like
 
Wed 16 Jan 2008 15:35:43 - CVS 1.71
Traceback (most recent call last):
&nbsp; File "yahoo.py", line 1315, in <module>
   ; rdsocketlist[each].Process()
&nbsp; File "/opt/contrib/imgatew/run/PYYIMT/ylib.py", line 696, in Process
&nbsp; &nbsp; self.ymsg_online(s,t)
  File "/opt/contrib/imgatew/run/PYYIMT/ylib.py", line 154, in ymsg_online
 &nbsp;  self.handlers['avatar'](self,pay[each][7],b)
  File "yahoo.py", line 851, in y_avatar
&nbsp;   conf = userfile[yobj.fromjid]
  File "/opt/contrib/imserv/run/PYTHON/lib/python2.5/shelve.py", line 112, in __getitem__
 &nbsp;  f = StringIO(self.dict[key])
KeyError: %27user2test.ibpmail.com%27">'user2test.ibpmail.com'
 
I don't know how the database of the transport works but it never gets bigger than 1024 bytes.
 
When the first user registers this is in the database (normal cat on the file):

au(dp1
S'username'
p2
Vuser1
p3
sS'password'
p4
Vpassword
p5
sS'subscribed'
p6
I01
sS'usubscribed'
p7
I01
s.user1test.ibpmail.com">s.user1test.ibpmail.com
 
This is when the second user authorizes itself:
 
auZU(dp1
S'username'
p2
Vuser2
p3
sS'subscribed'
p4
I01
sS'password'
p5
Vpassword
p6
sS'avatar'
p7
(dp8
sS'usubscribed'
p9
I01
s.user2test.ibpmail.com%28dp1">s.user2test.ibpmail.com(dp1
S'username'
p2
Vuser1
p3
sS'password'
p4
Vpassword
p5
sS'subscribed'
p6
I01
sS'usubscribed'
p7
I01
s.user1test.ibpmail.com">s.user1test.ibpmail.com
 
 
but this is when a third user registers itself (also had the error "cannot add item to the database).
Where is user2???
 
abFô(dp1
S'username'
p2
Vuser1
p3
sS'passwor(dp1
S'username'
p2
Vuser3
p3
sS'password'
p4
Vpassword
p5
sS'avatar'
p6
(dp7
s.user3test.ibpmail.com%28dp1">s.user3test.ibpmail.com(dp1
S'username'
p2
Vuser1
p3
sS'password'
p4
Vpassword
p5
sS'usubscribed'
p6
I01
sS'subscribed'
p7
I01
sS'avatar'
p8
(dp9
s.user1imserv-kn.ibpmail.com">s.user1imserv-kn.ibpmail.com
 
Strangely it looks like you can't register more than 1 user without breaking the transport. The yahoouser.dbm.pag file stays 1024 bytes and the yahoouser.dbm.dir stays 0 bytes.
 
anyone have an idea why this happens?? I register using PSI.
 
Regards,
Oliver.


Express yourself instantly with MSN Messenger! MSN Messenger
Re: PYYIMT Transport fault with multiple users
user name
2008-01-17 03:55:10
On Jan 16, 2008 5:06 PM, oliver bril < oliver_brilhotmail.com">oliver_brilhotmail.com> wrote:
File "/opt/contrib/imserv/run/PYTHON/lib/python2.5/shelve.py";, line 124, in __setitem__
 &nbsp;  self.dict[key] = f.getvalue()
error: cannot add item to database
 
I don't know how the database of the transport works but it never gets bigger than 1024 bytes.
 ;
Strangely it looks like you can't register more than 1 user without breaking the transport. The yahoouser.dbm.pag file stays 1024 bytes and the yahoouser.dbm.dir stays 0 bytes.
 
anyone have an idea why this happens?? I register using PSI.

 This looks like your python shelve module is playing up.  Silly question: do you have enough free disk space?&nbsp; When I use shelve it only creates a single file, not .pag and .dir files.&nbsp; It might be possible that shelve is falling back on a weird backend that isn't working correctly.  I think the default is bsddb (aka as dbhash to anydbm)?

What output do you get for this:

$ python
>;>> import anydbm
>;>> s=anydbm.open('testshelve9;,'c&#39;)
>&gt;> s.__class__
<class bsddb._DBWithCursor at 0xb7dd653c>
>>> s.__module__
'bsddb'
>;>> anydbm._names
['dbhash', 'gdbm&#39;, 'dbm&#39;, 'dumbdbm']

and what files are created?

--
- Norman Rasmussen
- Email: normanrasmussen.co.za">normanrasmussen.co.za
- Home page: http://norman.rasmussen.co.za/
[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )