[postgis-users] Always loosing my data to "invalid memory alloc request size"

Michael Fuhr mike at fuhr.org
Sun Jan 15 14:48:43 PST 2006


On Sun, Jan 15, 2006 at 12:05:35PM -0800, Dustin Moore wrote:
> It seems that everytime I do a large update I corrupt the database and 
> loose everything.  In particular, a command like this:
> update frame set frame_route_id = route_id from route where 
> frame_file=route_file;
> 	[route being a simple table with a btree indexe on route_file]

Errors aside, is the frame table normalized as much as it could be?
Does it need both frame_route_id and frame_file columns if one can
be determined from the other?

> I get errors like "ERROR:  invalid memory alloc request size 1671807492" 
> and these errors won't go away. If I then attempt to pg_dump -Fc it will
> fail with the same error. So basically, the data is gone (or at least I
> can't recover it in its entirety).

Tom Lane (one of the core PostgreSQL developers) recently made some
suggestions on tracking down the bad tuple and deleting it:

http://archives.postgresql.org/pgsql-admin/2006-01/msg00117.php

That doesn't fix the problem nor answer why it's happening, but at
least it might enable you to recover the good data.

> I'm running Postgis 1.1.0 on Postgresql 8.2.1 with Geos and Proj on Debian 
> stable.

There is no PostgreSQL 8.2.1.  What does "SELECT version();" show?

One possible cause of the error is bad data being written by the
OS or the hardware.  Have you done any hardware diagnostics?  Do
you have a different box you can test on?  If you can duplicate the
problem on another box then that would seem to rule out hardware
(unless you have a bunch of bad hardware).

-- 
Michael Fuhr



More information about the postgis-users mailing list