logo separator

[mkgmap-dev] SeeGenerator error with r1752

From Marko Mäkelä marko.makela at iki.fi on Thu Dec 23 20:18:55 GMT 2010

On Thu, Dec 23, 2010 at 08:14:27PM +0200, Marko Mäkelä wrote:
>On Thu, Dec 23, 2010 at 07:14:54PM +0200, Harri wrote:
>>I'm geting trouble with following options as well:
>>--generate-sea=multipolygon,extend-sea-sectors,close-gaps=2000
>>
>>r1751 did not have the problems and they appeared in r1752.
>
>I did not upgrade yet, still at r1728. My scripts at
>http://www.polkupyoraily.net/osm/ use generate-sea=multipolygon for all
>tiles except one, which is generate-sea=multipolygon,extend-sea-sectors.
>I guess I should retry today's extract with r1752 and report if it
>works.

It does not work. This command from my osm2img.sh script (simplified) 
crashes:

java -ea -Dlog.config=logging.properties -jar mkgmap.jar -c mkgmap.args

The end of the mkgmap.log.0 looks comparable to the mkgmap.log.1 from a 
previous run with r1728. After stripping time stamps and sorting the 
lines, the files are almost equal. The differences do not seem related 
to generate-sea (except the different IDs of generated polygons).

The last map tile (63240006) uses 
--generate-sea=multipolygon,extend-sea-sectors. All other tiles use just 
--generate-sea=multipolygon. Here is the stack trace:

java.lang.NullPointerException
	at uk.me.parabola.mkgmap.reader.osm.SeaGenerator.end(SeaGenerator.java:432)
	at uk.me.parabola.mkgmap.reader.osm.OsmReadingHooksChain.end(OsmReadingHooksChain.java:78)
	at uk.me.parabola.mkgmap.reader.osm.xml.Osm5MapDataSource.load(Osm5MapDataSource.java:73)
	at uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:145)
	at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:56)
	at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:220)
	at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:217)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)

This seems to point to this line:

			coastRel.setFloodBlockerRules(fbRules.getWayRules());

Should it not skip this when fbRules == null, or should empty 
flood-blocking rules be assigned an object?

Best regards,

	Marko



More information about the mkgmap-dev mailing list