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
commit d2e38af7 exhausts swap space on FreeBSD #16340
Comments
From @jkeenanThis afternoon while conducting a smoke test run in my normal manner on I had never seen such messages before in this VM. Since I had to go out I had never seen problems with this file before (but, as it turns out, Usually when I have a test failure in one of my FreeBSD smokers, it's $ cd t;./perl harness -v ../dist/PathTools/t/cwd_enoent.t; cd - This output appears before any other output from the test file. Indeed, * the perl-current directory of my smoke test rig on FreeBSD-11.0; The errant file was only committed to blead earlier today: ##### correct error returns from _perl_abs_path() The commit should be reverted ASAP and tested in a branch on various Thank you very much. |
From @jkeenanSummary of my perl5 (revision 5 version 27 subversion 8) configuration: Characteristics of this binary (from libperl): |
From zefram@fysh.orgI've disabled that test in commit 06c214d. -zefram |
The RT System itself - Status changed from 'new' to 'open' |
From zefram@fysh.orgJames E Keenan wrote:
This is curious. It is not terribly surprising that pwd(1) would First I'd like to determine exactly where this happens. For it to precede $ perl -MFile::Temp=tempdir -MCwd=getcwd -lwe '$tmp = tempdir(CLEANUP => 1); print "aa $tmp"; mkdir("$tmp/testdir") or die; print "bb"; chdir("$tmp/testdir") or die; print "cc"; rmdir("$tmp/testdir") or die; print "dd"; $p = getcwd() // "undef"; print "ee $p"; chdir($tmp) or die; print "ff"' This doesn't require a PathTools that exhibits the test failure: the If the above test code gets as far as outputting "ee" but not "ff" -zefram |
From @jkeenanOn Mon, 25 Dec 2017 09:13:16 GMT, zefram@fysh.org wrote:
Here's what I was able to determine last night. (I'll try your suggestions later today.) 1. The file loops over 2 values. If I comment out 'perl' and loop over 'regular', everything is fine. ##### 2. If I comment out 'regular', then comment out every line inside the loop, then un-comment one line at a time from the top down, everything is fine up to this point: ##### 3. But when I un-comment the very next line, I get the swap-eating output: ##### More to come later. Thank you for your prompt response. -- |
From @jkeenanOn Mon, 25 Dec 2017 09:13:16 GMT, zefram@fysh.org wrote:
#####
From config.h:
#####
-- |
From zefram@fysh.orgJames E Keenan via RT wrote:
Huh, so apparently getting no other test output was a red herring. I think I understand it now. If _perl_abs_path() fails to return File::Spec->rel2abs( $start, _backtick_pwd() ); _backtick_pwd() invokes pwd(1), which would explain getting an error Can you confirm that that's the path being taken through the code? I think the use of File::Spec->rel2abs from _perl_abs_path() is a bad -zefram |
From @jkeenanOn Mon, 25 Dec 2017 19:09:38 GMT, zefram@fysh.org wrote:
I wasn't quite sure of how you wanted me to proceed. See the attachment for some debugging output from './perl -Ilib -d ./dist/PathTools/t/cwd_enoent.t' on FreeBSD-10.3.
-- |
From @jkeenanCwd::_perl_abs_path(lib/Cwd.pm:422): |
From zefram@fysh.orgJames E Keenan via RT wrote:
That confirms my suspicion, thanks. Fixed in commit -zefram |
From @jkeenanOn Tue, 26 Dec 2017 07:50:45 GMT, zefram@fysh.org wrote:
Thanks. I'm no longer getting infinite loops or exhaustion of swap space on FreeBSD. However, I see that we have a FAIL in this test file being reported on a Cygwin smoke rig. Please see: http://perl.develop-help.com/raw/?id=204663 Thank you very much. -- |
From @eserteZefram <zefram@fysh.org> writes:
I also see the error on a FreeBSD 12 system (any perl), and it's indeed $ = File::Spec::Unix::_cwd('File::Spec') called from file '/usr/local/lib/perl5/5.24/mach/File/Spec/Unix.pm' line 522
Probably rewriting the lines like this: require File::Spec; (untested) should suffice. Regards, -- Berlin Perl Mongers - http://berlin.pm.org |
From @eserte"James E Keenan via RT" <perlbug-followup@perl.org> writes:
I guess that on some systems it's not possible to remove a directory SKIP: { Regards, -- Berlin Perl Mongers - http://berlin.pm.org |
From zefram@fysh.orgJames E Keenan via RT wrote:
That's annoying. The test allows for a platform to veto having an I'd like to see more detail of the test output and the mode of -zefram |
From @iabynOn Tue, Dec 26, 2017 at 08:06:36PM +0000, Zefram wrote:
So IIUC, in this ticket, the infinite loop problem has been fixed on CXan we do anything about that (e.g. skip the test), -- |
From @iabynOn Thu, Apr 19, 2018 at 11:50:38PM +0100, Dave Mitchell wrote:
I see that for (unrelated, I think) reasons, cwd_enoent.t -- |
From @iabynOn Mon, Apr 23, 2018 at 01:21:40PM +0100, Dave Mitchell wrote:
Now unblocked. -- |
The Cygwin problem is now tracked in #16366. Everything else appears to be resolved. Closing. |
Migrated from rt.perl.org#132651 (status was 'open')
Searchable as RT132651$
The text was updated successfully, but these errors were encountered: