[pgrouting-users] Nasty crash from pgRouting

Richard Marsden winwaed at gmail.com
Sun Jan 30 21:34:47 EST 2011


I'm currently getting a puzzling crash from pgRouting which reliably takes
the entire Postgres server down with it!

I'm calling pgRouting using Psycopg from Python. My Python code has some
fancy multi-processor code, so I've managed to isolate the problem using
just the psql command line program.
The crash messages were not very informative, so I've also managed to track
down all the Postgres logging switches and switched everything on - or all
that I can find. I can forward the resulting log file if anyone is
interested, but it is a bit big to post to a public listserver.

There's a lot of what I assume is tracing through pgRouting, followed by:

------8<-----8<----
2011-01-30 20:05:29 CST CONTEXT:  SQL statement "SELECT gid as id,
source::integer, target::integer, length::double precision as cost  FROM
view_topo where setSRID('BOX3D(145.6460916 -8.1986466,150.5752148
-5.2633439)'::BOX3D, 4326) && the_geom"
    PL/pgSQL function "dijkstra_sp_delta_directed" line 110 at FOR over
EXECUTE statement
    PL/pgSQL function "dijkstra_sp_delta" line 18 at FOR over EXECUTE
statement
2011-01-30 20:05:29 CST LOCATION:  elog_node_display,
.\src\backend\nodes\print.c:85
2011-01-30 20:05:29 CST STATEMENT:  select sum(ST_Length( geography(
ST_Transform(the_geom, 4326))) ) AS LENGTH FROM
dijkstra_sp_delta('view_topo', 2429451, 2475147, 1.0);


This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application's support team for more information.
---------8<------8<-------

Then what looks to be recovery logging.


The SELECT statement that causes this is logged as:
2011-01-30 20:04:57 CST STATEMENT:  select sum(ST_Length( geography(
ST_Transform(the_geom, 4326))) ) AS LENGTH FROM
dijkstra_sp_delta('view_topo', 2429451, 2475147, 1.0);


Nodes 2429451 and 2475147 both exist in view_topo - I've checked.
The database is the OSM planet.osm file, imported with osm2po.  The above
two nodes are in Papua New Guinea. Initial (limited) tests with the UK are
fine; Guam is completely fine; but New Zealand and PG cause this crash -
haven't tried anywhere else yet.

I've already tried the above query with non-routable routes in the UK (eg.
from England to Belfast), and those have behaved as expected with zero rows
returned. So this isn't the problem.

My system details:

Windows 7 x32
Postgres 8.4
PostGIS 1.5
I'm having trouble determining my pgRouting version, but
routing_core_wrappers.sql has a "last changes" date of 14/02/2008

Yes I'm using mainly older versions, but I am forced to do this due to
availability of pre-built versions. Eg. PostGIS does not have a 64 bit
version; and the general lack of later Windows builds of pgRouting.


Has anyone seen anything like this before?
Any thoughts as to what the problem might be?
It seems pretty bad if it can bring the entire server down with it...

Thanks in advance,

Richard Marsden
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/pgrouting-users/attachments/20110130/aba56756/attachment.html


More information about the Pgrouting-users mailing list