[postgis-devel] Memory alignment issues (was: crash(somehow)resolved)

Michael Fuhr mike at fuhr.org
Thu Nov 17 14:20:27 PST 2005

On Wed, Nov 16, 2005 at 04:32:18PM -0000, Mark Cave-Ayland wrote:
> As far as I know there isn't a commit message list - I'll announce on
> postgis-devel when I commit the new code which should be over the next few
> days. It may be that I need to post some example scripts if the regression
> tests don't yet cover the transform function :)

I see that some new code has been committed.  My Solaris 9/sparc box
running PostgreSQL 8.2devel and PostGIS 1.1.0CVS now crashes on calls
to transform():

postgis=> select transform(geomfromtext('POINT(0 0)', 4326), 4269);
WARNING:  detected write past chunk end in SPI Proc 3db0b0
WARNING:  detected write past chunk end in SPI Proc 4391f8
server closed the connection unexpectedly

In addition to the above warnings, the server logged the following
assertion (this server is built with --enable-cassert; see the
PostgreSQL source code for the actual assertion that was expanded
into the code shown):

TRAP: BadArgument("!(((context) != ((void *)0) && (((((Node*)((context)))->type) == T_AllocSetContext))))", File: "mcxt.c", Line: 163)
<2005-11-17 15:03:51.368 MST 28489> LOG:  server process (PID 2474) was terminated by signal 6

Here's all I get from a stack trace:

(gdb) bt
#0  0xfee204f8 in _libc_kill () from /usr/lib/libc.so.1
#1  0xfedb6d18 in abort () from /usr/lib/libc.so.1
#2  0x00219b70 in ExceptionalCondition (conditionName=0x2ea2f0 "!(((context) != ((void *)0) && (((((Node*)((context)))->type) == T_AllocSetContext))))", 
    errorType=0x2ea2e0 "BadArgument", fileName=0x2ea288 "mcxt.c", lineNumber=163) at assert.c:51
#3  0x00231778 in MemoryContextDelete (context=0x2ea2f0) at mcxt.c:165

Michael Fuhr

More information about the postgis-devel mailing list