artemp/tickets2issues — Issue #490: Empty map / Assertion after upgrading from 0.5.0 to 0.6.0 / SVN Trunk
Author: artemp
Created: 2011-10-11 15:20:59+00:00
State: open
Labels: Core_Library

Hi!

I have a small application [1,2] which uses Mapnik with OSM data, convertes via osm2pgsql, off a PostgreSQL database. I'm basically using the osm.xml file [3] from OpenStreetMaps SVN server (with pathes to the images changed). This used to work with Debian's 0.5.0 mapnik, until the osm.xml file started to use multi-line SQL queries.

After an update to 0.6.0 (Debian package), only the background got drawn. (The same osm.xml, with the multi-line SQL squeezed to a single line, worked with 0.5.0) It didn't even try to access the PostgreSQL database.

I then installed Mapnik from yesterday's SVN, with debugging turned on. This makes the program abort.

This is the (full) output, a GDB backtrace is below the trace:

{{{
registered datasource : raster
registered datasource : shape
registered datasource : postgis
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=2
bit_depth=8 color_type=6
bit_depth=8 color_type=3
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=2
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=6
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=8 color_type=6
bit_depth=8 color_type=2
bit_depth=8 color_type=2
bit_depth=4 color_type=3
bit_depth=4 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=3
bit_depth=8 color_type=6
bit_depth=8 color_type=6
bit_depth=8 color_type=6
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,aeroway,amenity,landuse,leisure,man_made,military,"natural",power,tourism,name
from planet_osm_polygon
where landuse is not null
or leisure is not null
or aeroway='apron'
or man_made='pier'
or amenity in ('parking','university','college','school','hospital','grave_yard')
or military in ('barracks','danger_area')
or "natural" in ('field','beach','glacier','heath','mud','wood')
or power in ('station','sub_station')
or tourism in ('attraction','camp_site','caravan_site','picnic_site','zoo')
order by z_order,way_area desc
) as leisure

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x914ff40 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=(select way,leisure from planet_osm_polygon where leisure in ('sports_centre','stadium') order by z_order,way_area desc) as sports_grounds
type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x9189fd8 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=(select way,"natural",waterway,landuse,name from planet_osm_polygon where waterway in ('dock','mill_pond','riverbank','canal') or landuse in ('reservoir','water') or "natural" in ('lake','water','land','marsh','scrub','wetland','glacier') order by z_order,way_area desc) as water_areas
type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x9187030 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=(select way,waterway,disused,name,case when tunnel in ('yes','true','1') then 'yes'::text else tunnel end as tunnel from planet_osm_line where waterway IS NOT NULL order by z_order) as water_lines
type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x914f158 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way from planet_osm_line where man_made='pier') as piers

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x914dae8 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,highway from planet_osm_roads where highway in ('motorway','motorway_link','trunk','trunk_link','primary','primary_link','secondary','secondary_link') and tunnel in ('yes','true','1') order by z_order) as roads

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x9188878 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=(select way from planet_osm_line where "historic"='citywalls') as citywalls
type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x9172738 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=(select way from planet_osm_point where highway='turning_circle') as turning_circle
type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x9156988 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,highway,horse,foot,bicycle from planet_osm_line where highway in ('bridleway','footway','cycleway','path') and tunnel in ('yes','true','1') order by z_order) as roads

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x9157570 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,tracktype from planet_osm_line where highway='track' and (bridge is null or bridge in ('no','false','0')) and (tunnel is null or tunnel in ('no','false','0'))) as tracks

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x915e060 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,tracktype from planet_osm_line where highway='track' and tunnel in ('yes','true','1')) as tracks

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x91623f0 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,building,leisure,railway,amenity,aeroway from planet_osm_polygon
where building is not null
or leisure in ('pitch','track')
or railway='station'
or amenity='place_of_worship'
or aeroway='terminal'
order by z_order,way_area desc) as buildings

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x9160520 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,barrier,"natural",man_made from planet_osm_line where barrier is not null or "natural" in ('hedge','cliff') or man_made='embankment') as roads

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x91624d0 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,barrier,"natural" from planet_osm_polygon where barrier is not null or "natural"='hedge') as barriers

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x9174c28 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,highway from planet_osm_polygon
where highway in ('residential','unclassified','pedestrian','service','footway','track')
order by z_order,way_area desc) as roads

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x9188288 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,highway,service,
case when tunnel in ('yes','true','1') then 'yes'::text else tunnel end as tunnel
from planet_osm_line
where highway in ('motorway','motorway_link','trunk','trunk_link','primary','primary_link','secondary','secondary_link','tertiary','residential','unclassified','minor','road','service','pedestrian','raceway')
order by z_order) as roads

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918a170 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,highway from planet_osm_polygon
where highway in ('residential','unclassified','pedestrian','service','footway','living_street','track')
order by z_order,way_area desc) as roads

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918a768 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,highway,horse,bicycle,foot,construction,railway,aeroway,service,route,
case when tunnel in ('yes','true','1') then 'yes'::text else tunnel end as tunnel,
case when bridge in ('yes','true','1') then 'yes'::text else bridge end as bridge
from planet_osm_line
where highway is not null
or aeroway in ('runway','taxiway')
or railway in ('light_rail','narrow_gauge','rail','subway','tram')
or route='ferry'
order by z_order) as roads

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918a460 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,aerialway from planet_osm_line where aerialway is not null) as aerialways

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x9185738 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,highway,railway,
case when tunnel in ('yes','true','1') then 'yes'::text else tunnel end as tunnel
from planet_osm_roads
where highway is not null
or railway is not null
order by z_order
) as roads

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x91858f0 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=(select way,name from planet_osm_line where waterway='canal' and bridge in ('yes','true','1','aqueduct') order by z_order) as water
type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x9185ce8 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,highway,aeroway,railway,layer,horse,bicycle,foot,bridge
from planet_osm_line where (highway is not null
or aeroway in ('runway','taxiway')
or railway in ('light_rail','subway'))
and (bridge is null or bridge not in ('no','false','0'))
order by z_order
) as roads

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x9186220 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,tracktype from planet_osm_line where highway='track' and bridge in ('yes','true','1')) as tracks

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918ee70 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,access,highway from planet_osm_line where access is not null) as access

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918f060 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way from planet_osm_line where railway='tram' and (tunnel is null or tunnel not in ('yes','true','1'))) as trams

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918f4c0 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=(select * from planet_osm_point where barrier IS NOT NULL or amenity IS NOT NULL or tourism is NOT NULL or railway is NOT NULL or "natural" is NOT NULL or highway is NOT NULL or aeroway is NOT NULL or aerialway is NOT NULL or power_source is NOT NULL or man_made is NOT NULL) as amenity
type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918f860 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=(select way from planet_osm_line where "power"='line') as power
type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918faf0 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=(select way from planet_osm_point where power='tower') as power_towers
type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918c688 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=(select way,place,capital,name from planet_osm_point where place is not null) as placenames
type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918ca50 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,case when oneway in ('yes','true','1') then 'yes'::text else oneway end as oneway from planet_osm_line where oneway is not null) as directions

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918cd60 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,highway,name,ref,char_length(ref) as length from planet_osm_line where waterway IS NULL and leisure IS NULL and landuse IS NULL and (name is not null or ref is not null)) as roads

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918d0d0 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,amenity,military,way_area,waterway,name
from planet_osm_polygon
where name is not null
order by z_order,way_area desc
) as text

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918ddd0 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way from planet_osm_line where "addr:interpolation" is not null) as interpolation

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918e3e0 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=(select way,"addr:housenumber" from planet_osm_polygon where "addr:housenumber" is not null and building is not null) as way_numbers
type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918e6e8 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=(select way,"addr:housenumber" from planet_osm_point where "addr:housenumber" is not null) as node_numbers
type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x918eac8 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,amenity,highway,leisure,landuse,man_made,"natural",place,tourism,ele,name,ref
from planet_osm_point
where amenity is not null
or leisure is not null
or landuse is not null
or tourism is not null
or "natural" is not null
or man_made='lighthouse'
or place='island'
or highway='motorway_junction'
) as text

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x9188ee8 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,name from planet_osm_polygon where boundary='national_park') as boundary

type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x91891f0 type=1
size = 6
dbname=gis
estimate_extent=false
extent=-20037508,-19929239,20037508,19929239
host=/var/run/postgresql
table=
(select way,admin_level from planet_osm_roads where "boundary"='administrative') as admin
type=postgis
borrow 0x8e08b90
unknown type_oid=179013
return 0x8e08b90
datasource=0x919bea0 type=1
scale=1120
start map processing bbox=Envelope(944951.1306855947,6806358.911506363,946071.1306855947,6807478.911506363)
start layer processing : leisure
datasource = 0x914ff40
gpsdisplay: /usr/include/boost/variant/detail/visitation_impl.hpp:203: typename Visitor::result_type boost::detail::variant::visitation_impl(int, int, Visitor&, VPCV, mpl_::true_, NBF, W*, S*) [with W = boost::detail::variant::visitation_impl(int, int, Visitor&, VoidPtrCV, mpl_::false_, NoBackupFlag, Which*, step0*) [with Which = boost::variant::internal_apply_visitor_impl(int, int, Visitor&, VoidPtrCV) [with Visitor = boost::detail::variant::invoke_visitor, VoidPtrCV = const void*, T0_ = mapnik::point_symbolizer, T1 = mapnik::line_symbolizer, T2 = mapnik::line_pattern_symbolizer, T3 = mapnik::polygon_symbolizer, T4 = mapnik::polygon_pattern_symbolizer, T5 = mapnik::raster_symbolizer, T6 = mapnik::shield_symbolizer, T7 = mapnik::text_symbolizer, T8 = mapnik::building_symbolizer, T9 = mapnik::markers_symbolizer, T10 = boost::detail::variant::void_, T11 = boost::detail::variant::void_, T12 = boost::detail::variant::void_, T13 = boost::detail::variant::void_, T14 = boost::detail::variant::void_, T15 = boost::detail::variant::void_, T16 = boost::detail::variant::void_, T17 = boost::detail::variant::void_, T18 = boost::detail::variant::void_, T19 = boost::detail::variant::void_]::first_which, step0 = boost::variant::internal_apply_visitor_impl(int, int, Visitor&, VoidPtrCV) [with Visitor = boost::detail::variant::invoke_visitor, VoidPtrCV = const void*, T0_ = mapnik::point_symbolizer, T1 = mapnik::line_symbolizer, T2 = mapnik::line_pattern_symbolizer, T3 = mapnik::polygon_symbolizer, T4 = mapnik::polygon_pattern_symbolizer, T5 = mapnik::raster_symbolizer, T6 = mapnik::shield_symbolizer, T7 = mapnik::text_symbolizer, T8 = mapnik::building_symbolizer, T9 = mapnik::markers_symbolizer, T10 = boost::detail::variant::void_, T11 = boost::detail::variant::void_, T12 = boost::detail::variant::void_, T13 = boost::detail::variant::void_, T14 = boost::detail::variant::void_, T15 = boost::detail::variant::void_, T16 = boost::detail::variant::void_, T17 = boost::detail::variant::void_, T18 = boost::detail::variant::void_, T19 = boost::detail::variant::void_]::first_step, Visitor = boost::detail::variant::invoke_visitor, VoidPtrCV = const void*, NoBackupFlag = boost::variant::has_fallback_type_]::next_which, S = boost::detail::variant::visitation_impl(int, int, Visitor&, VoidPtrCV, mpl_::false_, NoBackupFlag, Which*, step0*) [with Which = boost::variant::internal_apply_visitor_impl(int, int, Visitor&, VoidPtrCV) [with Visitor = boost::detail::variant::invoke_visitor, VoidPtrCV = const void*, T0_ = mapnik::point_symbolizer, T1 = mapnik::line_symbolizer, T2 = mapnik::line_pattern_symbolizer, T3 = mapnik::polygon_symbolizer, T4 = mapnik::polygon_pattern_symbolizer, T5 = mapnik::raster_symbolizer, T6 = mapnik::shield_symbolizer, T7 = mapnik::text_symbolizer, T8 = mapnik::building_symbolizer, T9 = mapnik::markers_symbolizer, T10 = boost::detail::variant::void_, T11 = boost::detail::variant::void_, T12 = boost::detail::variant::void_, T13 = boost::detail::variant::void_, T14 = boost::detail::variant::void_, T15 = boost::detail::variant::void_, T16 = boost::detail::variant::void_, T17 = boost::detail::variant::void_, T18 = boost::detail::variant::void_, T19 = boost::detail::variant::void_]::first_which, step0 = boost::variant::internal_apply_visitor_impl(int, int, Visitor&, VoidPtrCV) [with Visitor = boost::detail::variant::invoke_visitor, VoidPtrCV = const void*, T0_ = mapnik::point_symbolizer, T1 = mapnik::line_symbolizer, T2 = mapnik::line_pattern_symbolizer, T3 = mapnik::polygon_symbolizer, T4 = mapnik::polygon_pattern_symbolizer, T5 = mapnik::raster_symbolizer, T6 = mapnik::shield_symbolizer, T7 = mapnik::text_symbolizer, T8 = mapnik::building_symbolizer, T9 = mapnik::markers_symbolizer, T10 = boost::detail::variant::void_, T11 = boost::detail::variant::void_, T12 = boost::detail::variant::void_, T13 = boost::detail::variant::void_, T14 = boost::detail::variant::void_, T15 = boost::detail::variant::void_, T16 = boost::detail::variant::void_, T17 = boost::detail::variant::void_, T18 = boost::detail::variant::void_, T19 = boost::detail::variant::void_]::first_step, Visitor = boost::detail::variant::invoke_visitor, VoidPtrCV = const void*, NoBackupFlag = boost::variant::has_fallback_type_]::next_step, Visitor = boost::detail::variant::invoke_visitor, VPCV = const void*, NBF = boost::variant::has_fallback_type_]: Assertion `false' failed.
}}}

Here's a GDB backtrace:
{{{
(gdb) bt
#0 0xb7fe1424 in __kernel_vsyscall ()
#1 0xb68a33d0 in raise () from /lib/i686/cmov/libc.so.6
#2 0xb68a6a85 in abort () from /lib/i686/cmov/libc.so.6
#3 0xb689c4ee in __assert_fail () from /lib/i686/cmov/libc.so.6
#4 0x0805676b in boost::detail::variant::visitation_impl, boost::detail::variant::visitation_impl_step, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, void const*, boost::variant::has_fallback_type_> () at /usr/include/boost/variant/detail/visitation_impl.hpp:203
#5 0x08056bfb in boost::detail::variant::visitation_impl, boost::detail::variant::visitation_impl_step, mapnik::point_symbolizer, boost::mpl::l_item, mapnik::line_symbolizer, boost::mpl::l_item, mapnik::line_pattern_symbolizer, boost::mpl::l_item, mapnik::polygon_symbolizer, boost::mpl::l_item, mapnik::polygon_pattern_symbolizer, boost::mpl::l_item, mapnik::raster_symbolizer, boost::mpl::l_item, mapnik::shield_symbolizer, boost::mpl::l_item, mapnik::text_symbolizer, boost::mpl::l_item, mapnik::building_symbolizer, boost::mpl::l_item, mapnik::markers_symbolizer, boost::mpl::l_end> > > > > > > > > > >, boost::mpl::l_iter >, boost::detail::variant::invoke_visitor, void const*, boost::variant::has_fallback_type_> (
internal_which=6357090, logical_which=6357090, visitor=..., storage=0x83cfbd4,
no_backup_flag=...) at /usr/include/boost/variant/detail/visitation_impl.hpp:280
#6 0x08056c43 in boost::variant::internal_apply_visitor_impl, void const*> (internal_which=6357090, logical_which=6357090,
---Type to continue, or q to quit---
visitor=..., storage=0x83cfbd4) at /usr/include/boost/variant/variant.hpp:1738
#7 0x08056c86 in boost::variant::internal_apply_visitor > (this=0x83cfbd0, visitor=...) at /usr/include/boost/variant/variant.hpp:1760
#8 0x08056cb6 in boost::variant::apply_visitor (this=0x83cfbd0, visitor=...)
at /usr/include/boost/variant/variant.hpp:1782
#9 0x08056cd0 in boost::apply_visitor const> (visitor=...,
visitable=...) at /usr/include/boost/variant/detail/apply_visitor_unary.hpp:56
#10 0x08056e1d in mapnik::attribute_collector >, boost::shared_ptr > >::visit (this=0xb40e7f38, r=...)
at /usr/include/mapnik/attribute_collector.hpp:88
#11 0x08053917 in mapnik::rule >, boost::shared_ptr >, mapnik::filter>::accept (this=0x83ccf94, v=...)
at /usr/include/mapnik/rule.hpp:294
#12 0x080589fb in mapnik::feature_style_processor >::apply_to_layer (this=0xb40e8100, lay=..., p=..., proj0=...,
scale_denom=4000000.0000000005)
at /usr/include/mapnik/feature_style_processor.hpp:170
#13 0x080594cc in mapnik::feature_style_processor >::apply (this=0xb40e8100) at /usr/include/mapnik/feature_style_processor.hpp:92
#14 0x0805283c in gpsdisplay_mapnik_draw_map (_osm_xml=0x805eb3e "osm.xml",
_projection=0x805eb48 "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over", _long=8.4936710000000009,
_lat=52.037556000000002, scale=20000, width=200, height=200) at mapnik.cpp:101
---Type to continue, or q to quit---
#15 0x080504ca in update_image_thread (arg=0x0) at gpsdisplay.c:184
#16 0xb781f4b5 in start_thread () from /lib/i686/cmov/libpthread.so.0
#17 0xb6959a4e in clone () from /lib/i686/cmov/libc.so.6
}}}

[1] http://lug-owl.de/~jbglaw/gpsdisplay/gpsdisplay-0.1.8.tar.gz

[2] git clone http://lug-owl.de/~jbglaw/gpsdisplay.git

[3] http://svn.openstreetmap.org/applications/rendering/mapnik/osm.xml