New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
endless loop debugging DosGlob #12785
Comments
From @craigberryRecently when running ext/File-DosGlob/t/DosGlob.t under the Perl debugger, I noticed that it got stuck in an endless loop. I whittled it down to: $ cat debug_dosglob.t my $previous_dollar_underscore = ''; exit 0; where we know that something went wrong if the outer loop gives us the same result we got on the previous iteration. The script succeeds when run without -d, but with -d it would loop endlessly without the code to detect that we're repeating ourselves and bail out. After putting the following debugger initialization in my home directory: $ cat ~/.perldb sub afterinit { I was able to bisect it with: $ git clone perl perl2 ... HEAD is now at c619428 DosGlob: Don’t use the magic 2nd arg to glob DosGlob: Don’t use the magic 2nd arg to glob :100644 100644 ac3aac4c4f1b2ee67991d925176b6268fdb5c842 a8ff0e670284a2449d7cb9598e804765c95b3175 M MANIFEST The commit in question adds an XS routine _callsite that consists entirely of: SV * I'm wondering why it's taking the address of retop since that is already of type OP*, but I may be misparsing this and don't have the time at the moment to dig deeper. I think the only other necessary bit to log the ticket is: $ ./perl -Ilib -V Characteristics of this binary (from libperl): ________________________________________ "... getting out of a sonnet is much more |
From @rockyAlthough this might be a not be debugger bug, I wondered if $ trepan.pl /tmp/bug3.pl This is perl 5, version 17, subversion 7 (v5.17.7) built for i686-linux ... On Sun, Feb 17, 2013 at 10:27 PM, Craig A. Berry
|
The RT System itself - Status changed from 'new' to 'open' |
From @craigberryOn Sun, Feb 17, 2013 at 11:03 PM, Rocky Bernstein <rocky@cpan.org> wrote:
I forgot to mention that you need to have the current working I suspect the debugger is an innocent victim in this case, but don't |
From @rockyOn Mon, Feb 18, 2013 at 8:00 PM, Craig A. Berry <craig.a.berry@gmail.com>wrote:
Still works for me: $ trepan.pl /tmp/bug3.pl And for you?
Possibly. But if it is reproducible in Devel::Trepan: |
From @cpansproutOn Sun Feb 17 19:27:48 2013, craigberry wrote:
It’s reading the pointer as a string, to get the memory address of the op. So presumably it’s getting confused because it is not stepping over the I wonder whether Devel::Callsite has the same bug. -- Father Chrysostomos |
From @rockyOn Tue, Jul 16, 2013 at 3:06 AM, Father Chrysostomos via RT <
If it does and you want to suggest a fix, I'd be happy to apply it.
|
From @cpansproutOn Tue Jul 16 00:06:12 2013, sprout wrote:
Without actually confirming (or even looking at the code), I think it is
So yes, it probably does. I don’t know offhand which is the best way to determine whether it -- Father Chrysostomos |
Migrated from rt.perl.org#116819 (status was 'open')
Searchable as RT116819$
The text was updated successfully, but these errors were encountered: