For further analysis
Okay, It's the following line that makes mkgmap crash (this is in
the points file):
ele>0 & natural=* {set name='${name} ${ele}m' |
'${ele}m' }
ele=* & natural=* {set name='${name} ${ele}m' | '${ele}m' }
is fine however.
I can upload a osm.pbf file that will cause a crash for analysis.
But I hope the problem is easy to identify.
It seems that any comparison with > or < will cause a crash if
it is inside the map data too.
On 04.10.2011 15:55, Felix Hartmann wrote:
I have
never seen this bug before, it appears since mkgmap rev 2038.
Rev 2037 was still fine.
It does not happen very often, just on a few tiles. Also without
my style-file it does not happen...
So there seems to be some serious problem related to those decimal
numbers....
I'll try to find out which line in my style-file is responsible
for this crash...
so far the error log:
java.lang.NumberFormatException
at java.math.BigDecimal.<init>(Unknown Source)
at java.math.BigDecimal.<init>(Unknown Source)
at
uk.me.parabola.mkgmap.osmstyle.eval.ValueWithUnit.<init>(ValueWithUnit.java:47)
at
uk.me.parabola.mkgmap.osmstyle.eval.NumericOp.eval(NumericOp.java:51)
at
uk.me.parabola.mkgmap.osmstyle.eval.AndOp.eval(AndOp.java:34)
at
uk.me.parabola.mkgmap.osmstyle.eval.LinkedOp.eval(LinkedOp.java:55)
at
uk.me.parabola.mkgmap.osmstyle.ActionRule.resolveType(ActionRule.java:59)
at
uk.me.parabola.mkgmap.osmstyle.RuleSet.resolveType(RuleSet.java:79)
at
uk.me.parabola.mkgmap.osmstyle.StyledConverter.convertNode(StyledConverter.java:349)
at
uk.me.parabola.mkgmap.reader.osm.ElementSaver.convert(ElementSaver.java:234)
at
uk.me.parabola.mkgmap.reader.osm.bin.OsmBinMapDataSource.load(OsmBinMapDataSource.java:72)
at
uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:148)
at
uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:58)
at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:222)
at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:219)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown
Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)