Backend dies for DBI - Mailing list pgsql-interfaces

From Bjorn Solberg
Subject Backend dies for DBI
Date
Msg-id m3k862d2nk.fsf@pacbell.net
Whole thread Raw
Responses Re: Backend dies for DBI  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-interfaces
I have looked at the FAQs and archives, but haven't seen anything
resembling this so please bear with me:

Setup:

Linux x86, 2.2.16
Apache 1.3.19
mod_perl 1.25
HTML-Mason-0.89
PostgreSQL 7.0.3
DBI-1.14
DBD-Pg-0.95

Mason (which is a template package on top of mod_perl, see
http://www.masonhq.com/) opens a connection to the database, using DBI.
This handle is then used for subsequent DB access.  Mason runs within the
web server.

This worked flawlessly until I had a power outage a month or so ago.
Since then, the backend postmaster process seems to die now and then, and
I have been unable to reproduce it consistently.  That is, the number of
times I access the (dynamic HTML) page (and thus the DB) before the DB
crashes, varies.  The log file from postmaster simply says:

--->
StartTransactionCommand
[...]
ProcessQuery
CommitTransactionCommand
proc_exit(0)
shmem_exit(0)
exit(0)
/usr/local/pgsql/bin/postmaster: reaping dead processes...
/usr/local/pgsql/bin/postmaster: CleanupProc: pid 1297 exited with status 0
proc_exit(0)
shmem_exit(0)
exit(0)
/usr/local/pgsql/bin/postmaster: reaping dead processes...
/usr/local/pgsql/bin/postmaster: CleanupProc: pid 1298 exited with status 0
---<

The postmaster is started like this:

/usr/local/pgsql/bin/postmaster -d 2 -D /usr/local/pgsql/data >> /usr/local/pgsql/pgsql.log 2>&1

DBI (I think) sometimes output a message like "Backend message type 0x50
arrived while idle".  This can happen several times, and the crash does
not occur directly following any of the messages.

The DBI error message simply says

--->
DBD::Pg::st execute failed: pqReadData() -- backend closed the channel unexpectedly.       This probably means the
backendterminated abnormally       before or while processing the request.
 
---<

The same is true for Apache 1.3.12, mod_perl 1.24.  Any pointers and
hints so I can figure out how to make the backend not die, are greatly
appreciated.

Thanks,

Bjorn.


pgsql-interfaces by date:

Previous
From: lyonj@EM-Systems.com
Date:
Subject: Re: Re: can't delete record
Next
From: "J. T. Vermeulen"
Date:
Subject: libpq++