patgen SIGSEGV on aarch64-linux

Johannes Hielscher jhielscher at posteo.de
Wed Jul 10 00:00:03 CEST 2019


Am Sun, 30 Jun 2019 15:18:06 -0600
schrieb Karl Berry <karl at freefriends.org>:

> Decrease the numbers until they work (and then you or I can commit the
> new numbers). If it ends up being too small and we want to address the
> original request, we'll have to make the numbers either configurable
> or dynamically reallocate the arrays. --thanks, karl.

I bisected it, and it seems that the sum of trie_size+triec_size must
not be larger than a magic constant that has a value of about
1.14e8 on the pickier one of my two aarch64-linux machines. The other
box dies between 1.41e8 and 1.44e8 (I went no further yet). This looks
all so oddly random /-:
BTW It is more of a run-time than compile-time problem. The binary built
on the more liberal machine won't run on the pickier one, and the other
way round works well.


Sticking to the 2:1 ratio for the values, we'd end up with

Index: texk/web2c/patgen.ch
===================================================================
--- texk/web2c/patgen.ch        (revision 51590)
+++ texk/web2c/patgen.ch        (working copy)
@@ -78,8 +78,8 @@
  |trie_size| and greater than the number of occurrences of any pattern in
  the dictionary}
 @y
-@!trie_size=100000000; {max space for pattern trie}
-@!triec_size=50000000; {max space for pattern count trie, must be less than
+@!trie_size=76000000; {max space for pattern trie}
+@!triec_size=38000000; {max space for pattern count trie, must be less
than |trie_size| and greater than the number of occurrences of any
pattern in the dictionary}
 @z

which keeps three quarters of the size as of Keno's patch (2019-05-17),
yet is still more than sevenfold of the old state (TL2019-release and
earlier).

Best,
Johannes


More information about the tex-live mailing list