develooper Front page | perl.perl5.porters | Postings from July 2022

Re: perl-5.37.1 breaks texinfo-6.8

Thread Previous | Thread Next
Karl Williamson
July 10, 2022 22:49
Re: perl-5.37.1 breaks texinfo-6.8
Message ID:
On 7/10/22 15:21, Uwe Düffert wrote:
> Dear Karl and perl5-porters,
> On Sat, 9 Jul 2022, Karl Williamson wrote:
>>> On 7/9/22 02:59, Uwe Düffert wrote:
>>>> On Fri, 8 Jul 2022, Karl Williamson wrote:
>>>>> Please then try adding the attached patch to your perl, and see if 
>>>>> the problem is solved.
>>>> Well, I'd say it "modifies" the problem. With perl-5.37.1 with this 
>>>> patch, the offending perl command from texinfo does not panic 
>>>> anymore. Instead, it creates a 300K and then continues 
>>>> to run with full CPU usage forever (or at least until manually 
>>>> terminated after 5min).
>> The patch includes instrumentation for non-debugging builds that 
>> prints when a publicly accessible function enters and returns, and 
>> what it is passed and what it returns.  Please apply and run it and 
>> email us the output.
> Both your new smoke patches do not apply cleanly to perl-5.37.1 - 
> because the "complicating category" part in Perl_setlocale does not 
> exist [I suppose yet]. So I can only provide the output of everything 
> besides those 2 additional lines. This may not be tragic in itself, but 
> I suppose I'm missing some relevant git changes to Perl_setlocale then. 
> Anyway, the behavior of the texinfo testcase for me is the same with all 
> 3 smoke patches and already described above.
> When it runs endlessly with full CPU usage, no further output follows 
> and everything that was output before is attached.
> Regards
> Uwe

It appears then to be getting hun in the texinfo program itself.  So 
something we're returning is different than it was before, causing it to 
hang, or somehow we've overwritten data.

If you have valgrind, or clang asan or similar, could you try running that?

If not or it doesn't show a problem, run the working perl version using 
the -DLv and the PERL_DEBUG_LOCALE_INIT environment variable (on a 
DEBUGGING one)  I can then compare outputs.

And you could use gdb, and when it is in the hung state, break the 
program to see where in texinfo it is hanging.

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About