[postgis-users] PostGIS porting to Solaris

Don Drake don at drakeconsult.com
Mon Mar 28 18:11:39 PST 2005


The upgrade to 0.9.1 seems to have fixed it.  We are eager to upgrade to 1.0
(and PG 8.0), just waiting to get some free time to regression test our
tool.

Thanks.

-Don

-----Original Message-----
From: postgis-users-bounces at postgis.refractions.net
[mailto:postgis-users-bounces at postgis.refractions.net] On Behalf Of Paul
Ramsey
Sent: Monday, March 28, 2005 3:04 PM
To: Don Drake; PostGIS Users Discussion
Subject: Re: [postgis-users] PostGIS porting to Solaris

Don,
I am sure there are a number of latent memory alignment issues hanging 
around the code base. The world just is not as full of big-endiean 64 
bit machines as it is of little endian 32 bit ones, so testing is low.
Anyways, you are using a very old postgis. You should be able to use the 
latest 0.9 without any changes to your system.
And you should definitely consider trying out 1.0, since that is where 
all development effort is going to be.
Yours,
Paul

Don Drake wrote:

> We've developed a product using PostGIS 0.8.2 using Linux.   We're
> porting it to Solaris and have run into a problem with the DB crashing
> on simple spatial queries.
> 
> Here's the query that crashes on Solaris (but not on Linux):
> select  centroid(GeometryFromText('POLYGON((-86.9671883390996
> 41.2752652196155,-86.9642032882465 41.2752651809174,-86.9612182374049
> 41.275265064823,-86.9612184425768 41.2730131125765,-86.9612186477253
> 41.270761159446,-86.9642034934066 41.2707612755221,-86.9671883390996
> 41.2707613142141,-86.9671883390996 41.2730132673567,-86.9671883390996
> 41.2752652196155))', 4326));
> 
> I'm running Solaris 9, gcc 3.4.2, postgis 0.8.2, Geo 1.0, Proj 4.4.8,
> Postgres 7.4.6.
> 
> 
> geo=# select postgis_version();
>             postgis_version            
> ---------------------------------------
>  0.8 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
> (1 row)
> 
> Here's what I see in the logs:
> 
> 2005-03-28 14:51:40 LOG:  00000: statement: select 
> centroid(GeometryFromText('POLYGON((-86.9671883390996
> 41.2752652196155,-86.964203288246
> 5 41.2752651809174,-86.9612182374049 41.275265064823,-86.9612184425768
> 41.2730131125765,-86.9612186477253 41.270761159446,-86.9642034934066
>  41.2707612755221,-86.9671883390996 41.2707613142141,-86.9671883390996
> 41.2730132673567,-86.9671883390996 41.2752652196155))', 4326))
> LOCATION:  pg_parse_query, postgres.c:464
> 2005-03-28 14:51:40 DEBUG:  00000: PortalRun
> LOCATION:  PortalRun, pquery.c:412
> 2005-03-28 14:51:51 DEBUG:  00000: forked new backend, pid=14327 socket=9
> LOCATION:  BackendStartup, postmaster.c:2235
> 2005-03-28 14:51:51 DEBUG:  00000: reaping dead processes
> LOCATION:  reaper, postmaster.c:1819
> 2005-03-28 14:51:51 DEBUG:  00000: child process (PID 14317) was
> terminated by signal 11
> LOCATION:  LogChildExit, postmaster.c:2087
> 2005-03-28 14:51:51 LOG:  00000: server process (PID 14317) was
> terminated by signal 11
> LOCATION:  LogChildExit, postmaster.c:2087
> 2005-03-28 14:51:51 LOG:  00000: terminating any other active server
processes
> LOCATION:  CleanupProc, postmaster.c:2008
> 2005-03-28 14:51:51 DEBUG:  00000: sending SIGQUIT to process 14327
> LOCATION:  CleanupProc, postmaster.c:2032
> 2005-03-28 14:51:51 DEBUG:  00000: reaping dead processes
> LOCATION:  reaper, postmaster.c:1819
> 2005-03-28 14:51:51 DEBUG:  00000: child process (PID 14327) exited
> with exit code 0
> LOCATION:  LogChildExit, postmaster.c:2078
> 2005-03-28 14:51:51 LOG:  00000: all server processes terminated;
reinitializing
> LOCATION:  reaper, postmaster.c:1920
> 2005-03-28 14:51:51 DEBUG:  00000: shmem_exit(0)
> LOCATION:  shmem_exit, ipc.c:126
> 2005-03-28 14:51:51 DEBUG:  00000: invoking
IpcMemoryCreate(size=274382848)
> LOCATION:  CreateSharedMemoryAndSemaphores, ipci.c:73
> 2005-03-28 14:51:52 LOG:  00000: database system was interrupted at
> 2005-03-28 14:51:19 CST
> LOCATION:  StartupXLOG, xlog.c:2610
> 2005-03-28 14:51:52 LOG:  00000: checkpoint record is at 3/44C22378
> LOCATION:  StartupXLOG, xlog.c:2628
> 2005-03-28 14:51:52 LOG:  00000: redo record is at 3/44C22378; undo
> record is at 0/0; shutdown TRUE
> LOCATION:  StartupXLOG, xlog.c:2653
> 2005-03-28 14:51:52 LOG:  00000: next transaction ID: 10171; next OID:
43061793
> LOCATION:  StartupXLOG, xlog.c:2656
> 2005-03-28 14:51:52 LOG:  00000: database system was not properly shut
> down; automatic recovery in progress
> LOCATION:  StartupXLOG, xlog.c:2705
> 2005-03-28 14:51:52 LOG:  00000: record with zero length at 3/44C223B8
> LOCATION:  ReadRecord, xlog.c:1900
> 2005-03-28 14:51:52 LOG:  00000: redo is not required
> LOCATION:  StartupXLOG, xlog.c:2771
> 2005-03-28 14:51:54 LOG:  00000: database system is ready
> 
> 
> I trussed the postgres server, and here's the output:
> 
> 14317:  brk(0x00340BD8)                                 = 0
> 14317:  brk(0x00342BD8)                                 = 0
> 14317:  brk(0x00342BD8)                                 = 0
> 14317:  brk(0x00344BD8)                                 = 0
> 14317:  stat64("/usr/local/pgsql/lib/libpostgis.so.0.8", 0xFFBFCD70) = 0
> 14317:  time()                                          = 1112043100
> 14317:  write(2, " 2 0 0 5 - 0 3 - 2 8   1".., 20)      = 20
> 14317:  write(2, " D E B U G :     0 0 0 0".., 60)      = 60
> 14317:  brk(0x00344BD8)                                 = 0
> 14317:  brk(0x00346BD8)                                 = 0
> 14317:  stat64("/usr/local/pgsql/lib/libpostgis.so.0.8", 0xFFBFD260) = 0
> 14317:      Incurred fault #6, FLTBOUNDS  %pc = 0xFED4C73C
> 14317:        siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
> 14317:      Received signal #11, SIGSEGV [default]
> 14317:        siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
> 
> -Don
> 
> 

_______________________________________________
postgis-users mailing list
postgis-users at postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users






More information about the postgis-users mailing list