On 7/9/22 19:42, Karl Williamson wrote: > On 7/9/22 02:59, Uwe Düffert wrote: >> Dear Karl and perl5-porters, >> >> 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 texinfo.info and then continues to run with >> full CPU usage forever (or at least until manually terminated after >> 5min). >> >> With perl-5.37.0, the offending command instead creates a tiny >> texinfo.info and 3 ~300K texinfo-{1,2,3}.info and finishes in like 1 >> second. >> >> >>> And in any case please send us the output of the Linux command >>> locale -a >> Sure. Nothing fancy I'm aware of: >> $> locale -a >> C >> C.utf8 >> de_DE >> de_DE@euro >> de_DE.iso88591 >> de_DE.iso885915@euro >> de_DE.utf8 >> en_US >> en_US.iso88591 >> en_US.utf8 >> POSIX >> >> > > Thanks for the info. With it, I am able to reproduce this problem on my > box. But that it fails only when no DEBUGGING makes it harder to figure > out. > > The loop is probably because texinfo has a while(1) loop calling perl's > setlocale for each entry returned from 'locale -a'. > > I have run valgrind, and it shows no problems with DEBUGGING; early > failures without. These buffer overrun failures are likely causing the > infinite loop when valgrind isn't there to prevent them from actually > corrupting memory. Actually, I'm unsure that I actually reproduced it; it might have been some setup error on my part. But I can't get it to fail with the attached patch. And I have a lot more locales than you do. 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.Thread Previous | Thread Next