[mkgmap-dev] Memory problems since 1245
From Steve Ratcliffe steve at parabola.me.uk on Mon Oct 5 12:25:33 BST 2009
On 05/10/09 08:52, Du Plessis, Bennie wrote: > I don’t know where to post a ticket, but I’m sure you’ll tell me if it’s > the wrong forum. Hello, No problem, this is fine place to report this. > Since version 1245 I had to increase the memory size in the MkGMap > command line > > and the virtual memory of my machine to get mkGMap to work. There should be absolutely no difference in making the .img files. The index generation itself could take a lot of memory, but only if you are dealing with a lot of maps. However the specific error you report is not related to memory (see below). > to send mapsource. It takes 3 hours to compile with these errors, so I > can barely run 2 tries per night. I know that sometimes --generate-sea can take a long time. Also if you are creating a map for a country that has lots of tags on every node, then it will take a lot more memory. This is unfortunate and I plan to fix that problem, but it does mean that you should probably split the file into more pieces if that is the case. You are running java with more virtual memory than you have physical memory on your machine which is also guaranteed to be slow. For me, it takes just over 4 minutes to do the UK split into 14 tiles, and 8 seconds to make the index. > If someone can save me time with some tips, I will sincerely appreciate it. I would recommend that you run the index creation separately from creating the .img files. The index should only take a few seconds to create once you have some .img files to work with, and will give you a lot more time to experiment if things don't work the first time. First, since you are using both --index and --gmapsupp, I should point out that the index will not currently work in the gmapsupp file on the GPS device. It currently only works with mapsource. The index generation only needs the .img files, not the .osm files. So first create the .img files using all the options apart from --index and --gmapsupp. You can use a different version of mkgmap if that is what it takes to make them. It does not need to be the mdr version if you need a fix that is the mainline for example. You only need the mdr version to actually generate the index in the next step. Then run mkgmap with the --index on all the img file(s) that were created in the previous step, apart from the overview map file (called by default osmmap.img in the mdr branch, or 63240000.img in the mainline). Along with --index you will need as a minimum --family-id but there is no harm in repeating all the other options. You can do the same thing to generate the gmapsupp.img, using the --gmapsupp option, this will take even less time than the index. > Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -68 > at java.util.ArrayList.get(Unknown Source) > at uk.me.parabola.imgfmt.sys.BlockTable.physFromLogical(BlockTable.java: 112) > at uk.me.parabola.imgfmt.app.trergn.RGNFileReader$RgnOffsets.<init>(RGNFileReader.java:227) I've seen this error, but I can't remember where or what I did about it. If this still happens with the latest version of the mkgmap-mdr jar file then please report back. It is a bug and not a problem with too little memory. Best Regards, ..Steve
- Previous message: [mkgmap-dev] Memory problems since 1245
- Next message: [mkgmap-dev] Memory problems since 1245
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list