[postgis-devel] Still problems on Ultrasparc with 1.0.5/8.1.0

strk at refractions.net strk at refractions.net
Mon Nov 28 04:02:27 PST 2005


No, GEOS shouldn't have to do with this.
The backtrace shows something about index_insert, do
dropping index help ?
It would help building postgres with --enable-cassert
and -g.

--strk;

On Sun, Nov 27, 2005 at 10:11:56PM +0100, Alex Mayrhofer wrote:
> Hi,
> 
> unfortunately, i'm still experiencing problems with PostGIS 1.0.5 on 
> Sparc/Linux (Linux with 32bit userland9. I'm trying to insert a medium 
> sized LINESTRING geometry into a table:
> 
> - When performing the query on a "freshly started" server, it works just 
> exactly once:
> 
> terrasketch=# \i machhin
> INSERT 0 1
> 
> ["machhin" probably just makes sense to people speaking german, btw.]
> 
> First few lines of "machhin":
> 
> --- snip ---
> INSERT INTO upload_features (user_id, gpx_id, feature_type, geom_line, 
> geom_point, geom_hash, feature_name) VALUES ('28', NULL, 1, 
> GeomFromEWKT('SRID=4326;LINESTRING(16.358552 48.179637 241.908936 0, 
> 16.358688 48.179683 198.649536 0, 16.358746 48.179721 215.953247 0, 
> 16.358930 48.179645 218.356567 0, 16.358927 48.179629 220.279175 0, 
> 16.358928 48.179619 219.798584 0, 16.358844 48.179512 218.356567 0, 
> 16.358479 48.179115 218.356567 0, 16.357991 48.178605 218.837280 0,
> --- snip ---
> 
> - When i re-try the query, PostGIS seems to request unreasonable amounts of 
> memory (which initially could not be satisfied on my test box):
> 
> terrasketch=# \i machhin
> psql:machhin:1: ERROR:  out of memory
> DETAIL:  Failed on request of size 1040187400.
> terrasketch=# \i machhin
> psql:machhin:1: ERROR:  out of memory
> DETAIL:  Failed on request of size 1065320328.
> terrasketch=# \i machhin
> psql:machhin:1: ERROR:  out of memory
> DETAIL:  Failed on request of size 1065320328.
> terrasketch=# \i machhin
> psql:machhin:1: ERROR:  out of memory
> DETAIL:  Failed on request of size 1065320328.
> 
> [quitting, starting psql again]
> 
> terrasketch=# \i machhin
> psql:machhin:1: ERROR:  out of memory
> DETAIL:  Failed on request of size 1040187400.
> terrasketch=# \i machhin
> psql:machhin:1: ERROR:  out of memory
> DETAIL:  Failed on request of size 1065320328.
> terrasketch=# \i machhin
> psql:machhin:1: ERROR:  out of memory
> DETAIL:  Failed on request of size 1065320328.
> 
> (i've seen so far only those two request sizes on my test box)
> 
> - However, when i add enough swap so that the memory request can be 
> fulfilled, the respective postmaster crashes with the following backtrace:
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x704286c0 in memcpy () from /lib/libc.so.6
> (gdb) bt
> #0  0x704286c0 in memcpy () from /lib/libc.so.6
> #1  0x000403f4 in heap_fill_tuple ()
> #2  0x00042884 in index_form_tuple ()
> #3  0x0006d774 in btinsert ()
> #4  0x0023d3dc in FunctionCall6 ()
> #5  0x0006543c in index_insert ()
> #6  0x00122bb8 in ExecInsertIndexTuples ()
> #7  0x00119f34 in ExecEndPlan ()
> #8  0x00119b6c in ExecEndPlan ()
> #9  0x00118a3c in ExecutorRun ()
> #10 0x001ba818 in FreeQueryDesc ()
> #11 0x001bbbc0 in PortalRun ()
> #12 0x001bb36c in PortalRun ()
> #13 0x001b6880 in pg_plan_queries ()
> #14 0x001b98bc in PostgresMain ()
> #15 0x00189624 in ClosePostmasterPorts ()
> #16 0x00188e0c in ClosePostmasterPorts ()
> #17 0x00186df8 in PostmasterMain ()
> #18 0x001863f0 in PostmasterMain ()
> #19 0x0013dab8 in main ()
> (gdb)
> 
> More details about the installation:
> 
> terrasketch=# select postgis_full_version();
>                                          postgis_full_version 
> 
> ------------------------------------------------------------------------------------------------------
>  POSTGIS="1.0.5" GEOS="2.1.1" PROJ="Rel. 4.4.9, 29 Oct 2004" USE_STATS 
> DBPROC="0.3.0" RELPROC="0.3.0"
> (1 row)
> 
> (I know that GEOS is outdated, but i don't think this is relevant for this 
> query)?
> 
> My suspicion is that the variable where PostGIS keeps it's desired memory 
> request size is zeroed on the first query, but is not properly initialized 
> on the second query... probably an Ultrasparc alignment/variable size 
> problem?
> 
> During compilation, two warnings are issued - i'm unsure if they are 
> related:
> 
> ptarray.c: In function `ptarray_segmentize2d':
> ptarray.c:222: warning: dereferencing type-punned pointer will break 
> strict-aliasing rules
> ptarray.c:222: warning: dereferencing type-punned pointer will break 
> strict-aliasing rules
> 
> 
> How can i help tracking this one down? I'm happy to provide query string, 
> table definitions as well as debugging time since this is pretty much a 
> show stopper for me now. Additionally, i've now access to a dedicated test 
> box which should ease debugging.
> 
> thanks & cheers
> 
> Alex
> _______________________________________________
> postgis-devel mailing list
> postgis-devel at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-devel

-- 

 /"\    ASCII Ribbon Campaign
 \ /    Respect for open standards
  X     No HTML/RTF in email
 / \    No M$ Word docs in email




More information about the postgis-devel mailing list