Thread: python Backend message type 0x44 arrived while idle

python Backend message type 0x44 arrived while idle

From
Adam Haberlach
Date:
    I'm having trouble selecting "long" rows out of a database
of email messages using python.  I'm working on an IMAP server
in python using Postgres as a backend datastore.  All the
code can be seen with a little poking around at
http://zipcode.sourceforge.net but basically I'm just
executing a query and it is blowing up.

    Is this due to the greater-then 8k fields that I'm using
to store messages?

pg.version == 3.1

select version() yields:
PostgreSQL 7.1 on sparc-sun-solaris2.8, compiled by GCC 2.95.3

##
SELECT * FROM messages WHERE folder_pkey ='12' ORDER BY pkey
##
Backend message type 0x44 arrived while idle
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/local/lib/python2.1/threading.py", line 378, in __bootstrap
    self.run()
  File "/usr/local/lib/python2.1/threading.py", line 366, in run
    apply(self.__target, self.__args, self.__kwargs)
  File "/usr/local/lib/python2.1/SocketServer.py", line 253, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/lib/python2.1/SocketServer.py", line 501, in __init__
    self.handle()
  File "./zipcode.py", line 197, in handle
    messages = self.selected_folder.fetch_by_uids(begin, end)
  File "./datastore.py", line 18, in fetch_by_uids
    res = self.db.query(q)
_pg.error: pqReadData() --  read() failed: errno=2
No such file or directory
##



--
Adam Haberlach     | Computer science has the unfortunate characteristic
adam@newsnipple.com| that many of the pioneers of the field are still
                   | alive and doing research.
                   |        -- Adam Rifkin

Re: python Backend message type 0x44 arrived while idle

From
Adam Haberlach
Date:
On Wed, Oct 17, 2001 at 02:46:10PM -0700, Adam Haberlach wrote:
>     I'm having trouble selecting "long" rows out of a database
> of email messages using python.  I'm working on an IMAP server
> in python using Postgres as a backend datastore.  All the
> code can be seen with a little poking around at
> http://zipcode.sourceforge.net but basically I'm just
> executing a query and it is blowing up.

    Ah.  Someone pointed out that threads could be the problem,
and they seem to be, since I've switched to a non-threaded
TCPServer and things work well.

...silly me for assuming thread safety in python libs...

--
Adam Haberlach     | Computer science has the unfortunate characteristic
adam@newsnipple.com| that many of the pioneers of the field are still
                   | alive and doing research.
                   |        -- Adam Rifkin