[postgis-devel] different EWKB representations on different machines?
strk at refractions.net
strk at refractions.net
Wed Nov 9 23:53:29 PST 2005
*WKB can either be big endian or little endian.
If you don't specify it it will be in the machine endian.
For POINT(1 1):
XDR:
\000\000\000\000\001?\360\000\000\000\000\000\000?\360\000\000\000\000\000\000
NDR:
\001\001\000\000\000\000\000\000\000\000\000\360?\000\000\000\000\000\000\360?
1.0.0RC1 is known to contain memory alignment problems.
If you can reproduce bugs with 1.0.4 please come back on the issue.
--strk;
On Thu, Nov 10, 2005 at 12:59:35AM +0100, Alex Mayrhofer wrote:
>
> All,
>
> i'm currently investigating severe problems with PostGIS (postmaster
> crashes, bus errors, etc) which only seem to occur on the sparc
> architecture [i'm suspecting some alignment errors]. During tests, i found
> out that the same geometry on three different machines/architectures, two
> with PostGIS 1.0.0, one with 1.0.0RC1, yields three different EWKB formats.
>
> Question: Shouldn't the EWKB representations be equal on all three machines?
>
> details follow:
> ----
> box #1 (Debian sarge, PowerPC):
>
> testdb=# select asewkb(geomfromewkt('SRID=-1;POINT(1 1)'));
> asewkb
> --------------------------------------------------------------------------------
> \377\001\000\000\000\000\000\000\000\000\000\360?\000\000\000\000\000\000\360?
> (1 row)
>
> testdb=# select version();
> version
>
> ------------------------------------------------------------------------------------------------------------------
> PostgreSQL 7.4.7 on powerpc-unknown-linux-gnu, compiled by GCC
> powerpc-linux-gcc (GCC) 3.3.5 (Debian 1:3.3.5-12)
> (1 row)
>
> testdb=# select postgis_full_version();
> postgis_full_version
>
> --------------------------------------------------------------------------------------------
> POSTGIS="1.0.0RC1" PROJ="Rel. 4.4.9, 29 Oct 2004" USE_STATS DBPROC="0.1.0"
> RELPROC="0.1.0"
> (1 row)
>
> ------
> box #2 (intel i386, Debian sarge)
>
> testdb=# select asewkb(geomfromewkt('SRID=-1;POINT(1 1)'));
> asewkb
> --------------------------------------------------------------------------------
> \001\001\000\000\000\000\000\000\000\000\000\360?\000\000\000\000\000\000\360?
> (1 row)
>
> testdb=# select version();
> version
>
> -------------------------------------------------------------------------------------------
> PostgreSQL 8.1.0 on i386-pc-linux-gnu, compiled by GCC cc (GCC) 3.3.5
> (Debian 1:3.3.5-12)
> (1 row)
>
> testdb=# select postgis_full_version();
> postgis_full_version
>
> --------------------------------------------------------------------------------------------
> POSTGIS="1.0.4" GEOS="2.1.3" PROJ="Rel. 4.4.9, 29 Oct 2004" DBPROC="0.3.0"
> RELPROC="0.3.0"
> (1 row)
>
> testdb=#
>
> ----
> Box #3 (Ultrasparc, Debian sarge, userland in 32bit)
>
> testdb=# select asewkb(geomfromewkt('SRID=-1;POINT(1 1)'));
> asewkb
> --------------------------------------------------------------------------------
> \000\000\000\000\001?\360\000\000\000\000\000\000?\360\000\000\000\000\000\000
> (1 row)
>
> testdb=# select version();
> version
>
> ----------------------------------------------------------------------------------------------------
> PostgreSQL 8.1beta2 on sparc-unknown-linux-gnu, compiled by GCC cc (GCC)
> 3.3.5 (Debian 1:3.3.5-13)
> (1 row)
>
> testdb=# select postgis_full_version();
> postgis_full_version
>
> --------------------------------------------------------------------------------------------
> POSTGIS="1.0.4" GEOS="2.1.3" PROJ="Rel. 4.4.9, 29 Oct 2004" DBPROC="0.3.0"
> RELPROC="0.3.0"
> (1 row)
>
>
> The "real problem" is that a great percentage of postgis related operations
> on the Ultrasparc machine either yield weird error messages, or leads to a
> bus error of the postmaster. I'm currently recompiling PostgreSQL with
> --enable-cassert, but since Postgres regression went fine, i'd suspect the
> problem to be somewhere in the postgis code. More news as we get it.
>
> any comments on this?
>
> cheers
>
> alex
> _______________________________________________
> postgis-devel mailing list
> postgis-devel at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-devel
More information about the postgis-devel
mailing list