Hi Steve,


another work around would be to use a Int2ObjectOpenHashMap from fastutil here.


Gerd



Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Steve Ratcliffe <steve@parabola.me.uk>
Gesendet: Samstag, 17. Dezember 2016 22:14:23
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] Java Exception on Greece map merging
 

Hi

In addition to the previous bugs I found there is also
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6616627 which is
an old bug which appears similar but was for Long.valueOf() instead of
Integer.valueOf().

On the assumption that it is a JVM bug and as it is affecting a few
people, we should consider a workaround.

Probably
   poi.setZip(zips.get(new Integer(zipIndex-1)))

would work.

As the zipIndex values are typically small, the integer cache
may be valuable in our case.  So we could implement our own,
but it would have to be different enough to avoid running into
the same bug.  We don't need negative numbers so that might be
enough.

The netbeans project implemented their own integer cache as their
workaround.

        http://hg.netbeans.org/releases/rev/ff893c3cec4d

..Steve

> I am getting Java exception:
> Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 265
>         at java.lang.Integer.valueOf(Integer.java:831)
>         at
> uk.me.parabola.imgfmt.app.lbl.LBLFileReader.readPoiInfo(LBLFileReader.java:422)
>         at
> uk.me.parabola.imgfmt.app.lbl.LBLFileReader.<init>(LBLFileReader.java:75)
>         at
> uk.me.parabola.mkgmap.combiners.FileInfo.lblInfo(FileInfo.java:326)
>         at
> uk.me.parabola.mkgmap.combiners.FileInfo.lblInfo(FileInfo.java:313)
>         at
> uk.me.parabola.mkgmap.combiners.FileInfo.imgInfo(FileInfo.java:259)
>         at
> uk.me.parabola.mkgmap.combiners.FileInfo.getFileInfo(FileInfo.java:152)
>         at uk.me.parabola.mkgmap.main.Main.endOptions(Main.java:595)
>         at
> uk.me.parabola.mkgmap.CommandArgsReader.readArgs(CommandArgsReader.java:128)
>         at uk.me.parabola.mkgmap.main.Main.mainStart(Main.java:135)
>         at uk.me.parabola.mkgmap.main.Main.main(Main.java:106)
> on map merge. I am compiling latest Greece map from Geofabrik. There was
> not a problem with data from October.

_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev