logo separator

[mkgmap-dev] java.lang.AssertionError while building index from unicode tiles

From Ticker Berkin rwb-mkgmap at jagit.co.uk on Fri Oct 22 09:27:46 BST 2021

Hi Gerd

I was just starting to reply to your previous mail about which parts
were necessary - what I had was:

Mdr5 and Mdr25 need to use the same sort/unique algorithm to ensure
Mdr25 isn't bigger than Mdr5. Regardless of the character set and the
logic changes to Sort.java, it is possible, but very unlikely, to come
across a set of city names that cause this problem while the algorithms
are different. Given Mdr5 is the most significant, Mdr25 is changed to
use a Collator and Mdr29.java now includes an assert for the relative
sizes.

Mdr23, 24 and 28 using the same logic (sort followed by detecting a
change) to get a unique list, so I think they should be fixed in the
same way as Mdr25, also bringing them into line with Mdr7, Mdr20 and
Mdr2x. using the same collator strength.

...

The way that Mdr29Record just takes the first reference per country to
mdr17/22/24/25/26, maybe the region/country complexity doesn't matter
in the mdr25 logic.

Ticker


On Fri, 2021-10-22 at 08:01 +0000, Gerd Petermann wrote:
> Hi Ticker,
> 
> I've committed the patch as is. Reg. Mdr25: The current code doesn't
> make much sense, but maybe there is no Garmin software that uses this
> index?
> I have only two maps (AdriaTOPO 2.40 and a Topomap Benelux from 2009)
> where this section is filled. Both maps are locked, so I cannot analyse
> the content further.
> 
> Gerd
> 
> ________________________________________
> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von
> Gerd Petermann <gpetermann_muenchen at hotmail.com>
> Gesendet: Donnerstag, 21. Oktober 2021 15:48
> An: Development list for mkgmap
> Betreff: Re: [mkgmap-dev] java.lang.AssertionError while building index
> from unicode tiles
> 
> Hi Ticker,
> 
> I agree that the original code isn't clear, what I don't understand is
> this: Do we need the changes reg. the collator to fix the problem
> regarding unicode or are these two separate problems? The changes in
> Sort seem to be needed (and I have no clue if your approach is good or
> not), the others seem to be OK, but not needed to avoid the crash.
> 
> I don't mind to commit the change to class Sort soon  as long as only
> unicode maps are affected. For all other changes I'd prefer to have a
> new branch and maybe find a way to verify if they are improvements or
> not.
> 
> Gerd
> 
> 
> ________________________________________
> Von: Gerd Petermann <gpetermann_muenchen at hotmail.com>
> Gesendet: Donnerstag, 21. Oktober 2021 11:21
> An: Development list for mkgmap
> Betreff: AW: [mkgmap-dev] java.lang.AssertionError while building index
> from unicode tiles
> 
> Hi Ticker,
> 
> so far I don't understand most of the changes in mdrUnicode_v2.patch
> 
> Setting strength to SECONDARY (instead of the default TERTIARY) means
> that e.g. a and ä (German umlaut) are treated the same, right? Why do
> you describe it "generally case-insensitive"?
> 
> This doesn't seem to be related to unicode maps only, so I wonder what
> side effects this has.
> 
> Gerd
> 
> ________________________________________
> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von
> Ticker Berkin <rwb-mkgmap at jagit.co.uk>
> Gesendet: Mittwoch, 20. Oktober 2021 12:32
> An: Development list for mkgmap; Steve Ratcliffe
> Betreff: Re: [mkgmap-dev] java.lang.AssertionError while building index
> from unicode tiles
> 
> Hi
> 
> In the changes I've just made, I hope I've been consistent and fixed
> all instances to use collator.compare() where scanning the results of a
> sort on the same table for a change. Also consistently setting strength
> to SECONDARY (generally case-insensitive).
> 
> There may be places where an indirect test should also use
> collator.compare(). Maybe this should be tackled next.
> 
> I didn't look at MdrCheck.
> 
> Ticker
> 
> On Wed, 2021-10-20 at 08:24 +0000, Gerd Petermann wrote:
> > Hi Ticker & Steve,
> > 
> > I don't understand the mixed use of collator.compare() and
> > String.equals() in the Mdr classes.
> > When we use the collator to sort the data we probably also have to
> > use it to compare for equality while grouping?
> > 
> > I also see differences between the code in MdrCheck and the classes
> > in mkgmap.
> > 
> > Gerd
> 
> 
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev




More information about the mkgmap-dev mailing list