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
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.
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?
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
b) Sportliche Ehrgeiz, es selbst zu schaffen
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…
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
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
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.
So ungefähr argumentiert Trump auch …
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.
+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.
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.
Bei diesem Lauf kommt zwar die Fehlermeldung:
java.lang.IllegalArgumentException: index capacity exeeded 8000551759
aber der Lauf geht zu Ende und die Kartendatei wird troztdem erstellt. Ich denke mal, weil der Bereich so klein ist.
Bei der Größe von NRW wird keine Karte erstellt.
Ich Lade noch nochmal den “richtigen” Fehler hoch. (hat 1,5GB, ich hoffe das geht)