MapComposer-mkgmap call failed - ?

grr, genau die habe ich gerade gelöscht…
Ich kann Dir meine letzte “Abbruch”-Datei (rund um Koblenz) anbieten:

https://201001rmoz6jrkvek5m.nextcloud.hosting.zone/s/qkKL8DrcXFPBMGs

Ich habe mal das Gebiet um Koblenz gerendert. 1x mit 500 Kacheln und mit Häckchen bei Kartenaufteilung berechnen, dann hat es funktioniert.

Bei 2000 ohne Häckchen ( also weniger Kacheln) bricht mkgmap ab.

Max Knoten habe ich auf 100 immer gelassen.

Wenn ich genau die “extrem1_00070_0500_10_6_garmin.pbf” aus dem Download zusammen mit mkgmap.jar (Win10x64 DE, openjdk 14.0.2 2020-07-14,mkmap Version 4425) nehme


java -jar mkgmap.jar --gmapsupp c:\Downloads\extrem1_00070_0500_10_6_garmin.pbf
Time started: Tue Oct 27 21:35:57 CET 2020
Number of MapFailedExceptions: 0
Number of ExitExceptions: 0
Time finished: Tue Oct 27 21:37:03 CET 2020
Total time taken: 1 minute 5 seconds

bekomme ich ohne Fehlermeldung die img-Files


27.10.2020  21:37        12.976.128 63240001.img
27.10.2020  21:37        12.982.272 gmapsupp.img
27.10.2020  21:37             6.144 osmmap.img
27.10.2020  21:36           289.280 ovm_63240001.img

und kann die gmapsupp.img auch auf meinem Garmin anzeigen

Kannst du mal die “Schmalspurversion” mit “java -jar mkgmap.jar --gmapsupp c:\Downloads\extrem1_00070_0500_10_6_garmin.pbf” bei dir versuchen?

mtbbiker99@mtbbiker99:~$ mkgmap --gmapsupp /home/mtbbiker99/Downloads/extrem1_00070_0500_10_6_garmin.pbf
Using /bin/java to execute mkgmap.
Time started: Tue Oct 27 22:02:45 CET 2020
Number of MapFailedExceptions: 0
Number of ExitExceptions: 0
Time finished: Tue Oct 27 22:03:51 CET 2020
Total time taken: 1 minute 6 seconds

Klapp bei mir auch unter Ubuntu 20.10.

So erhalte ich eine “bunte” Version von gmapsupp (mit qmapshack getestet), nicht wie ich sie mit map composer haben will. Aber mkgmap bricht so nicht ab, komisch…

mtbbiker99@mtbbiker99:~$ java --version
openjdk 11.0.9 2020-10-20
OpenJDK Runtime Environment (build 11.0.9+10-post-Ubuntu-0ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.9+10-post-Ubuntu-0ubuntu1, mixed mode, sharing)

mtbbiker99@mtbbiker99:~$ mkgmap --version
Using /bin/java to execute mkgmap.
Time started: Tue Oct 27 22:14:07 CET 2020
4565

ps. Linux ist 1 Sekunde langsamer:(

Was steht bei dir in der Konfigdatei: /home/mtbbiker99/11-extrem/data/osmc_options ?
P.S. für heute bin ich im Bett :slight_smile:

Das ist eine interessante Feststellung, daß es mit den Defaulteinstellungen funktioniert.

In den Optionen stehen u.a. Parameter für die Einstellung der Zoomlevel und für die Douglas-Peucker Polygonreduktion. Beides kann die Kartengröße beeinflussen. Warten wir mal ab wie das im Detail aussieht.

Ich werde am Wochenende den Map Coposer noch einmal durchstarten lassen und mich dann melden. Die geswünsche osmc_options dann posten.

Gruß Oliver,

so, ich habe map composer noch einmal komplett durchlaufen lassen. Diese Fehlermeldungen kommen:

errorLog.txt:


29.10.20, 20:58 Invalid action Icon einblenden for Evtl. Radfußweg anzeigen
29.10.20, 20:58 Invalid action Icon einblenden for Evtl. Radfußweg anzeigen
29.10.20, 20:58 Invalid action Icon einblenden for Evtl. Radfußweg anzeigen
29.10.20, 20:58 Invalid action Icon einblenden for Evtl. Radfußweg anzeigen
29.10.20, 20:58 java.lang.IllegalArgumentException: index capacity exeeded 8000084052
29.10.20, 20:58 Exception loading node information?
java.lang.IllegalArgumentException: index capacity exeeded 8000084052
	at nop.osm.PresenceIndex.getPage(PresenceIndex.java:40)
	at nop.osm.PresenceIndex.contains(PresenceIndex.java:51)
	at nop.osm.Divider.loadNodeInformation(Divider.java:145)
	at nop.osmc.generator.garmin.GarminMapper.prepareSegments(GarminMapper.java:309)
	at nop.osmc.generator.garmin.GarminMapper.calculateSegments(GarminMapper.java:150)
	at nop.osmc.generator.garmin.GarminMapper.generate(GarminMapper.java:68)
	at nop.osmc.generator.Mapper.generate(Mapper.java:270)
	at nop.osmc.MapComposer$13.act(MapComposer.java:425)
	at nop.gui.MenuThreadAction.run(MenuThreadAction.java:27)
	at java.base/java.lang.Thread.run(Thread.java:834)
29.10.20, 21:31 mkgmap call failed!

commands.log:


java.lang.OutOfMemoryError: Java heap space
	at uk.me.parabola.mkgmap.reader.osm.Tags.<init>(Tags.java:52)
	at uk.me.parabola.mkgmap.reader.osm.Element.addTag(Element.java:72)
	at uk.me.parabola.mkgmap.reader.osm.Element.addTagFromRawOSM(Element.java:60)
	at uk.me.parabola.mkgmap.reader.osm.bin.OsmBinHandler$BinParser.parseWays(OsmBinHandler.java:139)
	at crosby.binary.BinaryParser.parse(Unknown Source)
	at crosby.binary.BinaryParser.handleBlock(Unknown Source)
	at crosby.binary.file.FileBlock.process(Unknown Source)
	at crosby.binary.file.BlockInputStream.process(Unknown Source)
	at uk.me.parabola.mkgmap.reader.osm.bin.OsmBinMapDataSource.load(OsmBinMapDataSource.java:55)
	at uk.me.parabola.mkgmap.reader.osm.OsmMapDataSource.load(OsmMapDataSource.java:138)
	at uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:154)
	at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:52)
	at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:265)
	at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:261)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
Exiting - if you want to carry on regardless, use the --keep-going option

Auszug aus den anderen Dateien:
osmc_options:


mapname=13130001
overview-mapname=13130000
overview-mapnumber=13130000
overview-levels=0:16
family-name=westmap_113
series-name=westmap_113
description=westmap_113
family-id=13
product-id=1
copyright-message=Made with Map Composer   osm.org contributors
style-file=/home/mtbbiker99/00-WESTmap113/data/mapstyle
levels=0:24,1:23,2:22,3:21,4:20,5:18,6:16
country-abbr=DE
code-page=1252
reduce-point-density=4
reduce-point-density-polygon=5
min-size-polygon=6
input-file=/home/mtbbiker99/00-WESTmap113/data/westmap_113_00059_0500_7_11_garmin.pbf
input-file=/home/mtbbiker99/00-WESTmap113/data/westmap_113_00059_0511_11_14_garmin.pbf
input-file=/home/mtbbiker99/00-WESTmap113/data/westmap_113_00066_0500_6_11_garmin.pbf
input-file=/home/mtbbiker99/00-WESTmap113/data/westmap_113_00070_0511_7_14_garmin.pbf
input-file=/home/mtbbiker99/00-WESTmap113/data/westmap_113_00072_0500_5_11_garmin.pbf
input-file=/home/mtbbiker99/00-WESTmap113/data/westmap_113_00077_0500_8_7_garmin.pbf
input-file=/home/mtbbiker99/00-WESTmap113/data/westmap_113_00077_0507_8_5_garmin.pbf
input-file=/home/mtbbiker99/00-WESTmap113/data/westmap_113_00077_0512_12_5_garmin.pbf
input-file=/home/mtbbiker99/00-WESTmap113/data/westmap_113_00077_0517_12_8_garmin.pbf
input-file=/home/mtbbiker99/00-WESTmap113/data/westmap_113_00085_0500_10_6_garmin.pbf
input-file=/home/mtbbiker99/00-WESTmap113/data/westmap_113_00085_0506_10_6_garmin.pbf
input-file=/home/mtbbiker99/00-WESTmap113/data/westmap_113_00089_0512_6_13_garmin.pbf

Werkzeuge/Kartensegmente:


Name	Region	Länge von	Länge bis	Breite von	Breite bis	Level	Dichte
westmap_113_00059_0500_7_11	westmap_113	5.9	6.6	50.0	51.1	1	1443358
westmap_113_00059_0511_11_14	westmap_113	5.9	7.0	51.1	52.5	1	1144153
westmap_113_00066_0500_6_11	westmap_113	6.6	7.2	50.0	51.1	1	1392364
westmap_113_00070_0511_7_14	westmap_113	7.0	7.7	51.1	52.5	1	1311111
westmap_113_00072_0500_5_11	westmap_113	7.2	7.7	50.0	51.1	1	1485348
westmap_113_00077_0500_8_7	westmap_113	7.7	8.5	50.0	50.7	1	1328125
westmap_113_00077_0507_8_5	westmap_113	7.7	8.5	50.7	51.2	1	1413005
westmap_113_00077_0512_12_5	westmap_113	7.7	8.9	51.2	51.7	1	1320739
westmap_113_00077_0517_12_8	westmap_113	7.7	8.9	51.7	52.5	1	964355
westmap_113_00085_0500_10_6	westmap_113	8.5	9.5	50.0	50.6	1	1058633
westmap_113_00085_0506_10_6	westmap_113	8.5	9.5	50.6	51.2	1	1292322
westmap_113_00089_0512_6_13	westmap_113	8.9	9.5	51.2	52.5	1	1286906

Zum schluss habe ich noch diesen Terminal-Befehl ausgeführt:

mtbbiker99@mtbbiker99:~$ mkgmap --gmapsupp /home/mtbbiker99/Downloads/westmap_113_00072_0500_5_11_garmin.pbf
Using /bin/java to execute mkgmap.
Time started: Thu Oct 29 22:01:20 CET 2020
Number of MapFailedExceptions: 0
Number of ExitExceptions: 0
Time finished: Thu Oct 29 22:02:21 CET 2020
Total time taken: 1 minute 1 second

Mich wundert es nur, dass ich an den Parametern nichts verändert habe. Seit einigen Wochen bricht map composer leider ab und ich finde den Fehler nicht.

Gruß Oliver

ps:

Wenn Composer eine Exception schmeißt, dann muß das zuerst untersucht und behoben werden. Dann können die Daten korrupt sein und alle Überlegungen Richtung mkgmap sind hinfällig.

Warum hast Du das bisher nicht erwähnt wenn Du das schon seit Wochen weißt? :frowning:

Ok und danke für den Hinweis. Ich habe mal “Exception” gegooglet und heiß so viel wie “Ausnahme”. Übertragen auf den
map composer heißt das ja, dass es höchstwahrscheinlich in Richtung Renderregel/Ersetzngen geht, oder?

a) Wollte nicht nerven :smiley:
b) Sportliche Ehrgeiz, es selbst zu schaffen :sunglasses:
c) Bin schon in ein andere Forum “geflüchtet”, gefunden habe ich Dich u.a. schon wieder :D:D:D

Ich render jetzt noch einmal mit den originalen map composer Einstellungen ohne etwas zu verändern, außer die Koordinaten,
melde mich dann noch einmal.

Der Lauf ist durch, das gleiche Problem:
Ich habe nur die Koordinaten geändert, das Germany-file ausgewählt und die Routen aktivert.
Original Icons und die Einstellungen alles so gelassen. Bei solch einem Lauf gab es noch nie Probleme.

The problem is too hard for a man like me, to do it yourself…:smiley:

Table Level loaded in 0 ms
Table Profile loaded in 1 ms
Table TagFilter loaded in 5 ms
exception comparing **asia.osm: java.lang.IllegalStateException: Only applies to polys of size 1
exception comparing
russia.osm: **java.lang.IllegalStateException: Only applies to polys of size 1
written 96222585
Time for analysis 270 sec

asia, russia… lese ich zum 1. mal

Creating map
Saving table Settings
Saving table Route
Saving table IDManager
java.lang.IllegalArgumentException: index capacity exeeded 8000031084
Saving table Settings
Saving table Segment
Saving table IDManager

creating segment Wandergegend_00059_0500_7_14 nodes=1670215
Using CGIAR mirror http://srtm.csi.cgiar.org/wp-content/uploads/files/srtm_5x5/tiff/
Downloading DEM data http://srtm.csi.cgiar.org/wp-content/uploads/files/srtm_5x5/tiff/srtm_38_02.zip
… download done. Converting.
Time for splitting 1023 sec
Time for sorting 436 sec
30.10.20, 09:17 mkgmap call failed!

rem Creating contour file Wandergegend_00088_0500_7_12_contour.pbf

rem Build the garmin maps

java -Xmx1100M -jar /home/mtbbiker99/22-original/Tools/mkgmap.jar --tdbfile --preserve-element-order -c /home/mtbbiker99/22-original/data/osmc_options

java.lang.OutOfMemoryError: Java heap space
at java.base/java.lang.Long.valueOf(Long.java:1180)
at uk.me.parabola.mkgmap.reader.osm.ElementSaver.addWay(ElementSaver.java:128)
at uk.me.parabola.mkgmap.reader.osm.OsmHandler.endWay(OsmHandler.java:178)
at uk.me.parabola.mkgmap.reader.osm.bin.OsmBinHandler.access$1200(OsmBinHandler.java:35)
at uk.me.parabola.mkgmap.reader.osm.bin.OsmBinHandler$BinParser.parseWays(OsmBinHandler.java:148)
at crosby.binary.BinaryParser.parse(Unknown Source)
at crosby.binary.BinaryParser.handleBlock(Unknown Source)
at crosby.binary.file.FileBlock.process(Unknown Source)
at crosby.binary.file.BlockInputStream.process(Unknown Source)
at uk.me.parabola.mkgmap.reader.osm.bin.OsmBinMapDataSource.load(OsmBinMapDataSource.java:55)
at uk.me.parabola.mkgmap.reader.osm.OsmMapDataSource.load(OsmMapDataSource.java:138)
at uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:154)
at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:52)
at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:265)
at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:261)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Exiting - if you want to carry on regardless, use the --keep-going option

Nein.

29.10.20, 20:58 java.lang.IllegalArgumentException: index capacity exeeded 8000084052
29.10.20, 20:58 Exception loading node information?
java.lang.IllegalArgumentException:

Wenn Du im Fehlerlog solche Zeilen mit dem Wort “Exception” siehst, heißt das daß ein schwerer Softwarefehler aufgetreten ist. Du kannst Dann aufhören an den Parametern zu spielen, das muß ich in Ordung bringen.

Da wird nur wieder derselbe Fehler auftreten.

Dem Prograamm mkgmap geht der Speicher aus, probier mal, den Wert zu erhöhen.

Ich würde bei der Fehlersuche ja mal an dieser Stelle anfangen…

/hca

So, ich habe den Fehler gefunden. Die aktuelle** germany.osm.pbf **ist beschädigt. Eine ander Erklärung kann es nicht geben,

denn ich habe auf meinem “Server” eine alte germany.osm.pbf von Juni 2020 noch gefunden. Mit dieser läuft der map composer
ohne Probleme durch.

Gruß Oliver.

ps: auch mit der Einstellung Speicher für JavaAufrufe=1100:smiley:

:smiley: So ungefähr argumentiert Trump auch … :wink:
Das könnte eine Möglichkeit sein, aber letztendlich bedeutet das nur, das die alte nicht die Bedingungen enthält, die zu einem Fehler bei composer führt.

Wenn man an den Symptomen rumdoktern will und die Zeit dafür verschwenden möchte, könnte das vielleicht zu einem vorübergehenden oder Teilerfolg führen - oder zu einem Gesamtspeichertest. :wink:

+1
Eine vernünftige Fehlerbehandlung beginnt am Anfang der Fehlerkette.
Veränderte Anfangsbedingungen können die Suche nur eingrenzen.
Edit:
Hier muss ich mich korrigieren:
Wenn die PBF schon korrupt sein sollte, ist das natürlich auch der Anfang der Fehlerkette.

Noch eine Frage:

Gibt es eine generelle Veränderung in der PBF-Datei?
So eine Art neue Version?

Nö, die letzte wesentliche Änderung liegt schon länger zurück. Hast Du es denn mal mit einem neueren Download versucht? Vermutlich wirst Du da das gleiche Problem haben.
Bei meinem Hinweis zum Speicherparameter bin ich davon ausgegangen, das die Exception im MapComposer ein Folgefehler des Abbruchs bzw. der möglicherweise sehr langwierigen Verarbeitung bei Speichermangel ist. Kann aber auch umgekehrt sein. Ich kann bei mkgmap Problemen helfen, aber nur, wenn ich die entsprechenden Eingabedateien habe. Wenn ich das richtig in Erinnerung habe, dann “versteckt” der MapComposer die aber ziemlich gut.

Ja, gestern. Das gleiche Problem mit der bekannten Fehlermeldung.

Ist das jetzt ein generelles Problem, oder bin ich der einzige, der diesen Fehler hat?
Kann das mit einem update vom map composer/mkgmap behoben werden?

Ein Update von mkgmap wird nicht helfen. Entweder hast Du jetzt tatsächlich zu wenig Speicher (-Xmx1100) oder zu viele Daten für eine Kachel. Der Speicher geht schon beim Lesen der pbf aus, das deutet darauf hin, dass die pbf Datei zu groß ist. In #27 zeigt Deine Datei osmc_options nur sehr wenige Kacheln. Wenn das bedeutet, dass der MapComposer den kompletten Germany Extract in nur 12 Teile zerlegt hat, dann kann es nicht gut gehen. Das sollten eher ein paar hundert Dateien mit jeweils max. 20MB sein.

@mtbbiker99
In #11 hast Du andere Probleme gemeldet, die aber letztlich in die gleiche Richtung gehen:

Mit mehr Speicher (2200M) kann mkgmap die Datei lesen und verarbeiten, stößt dann aber ein Limit im Garmin Format. Eine einzelne *.img Datei kann nicht beliebig viele Daten enthalten.
Wie viele Daten das sind hängt aber nicht nur von Grösse der *.pbf Datei ab, sondern auch von den Optionen wie level und natürlich besonders vom style. Für eine genauere Analyse bräuchte ich die *.pbf Datei, die Probeme macht, sowie die Style Dateien. Kannst Du gerne bei files.mkgmap.org.uk/ hochladen, dann schau ich mir das an.