|
From: | Melvin Mawhin |
Subject: | Re: Infinite loop generating QEMU docs after upgrade to Perl 5.28.0 |
Date: | Fri, 29 Jun 2018 05:46:29 +0000 |
If i did it correctly i get the following:
Type "apropos word" to search for commands related to "word"...
Reading symbols from perl...(no debugging symbols found)...done. Attaching to program: /usr/bin/perl, process 8488 Reading symbols from /usr/lib64/perl5/CORE/libperl.so...(no debugging symbols found)...done. Reading symbols from /lib64/libpthread.so.0...(no debugging symbols found)...done. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Reading symbols from /lib64/libnsl.so.1...(no debugging symbols found)...done. Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done. Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done. Reading symbols from /lib64/libcrypt.so.1...(no debugging symbols found)...done. Reading symbols from /lib64/libutil.so.1...(no debugging symbols found)...done. Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done. Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done. Reading symbols from /usr/lib64/perl5/auto/Cwd/Cwd.so...(no debugging symbols found)...done. Reading symbols from /usr/lib64/perl5/auto/Encode/Encode.so...(no debugging symbols found)...done. Reading symbols from /usr/lib64/perl5/auto/Fcntl/Fcntl.so...(no debugging symbols found)...done. Reading symbols from /usr/lib64/perl5/auto/Storable/Storable.so...(no debugging symbols found)...done. Reading symbols from /usr/lib64/perl5/auto/IO/IO.so...(no debugging symbols found)...done. Reading symbols from /usr/lib64/perl5/auto/POSIX/POSIX.so...(no debugging symbols found)...done. Reading symbols from /usr/lib64/perl5/auto/Data/Dumper/Dumper.so...(no debugging symbols found)...done. Reading symbols from /usr/lib64/perl5/auto/Unicode/Normalize/Normalize.so...(no debugging symbols found)...done. Reading symbols from /usr/lib64/texinfo/MiscXS.so...done. Reading symbols from /usr/lib64/perl5/auto/re/re.so...(no debugging symbols found)...done. Reading symbols from /usr/lib64/texinfo/XSParagraph.so...done. Reading symbols from /usr/lib64/perl5/auto/PerlIO/encoding/encoding.so...(no debugging symbols found)...done. 0x00007fdd1764318c in xspara.add_next () from /usr/lib64/texinfo/XSParagraph.so (gdb) n Single stepping until exit from function xspara__add_next, which has no line number information. Also I attached the texi sources with a debug.sh script. just run the script to reproduce the error From: Gavin Smith <address@hidden>
Sent: Friday, June 29, 2018 12:40 AM To: Melvin Mawhin Cc: address@hidden Subject: Re: Infinite loop generating QEMU docs after upgrade to Perl 5.28.0 On Wed, Jun 27, 2018 at 1:46 PM, Melvin Mawhin
<address@hidden> wrote: > Since upgrading to perl 5.28 in slackware-current we ran into a bug while > generating documentation for qemu > > The version number of Texinfo and the program(s) or manual(s) involved. > Texinfo 6.5 / Qemu 2.12.0 (docs) / Perl 5.28.0 > The contents of any input files necessary to reproduce the bug. > The Qemu sources contain the document files > Precisely how you ran any program(s) involved. > I ran configure and make. The command causing issues is: > LC_ALL=C makeinfo --no-split --number-sections -I docs -I . -I . > --no-headers --plaintext qemu-doc.texi -o qemu-doc.txt I have downloaded and installed Perl 5.28 on my computer but haven't been able to reproduce the bug yet. I downloaded the qemu sources. I had to build qemu to get all the documentation files (otherwise files were missing) but they appeared to build OK: GEN qemu-doc.txt Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^\s+@([[:alnum:]][[:alnum:]\-]*)({ <-- HERE })?\s*/ at /home/g/local/share/texinfo/Texinfo/Parser.pm line 5481. Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^\s+@([[:alnum:]][[:alnum:]\-]*)({ <-- HERE })?\s*(\@(c|comment)((\@|\s+).*)?)?/ at /home/g/local/share/texinfo/Texinfo/Parser.pm line 5485. GEN qemu.1 GEN qemu-img.1 GEN qemu-nbd.8 I didn't let the build finish but this appears to be enough to show the problem didn't occur. Afterwards, I ran LC_ALL=C makeinfo --no-split --number-sections -I docs -I . -I . --no-headers --plaintext qemu-doc.texi -o qemu-doc.txt in the qemu sources and this also worked without any problems. It would help if you could email the complete set of *.texi files needed to reproduce the error so that anybody working on it does not have to deal with downloading or building qemu. The way that I would start with debugging this, assuming I could reproduce the bug in the first place (which I can't so far), is to run makeinfo to get it to hang, and then attach to the running perl process with gdb. E.g. function attach () { gdb $1 `pgrep $1` } attach perl Since we have established the problem occurs in the XS extensions to the perl executable, it should be straightforward then to step through the code with gdb and see where the infinite loop occurs. |
debug.tar.gz
Description: debug.tar.gz
[Prev in Thread] | Current Thread | [Next in Thread] |