[OSM-dev] Carriage-Return char in europe.osm.bz2 causes osm2pgsql SVN to bail out?

Jon Burgess jburgess777 at googlemail.com
Fri Oct 17 19:06:22 BST 2008


On Fri, 2008-10-17 at 18:55 +0200, Thomas Herzog wrote:
> Hi all,
> 
> someone of the maintainers of osm2pgsql can explain that:
> 
> 
> °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° 
> °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
> 
> mapserv:/var/mapnik/scripts# ../osm2pgsql/osm2pgsql -m -c -d gis -U  
> mapservuser -W -s europe.osm.bz2
> osm2pgsql SVN version 0.55-20081016 $Rev: 10464 $
> 
> Password:
> Using projection SRS 900913 (Spherical Mercator)
> Setting up table: planet_osm_point
> Setting up table: planet_osm_line
> Setting up table: planet_osm_polygon
> Setting up table: planet_osm_roads
> Mid: pgsql, scale=100, cache=800MB, maxblocks=102401*8192
> Setting up table: planet_osm_nodes
> *** WARNING: intarray contrib module not installed
> *** The resulting database will not be usable for applying diffs.
> HINWEIS:  CREATE TABLE / PRIMARY KEY erstellt implizit einen Index  
> »planet_osm_nodes_pkey« für Tabelle »planet_osm_nodes«
> Setting up table: planet_osm_ways
> HINWEIS:  CREATE TABLE / PRIMARY KEY erstellt implizit einen Index  
> »planet_osm_ways_pkey« für Tabelle »planet_osm_ways«
> Setting up table: planet_osm_rels
> HINWEIS:  CREATE TABLE / PRIMARY KEY erstellt implizit einen Index  
> »planet_osm_rels_pkey« für Tabelle »planet_osm_rels«
> 
> Reading in file: europe.osm.bz2
> Processing: Node(58110k) Way(0k) Relation(0k)COPY_END for COPY  
> planet_osm_nodes FROM STDIN;
>   failed: FEHLER:  Carriage-Return-Zeichen in Daten gefunden
> HINT:  Verwenden Sie »\r« um ein Carriage-Return-Zeichen darzustellen.
> CONTEXT:  COPY planet_osm_nodes, Zeile 53669897
> 
> Error occurred, cleaning up
> 
> °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° 
> °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
> 
> 
> (sorry for the german locales, I can translate: "ERROR: Carriage- 
> Return character found in Data. HINT: Use »\r« to display Carriage- 
> Return character.")
> 
> osm2pgsql is current SVN built on Debian etch...
> 
> europe.osm.bz2 is the extract from yesterday. THe error also occurs  
> with an extract from last week, though...


It is odd that the tile server did not run into this. Have you modified
default.style? I'm trying to reproduce it at the moment.

Anyway, I suspect the problem occurs because '\r' is missing from the
character escaping in escape_tag() in middle-pgsql.c. It would probably
be fixed by adding these lines:

      case '\r':
        if( escape ) *ptr++ = '\\';
        *ptr++ = '\\';
        *ptr++ = 'r';
        break;


	Jon






More information about the dev mailing list