> Date: Sun, 23 Oct 2022 13:42:22 +0300
> From: Eli Zaretskii <[email protected]>
> CC: [email protected], [email protected]
> 
> On a hunch, I did two things:
> 
>   . created a file tp/tests/input_file_names_recoded_stamp.txt with
>     the text FAILED in it;
>   . made the change below in tp/Texinfo/Translations.pm.
> 
> Then running a single test with
> 
>   $ ./run_parser_all.sh -dir contents contents_at_begin
> 
> succeeded.  Will now try running more tests with these tricks.

Done.  There are two kinds of problems I see:

 . Perl sometimes crashes in Parsetexi.pm, due to some memory problem
 . Some tests yield diffs.

Details about the first problem below; I will send additional messages
about the diffs.

So here's the error message I get when Perl crashes:

  Free to wrong pool 3f5d70 not 50d0190 at 
..\..\tp/Texinfo/XS/parsetexi/Parsetexi.pm line 97.

This hints on a memory allocation problem.  And indeed, Parsetexi.pm
line 97 does this:

  reset_parser ();

And reset_parser calls a bunch of functions from indices.c, which use
malloc/realloc/free without redirecting them to the Perl allocation
functions.  I guess we need the dTXH thingy there, but doing so needs
some Perl includes?  Can you tell me what I need to put at the
beginning of the file to be able to use dTHX safely in indices.c?

Or maybe we need something other than dTHX there?

I see that a lot of other files in tp/Texinfo/XS/parsetexi/ call
memory allocation functions, but don't have dTHX -- is that safe?

Reply via email to