08P01: unexpected EOF on client connection - Mailing list pgsql-general

From Tomas Vondra
Subject 08P01: unexpected EOF on client connection
Date
Msg-id 49FA4E0C.9040100@fuzzy.cz
Whole thread Raw
Responses Re: 08P01: unexpected EOF on client connection  (Craig Ringer <craig@postnewspapers.com.au>)
List pgsql-general
Hi,

I've run into some strange troubles with a quite simple web application
that stores data in a PostgreSQL database. It is a simple image gallery,
displaying multiple thumbnails (stored in a bytea column) on a single
page generated by PHP. The problem is some of the images are not displayed.

I've found that the postgresql.log contains these messages (many of them):

...
LOG:  08006: could not receive data from client: Connection reset by peer
LOCATION:  pq_recvbuf, pqcomm.c:738
LOG:  08P01: unexpected EOF on client connection
LOCATION:  SocketBackend, postgres.c:307
LOG:  08P01: unexpected EOF on client connection
LOCATION:  SocketBackend, postgres.c:307
LOG:  08006: could not receive data from client: Connection reset by peer
LOCATION:  pq_recvbuf, pqcomm.c:738
LOG:  08006: could not receive data from client: Connection reset by peer
LOCATION:  pq_recvbuf, pqcomm.c:738
...

Due to this, there are no data written to the output, so the browser
receives only "HTTP/1.x 200 OK" but does not receive the image itself
(and thus cannot display it).

The script fetching the data from a database is something this:

$conn = pg_connect(...);
$res = pg_query("SELECT mime, thumbnail_data FROM images WHERE filename
= ....");
$row = pg_fetch_assoc($row);
header('Content-Type: ' . $row['mime']);
echo pg_unescape_bytea($row['thumbnail_data']);

And it fails for some reason with the log messages listed above.

This behavior does not depend on a browser (I've tried that on multiple
ones), PHP version or Apache2 version (I've several more version). I've
noticed this on PostgreSQL 8.2.12 and 8.3.6 (on Linux x86).

It obviously does not depend on a number of images, as my testing
database contains only a few tiny images, and the "empty" images are
different each time (so there are no corrupted data or something like that).

Do you have any idea why this happens?

regards
Tomas

pgsql-general by date:

Previous
From: Craig Ringer
Date:
Subject: Re: How to begin to debug FATAL: invalid frontend message type 77 error messages?
Next
From: Scott Marlowe
Date:
Subject: Re: Understand this error