logo separator

[mkgmap-dev] Basecamp crashes with my map

From Gerd Petermann GPetermann_muenchen at hotmail.com on Mon Aug 7 06:06:54 BST 2017

Hi Gert,

one more hint: Basecamp crashes in a method "GetDemElevationFromMapCache", so it seems to try to read cached data which doesn't exist.
Did you try to clear the cache? (press Ctrl+G two times)

Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von thesurveyor at wolke7.net <thesurveyor at wolke7.net>
Gesendet: Sonntag, 6. August 2017 19:34:32
An: mkgmap-dev at lists.mkgmap.org.uk
Betreff: Re: [mkgmap-dev] Basecamp crashes with my map

Hi Gerd, Thomas,

I've changed my splitting to handle your hints. But it didn't help so far. Maybe I did something wrong. I will check again.

But I didn't noticed yesterday that the tile is empty. As said my tiles contain contourlines. And with my splitting I get some tiles which are empty. They are somewhere in the ocean. The original tile was larger and covered a part of the continent. So there would be some contourlines. But after my manual split I've got a tile which hasn't.

I have found some more tiles which make problems in my map. And all of them are empty or contain just contourlines with elevation=0 and elevation=0 is not rendered in my style.
Here one example in .osm-format (converted with osmosis from pbf to osm format)

<?xml version='1.0' encoding='UTF-8'?>
<osm version="0.6" generator="Osmosis 0.43.1">
  <bounds minlon="-10.67871" minlat="44.20898" maxlon="-2.59277" maxlat="45.00000" origin="0.43.1"/>

I've made a cross check with a tile which contains just contourlines with elevation=0. I changed one line (way) to elevation=50 and now this tile runs fine in Basecamp.

Is it a known problem that Basecamp crashes with empty tiles or at least with empty "contourlines tiles"?
Does mkgmap report an error or warning if it builds an empty tile? I didn't see such messages.

Here the error message from Basecamp:
App: BaseCamp
At: 06.08.2017 18:46:48 (UTC1)
OS: Windows 10 (64-bit)
Processor: x86, Processor Level: 18, Processors:2, Model: 1 Stepping: 0, RAM: 7854824
Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.
   bei map.GetDemElevationFromMapCache(Optional_t<double>* , Position_t* , Product_t* , MapCache_t* )
   bei bc.MainForm_t.HandleMapViewMouseMove(Object sender, MouseEventArgs e)
   bei System.Windows.Forms.MouseEventHandler.Invoke(Object sender, MouseEventArgs e)
   bei System.Windows.Forms.Control.OnMouseMove(MouseEventArgs e)
   bei System.Windows.Forms.Control.WmMouseMove(Message& m)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   bei System.Windows.Forms.Application.Run(Form mainForm)
   bei main(String[] aArgs)

Active Map Product:
Version: 1.00

Installed Map Products:
Map Name: Globale Karte (Garmin Product)
Map Id: 133758977
Map Version: 2.0
Map Type: Bundle
Custom Drawn Map: No
Digital Elevation Model: No
Map Name: oEurC
Map Id: 458817537
Map Version: 1.0
Map Type: Legacy
Custom Drawn Map: Yes
Digital Elevation Model: Yes

.NET Versions:
.NET FW 1.0 not installed.
.NET FW 1.1 not installed.
.NET FW 2.0 not installed.
.NET FW 3.0 not installed.
.NET FW 3.5 not installed.
OpenGL Version 2.1


Gesendet: Samstag, 05. August 2017 um 21:09 Uhr
Von: "Gerd Petermann" <GPetermann_muenchen at hotmail.com>
An: "Development list for mkgmap" <mkgmap-dev at lists.mkgmap.org.uk>
Betreff: Re: [mkgmap-dev] Basecamp crashes with my map
Hi Gert,

normally splitter uses Garmin units, the log shows e.g.
Map is being split for resolution 13:
- area boundaries are aligned to 0x800 map units (0.0439453125 degrees)
- areas are multiples of 0x800 map units wide and high

So, if you force a split at other boundaries this might cause problems, at least with routing.
I suggest to post a link to the special tile for detailed analysis.

Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von thesurveyor at wolke7.net <thesurveyor at wolke7.net>
Gesendet: Samstag, 5. August 2017 20:54:17
An: mkgmap-dev Mailing List
Betreff: [mkgmap-dev] Basecamp crashes with my map

Hi all,

I've a question about splitting a map.

I'm using splitter to split a large pbf-file with contourlines to about 300 tiles. This works fine. But now I have the requirement to support a process
with two parts of the whole map, splitted exactly at a given latitude. So I've written a simple tool that reads the tile-list from splitter ( --write-kml),
searches for the tiles which are north or south of the given latitude and writes them to a file. For the tiles which are divided by the given
latitude the tool divides the tile in two parts and writes the parts as new tiles to the file.

As the next step splitter is called again with the file as a parameter (--split-file) and mkgmap is used to create the two maps.
All this works wonderful, but yesterday I've seen that Basecamp crashes when I install those tiles.

I'm doing this since several years now, but never noticed that behaviour. Maybe I didn't see it, because I'm not using Basecamp very often.

So today I spent some hours to look deeper into that problem. I could eliminate one tile. Then I noticed that size of this tile is just about 8 kB.
And when I deleted the tile from the map Basecamp doesn't crash anymore. Of course the map should have a hole now :-)

Ok, so far so good, but what's the reason for that behaviour. This tile was splitted by my tool. So maybe I'm doing something wrong.
But I have splitted a lot more tiles which seem to work.

So I have some questions:
1) I'm splitting the tiles into two parts, at full or half degrees, e,g. 47.00000 or 47.50000.
2) The mentioned tile is less than 1 degree in north to south direction.
Could one ot those questions lead to that behaviour?

Do you have another idea what could be wrong with a tile that crashes Basecamp. Or do you have an idea what to check?
The map is working well on different Garmin devices (Oregon, etrex hcx).

Many thanks for your support.

Best regards,

mkgmap-dev mailing list
mkgmap-dev at lists.mkgmap.org.uk

More information about the mkgmap-dev mailing list