[OSM-talk] Osm2pgsql fails with Finland.osm.bz2

Jon Burgess jburgess777 at googlemail.com
Thu Feb 5 00:12:11 GMT 2009


On Wed, 2009-02-04 at 15:27 +0000, Jukka Rahkonen wrote:
> Hi,
> 
> I have been importing Finland.osm.bz2 dataset from Geofabrik into Postgis every
> day with osm2pgsql.exe (on Windows) but now it fails. The error looks like this:
> Reading in file: finland.osm.bz2
> Processing: Node(2835k) Way(37k) Relation(0k)Error allocating ways
> Error occurred, cleaning up
> 
> I tried next to use Scandinavian dataset from hypercube.telascience.org.  Result
> is about the same:
> Reading in file: planet-scand-090203.osm.gz
> Processing: Node(6670k) Way(0k) Relation(0k)Error allocating nodes
> Error occurred, cleaning up

These first two look like an out of memory condition causing malloc() to
fail. 

> I made a third trial by using another version of osm2pgsql.exe with Finnish data
> but again with no luck. A bit different error message though:
> Reading in file: finland.osm.bz2
> Processing: Node(2835k) Way(194k) Relation(0k)terminate called after throwing an
>  instance of 'geos::util::TopologyException'
>   what():  TopologyException: found non-noded intersection between 2.78294e+006
> 9.41427e+006, 2.78315e+006 9.41433e+006 and 2.78326e+006 9.41433e+006, 2.78269e+
> 006 9.41433e+006 2.78315e+006 9.41433e+006

Normally the code catches exceptions from geos and ignores them. In some
builds of osm2pgsql.exe this mechanism is broken and a geometry
exception will instead cause the program to abort. It looks like this is
one of these broken versions.

> Does anybody has an idea about what is going on, and if it is just a data error,
> how to find and correct it?

This version of osm2pgsql.exe it should not have the exception problem:
http://tile.openstreetmap.org/direct/osm2pgsql.zip

Run the utility with the "--slim" parameter. This should fix any out of
memory problems but it will be a bit slower and require more disk space.

	Jon






More information about the talk mailing list