[racket] racket/db - query-rows: connection is permanently locked due to a terminated thread
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