Message4008

Author mlevalle
Recipients mlevalle
Date 2009-01-07.23:06:21
SpamBayes Score 0.00031822207
Marked as misclassified No
Message-id <1231369583.52.0.792047082248.issue1220@psf.upfronthosting.co.za>
In-reply-to
Content
Spiro is an open source tool that can be used to talk between cpython
and jython. (Available here: http://www.freenet.org.nz/python/spiro/)

It works in Jython 2.1, but fails when running as a server in Jython2.5b0

with

It works with Python 2.5 so I figure that it should work with Jython 2.5.
 (Seems to be a pickling issue)

spiro-0.1.0>jython spiroserver.py
2009-01-07 17:43:04 spiroserver.py:120:run():
* Listening for client requests on 127.0.0.1:9091

2009-01-07 17:44:49 spiroserver.py:188:handle():
* Got req from (u'127.0.0.1', 4781)

2009-01-07 17:44:49 spiroserver.py:607:__init__():
* creating SpiroUnpickler

2009-01-07 17:44:49 spiroserver.py:249:executeRequest():
* {'attr': 'do', 'cacheId': None, 'kw': {}, 'args': (0,), 'cmdId': 0,
'cmd': 'ge
t'}

2009-01-07 17:44:49 spiroserver.py:324:executeRequest():
* get: seeking root attrib do

2009-01-07 17:44:49 spiroserver.py:555:sendReply():
* sending reply {'status': 'ok', 'val': None, 'cacheId': 0, 'type':
'reply', 'cm
dId': 0}

2009-01-07 17:44:49 spiroserver.py:607:__init__():
* creating SpiroUnpickler

2009-01-07 17:44:49 spiroserver.py:249:executeRequest():
* {'attr': None, 'cacheId': 0, 'kw': {}, 'args': ('import java',),
'cmdId': 1, '
cmd': 'call'}

2009-01-07 17:44:49 spiroserver.py:370:executeRequest():
* about to call object '<bound method SpiroSession.do of
<__main__.SpiroSession
instance at 11>>' with args=('import java',) kw={}

2009-01-07 17:44:49 spiroserver.py:451:do():
* Executing 'import java'

2009-01-07 17:44:49 spiroserver.py:380:executeRequest():
* back from call, allocated cacheId 1

2009-01-07 17:44:49 spiroserver.py:555:sendReply():
* sending reply {'status': 'ok', 'val': 'N.', 'cacheId': 1, 'type':
'reply', 'cm
dId': 1}

2009-01-07 17:44:49 spiroserver.py:607:__init__():
* creating SpiroUnpickler

2009-01-07 17:44:49 spiroserver.py:607:__init__():
* creating SpiroUnpickler

2009-01-07 17:44:49 spiroserver.py:249:executeRequest():
* {'attr': None, 'cacheId': 1, 'kw': {}, 'args': (), 'cmdId': -1, 'cmd':
'goodby
e'}

2009-01-07 17:44:49 spiroserver.py:249:executeRequest():
* {'attr': 'java', 'cacheId': None, 'kw': {}, 'args': (0,), 'cmdId': 2,
'cmd': '
get'}

2009-01-07 17:44:49 spiroserver.py:324:executeRequest():
* get: seeking root attrib java

2009-01-07 17:44:49 spiroserver.py:329:executeRequest():
* get: about to eval 'java'

2009-01-07 17:44:49 spiroserver.py:332:executeRequest():
* get: got <java package java 19>

2009-01-07 17:44:49 spiroserver.py:555:sendReply():
* sending reply {'status': 'ok', 'val': None, 'cacheId': 2, 'type':
'reply', 'cm
dId': 2}

2009-01-07 17:44:49 spiroserver.py:607:__init__():
* creating SpiroUnpickler

2009-01-07 17:44:49 spiroserver.py:249:executeRequest():
* {'attr': 'lang', 'cacheId': 2, 'kw': {}, 'args': (0,), 'cmdId': 3,
'cmd': 'get
'}

2009-01-07 17:44:49 spiroserver.py:276:executeRequest():
* found item 2 in cache, fetching attrib lang

2009-01-07 17:44:49 spiroserver.py:293:executeRequest():
* about to reply

2009-01-07 17:44:49 spiroserver.py:555:sendReply():
* sending reply {'status': 'ok', 'val': None, 'cacheId': 3, 'type':
'reply', 'cm
dId': 3}

2009-01-07 17:44:49 spiroserver.py:607:__init__():
* creating SpiroUnpickler

2009-01-07 17:44:49 spiroserver.py:249:executeRequest():
* {'attr': 'Math', 'cacheId': 3, 'kw': {}, 'args': (0,), 'cmdId': 4,
'cmd': 'get
'}

2009-01-07 17:44:49 spiroserver.py:276:executeRequest():
* found item 3 in cache, fetching attrib Math

2009-01-07 17:44:49 spiroserver.py:293:executeRequest():
* about to reply

2009-01-07 17:44:49 spiroserver.py:555:sendReply():
* sending reply {'status': 'ok', 'val': None, 'cacheId': 4, 'type':
'reply', 'cm
dId': 4}

2009-01-07 17:44:49 spiroserver.py:607:__init__():
* creating SpiroUnpickler

2009-01-07 17:44:49 spiroserver.py:249:executeRequest():
* {'attr': 'sqrt', 'cacheId': 4, 'kw': {}, 'args': (0,), 'cmdId': 5,
'cmd': 'get
'}

2009-01-07 17:44:49 spiroserver.py:276:executeRequest():
* found item 4 in cache, fetching attrib sqrt

2009-01-07 17:44:49 spiroserver.py:293:executeRequest():
* about to reply

2009-01-07 17:44:49 spiroserver.py:555:sendReply():
* sending reply {'status': 'ok', 'val': None, 'cacheId': 5, 'type':
'reply', 'cm
dId': 5}

2009-01-07 17:44:49 spiroserver.py:607:__init__():
* creating SpiroUnpickler

2009-01-07 17:44:49 spiroserver.py:249:executeRequest():
* {'attr': '__str__', 'cacheId': 5, 'kw': {}, 'args': (0,), 'cmdId': 6,
'cmd': '
get'}

2009-01-07 17:44:49 spiroserver.py:276:executeRequest():
* found item 5 in cache, fetching attrib __str__

2009-01-07 17:44:49 spiroserver.py:293:executeRequest():
* about to reply

2009-01-07 17:44:49 spiroserver.py:555:sendReply():
* sending reply {'status': 'ok', 'val': None, 'cacheId': 6, 'type':
'reply', 'cm
dId': 6}

2009-01-07 17:44:49 spiroserver.py:607:__init__():
* creating SpiroUnpickler

2009-01-07 17:44:49 spiroserver.py:249:executeRequest():
* {'attr': None, 'cacheId': 6, 'kw': {}, 'args': (), 'cmdId': 7, 'cmd':
'call'}

2009-01-07 17:44:49 spiroserver.py:370:executeRequest():
* about to call object '<function _thefunc at 47>' with args=() kw={}

2009-01-07 17:44:49 spiroserver.py:380:executeRequest():
* back from call, allocated cacheId 7

2009-01-07 17:44:49 spiroserver.py:555:sendReply():
* sending reply {'status': 'ok', 'val': "S'<java function sqrt
40>'\np0\n.", 'ca
cheId': 7, 'type': 'reply', 'cmdId': 7}

2009-01-07 17:44:49 spiroserver.py:607:__init__():
* creating SpiroUnpickler

2009-01-07 17:44:49 spiroserver.py:249:executeRequest():
* {'attr': None, 'cacheId': 7, 'kw': {}, 'args': (), 'cmdId': -1, 'cmd':
'goodby
e'}

2009-01-07 17:44:49 spiroserver.py:607:__init__():
* creating SpiroUnpickler

2009-01-07 17:44:49 spiroserver.py:249:executeRequest():
* {'attr': None, 'cacheId': 5, 'kw': {}, 'args': (16,), 'cmdId': 8,
'cmd': 'call
'}

2009-01-07 17:44:49 spiroserver.py:370:executeRequest():
* about to call object '<java function sqrt 40>' with args=(16,) kw={}

2009-01-07 17:44:49 spiroserver.py:380:executeRequest():
* back from call, allocated cacheId 8

2009-01-07 17:44:49 spiroserver.py:555:sendReply():
* sending reply {'status': 'ok', 'val': 'F4.0\n.', 'cacheId': 8, 'type':
'reply'
, 'cmdId': 8}

2009-01-07 17:44:49 spiroserver.py:607:__init__():
* creating SpiroUnpickler

2009-01-07 17:44:49 spiroserver.py:249:executeRequest():
* {'attr': None, 'cacheId': 8, 'kw': {}, 'args': (), 'cmdId': -1, 'cmd':
'goodby
e'}

2009-01-07 17:44:49 spiroserver.py:224:getRequest():
* Traceback (most recent call last):
   +   File "spiroserver.py", line 222, in getRequest
   +     size = int(self.rfile.readline().strip())
   +   File "C:\DEV\jython2.5b0\Lib\socket.py", line 1276, in readline
   +     data = self._sock.recv(self._rbufsize)
   +   File "C:\DEV\jython2.5b0\Lib\socket.py", line 817, in recv
   +     raise _map_exception(jlx)
   + error: (104, 'Software caused connection abort')
   +
   + Failed to read size header, killing client

2009-01-07 17:44:49 spiroserver.py:194:handle():
* Traceback (most recent call last):
   +   File "spiroserver.py", line 192, in handle
   +     req = self.getRequest()
   +   File "spiroserver.py", line 225, in getRequest
   +     thread.exit()
   + SystemExit: 0
   +
   + Failed to get request

2009-01-07 17:44:49 spiroserver.py:130:finish_request():
* Client session terminated
History
Date User Action Args
2009-01-07 23:06:24mlevallesetrecipients: + mlevalle
2009-01-07 23:06:23mlevallesetmessageid: <1231369583.52.0.792047082248.issue1220@psf.upfronthosting.co.za>
2009-01-07 23:06:23mlevallelinkissue1220 messages
2009-01-07 23:06:22mlevallecreate