Re: COPY error: pqReadData() -- backend closed the channel unexpectedly

From: Lee Joramo <lee(dot)list(at)joramo(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: postgre general list <pgsql-general(at)postgresql(dot)org>
Subject: Re: COPY error: pqReadData() -- backend closed the channel unexpectedly
Date: 2001-01-09 16:48:20
Message-ID: 19341204102004.14@smtp.acsol.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thanks for the helpful feedback.

>> [PostgreSQL 6.5.2 on powerpc-unknown-linux-gnu, compiled by gcc 2.95.2]
>
>Hm. Did you compile at -O0? Pre-7.1 PG is known to have a lot of
>problems on PPC if compiled with any optimization at all.

I don't remember. I installed it nine months ago. I normally keep notes
of what I do, but I don't seem to have recorded what I did while
installing postgre. Most likely I do not have specfic notes for the
postgre installation because because it was part of the initial LinuxPCC
2000 installation from CD.

>> The 'classifieds.dat' consists of about 2200 lines. I have determined
>> that the problem is caused by just the following line (literal tabs have
>> been replaced with <TAB>):
>
>Are there any lines with more than 2700 characters worth of ad copy?
>Pre-7.1 PG has a limit of 1/3 page or about 2700 bytes for any indexed
>column ... and 6.5 tends to fall over rather than give an error if you
>exceed the limit :-(

The longest line in the 'classifieds.dat' file is 1152 characters and the
corrosponding adcopy field is 1140 characters. So I should be well under
this problem. (That being said, I am glad to hear about this problem so
that I can catch it before it occurs.)

>This particular line is well below that, but you could still see the
>problem appear or disappear depending on which entries happen to fall
>on the same disk page, so subtracting a line that isn't directly causing
>the problem might be enough to mask the bug.

Except, that the file loads just fine without the offending line, _AND_
when the the offending line is loaded by itself it causes the 'backend
closed' error. I beleive, that the way that I isolated the bad line also
precludes your idea. I found the bad line by repeatedly cutting the
'classifieds.dat' file in halfs, until I isolated the bad line.

>If that's not it, I'm not sure ... but I'd still recommend updating to
>7.0.3 just on general principles.

I sure agree with that. Unfortunately, our public web server which is a
Cobalt RaQ3 that runs 6.5.2 as well. I am not going to attempt an upgrade
of the Cobalt, since much of the systems admin interface is driven by
postgre. (Plus this machine is hosted by a far away company.) I am
beginning to work up plans to change this situation, but until then I am
stuck with 6.5.2

>On many Linuxes, processes started from boot scripts are by default
>started with "ulimit -c 0", which prevents creation of core files.
>You may need to say "ulimit -c unlimited" in the postmaster startup
>script to allow creation of corefiles.

Thanks, I give that a try.

--
Lee A. Joramo ljoramo(at)nickads(dot)com
The Nickel Want Ads www.nickads.com
Internet Manager 970-242-5555

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Matthew Kennedy 2001-01-09 16:49:49 is there a vendor independent C API for DB development?
Previous Message Bruce Momjian 2001-01-09 16:30:54 Re: trouble with db-restore