[racket] racket/db - query-rows: connection is permanently locked due to a terminated thread

From: Ryan Culpepper (ryan at cs.utah.edu)
Date: Thu Feb 2 02:53:58 EST 2012

On 02/01/2012 10:09 PM, Curtis Dutton wrote:
> I'm receiving this error after my webserver is running for a few days.
>
> Hosting a plt webserver on Ubuntu server, I'm using the racket/db
> library to access a local postgres database. After a few hundred
> requests, over a period of days, I eventually get this error message.
> "query-rows: connection is permanently locked due to a terminated thread"
>
> Once this error is generated all calls made to the database then fail,
> and continue to fail until I restart the webserver process.
>
> I am using the virtual connection pooling interface as well.
>
> Has anyone seen this yet?
>
> I submitted  bug #12530.
>
> I have not been able to reproduce this manually. It happens after a few
> days. I'm willing to instrument or hack at it to help determine the
> issue but a little guidance would be very welcome.

I'll look into it. If the error has a stack trace, that would be very 
helpful.

You could also try wrapping the postgresql connection in a 
kill-safe-connection proxy. That is, change

   (postgresql-connect ....)

to

   (kill-safe-connection (postgresql-connect ....))

and see if that makes a difference.

Ryan

Posted on the users mailing list.