I experienced a similar error, also with mkgmap rev 1053, when
compiling germany.osm.bz2 with my own contour lines added. Mkgmap
fails with an assertion error when I try to compile one of the
resulting tiles. For some reason one road gets "stuck" while
subdividing. When I omit the contour lines the tile will compile just
fine.
When looking at the log output there are a lot of ways with the name
"SIEDLUNG NEUD?RFEL" (#35170047, #35160048, #35170059, #35170062,
#35170063, #35170064, #35170070, #35170071, #35170072, #35170084, ...
all in all 174) at about lat 51,08201/lon 14,67827. There are much
less ways with that name in the original germay.osm.bz2! They consume
174 entries in TableA and TableB (whatever that is). But in TableB
only 62 entries are allowed. This triggers a subdivision, but that
doesn't help, as still they all get into one subdivision, which gets
divided further and further until the assertion is triggered.
Overriding the assertion by making sure that empty BBoxes are skipped
doesn't help, as this will simply trigger a Stack Overflow.
So what's the problem here? Maybe the splitter gets wild and generates
a lot of duplicates? Splitter is the most recent version from svn (rev
33) by the way. And seemingly unchanged since ages...
Looking at the ways of "SIEDLUNG NEUD?RFEL" there is only one obvious
pecularity: the two points #413985320 and #413985328 are very near to
each other (to four decimal places at least).
The command line is
java -Xmx2048m -ea -Dlog.config=logging.properties -jar trunk/dist/
mkgmap.jar --net --route problem.osm
The log output is available at http://osm.arndnet.de/mkgmap.log.0 (15
MB)
The input file problem.osm is available at http://osm.arndnet.de/problem.osm.zip
(16 MB)
The stack dump is very similar to that published by extremecarver:
Exception in thread "main" java.lang.AssertionError: trying to get
center of empty BBox
at uk.me.parabola.imgfmt.app.net.NOD1Part$BBox.center(NOD1Part.java:
141)
at uk.me.parabola.imgfmt.app.net.NOD1Part.toRouteCenter(NOD1Part.java:
286)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:242)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at uk.me.parabola.imgfmt.app.net.NOD1Part.subdivide(NOD1Part.java:266)
at
uk
.me.parabola.mkgmap.general.RoadNetwork.splitCenters(RoadNetwork.java:
161)
at
uk.me.parabola.mkgmap.general.RoadNetwork.getCenters(RoadNetwork.java:
166)
at uk.me.parabola.mkgmap.build.MapBuilder.makeMap(MapBuilder.java:186)
at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:90)
at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:56)
at uk.me.parabola.mkgmap.main.Main.processFilename(Main.java:151)
at uk.me.parabola.mkgmap.CommandArgsReader
$Filename.processArg(CommandArgsReader.java:237)
at
uk
.me.parabola.mkgmap.CommandArgsReader.readArgs(CommandArgsReader.java:
120)
at uk.me.parabola.mkgmap.main.Main.main(Main.java:92)
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev