Skip Menu |

This queue is for tickets about the PathTools CPAN distribution.

Report information
The Basics
Id: 75304
Status: open
Worked: 1 hour (60 min)
Priority: 0/
Queue: PathTools

People
Owner: Nobody in particular
Requestors: gortan [...] cpan.org
jkeenan [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 3.33
Fixed in: (no value)



Subject: Installing PathTools on Redhat Openshift Express fails
The free Redhat Openshift Express PaaS supports Perl, automagically downloading and installing required perl modules from CPAN. When I add File::Path::Functions to a script, this results in PathTools 3.33 being installed, which fails in the test step with (my UUID replaced with xxx): # Failed test (t/cwd.t at line 213) # '/var/lib/libra/xxx/.cpanm/work/1330178753.23137/PathTools-3.33/t/linktest' # doesn't match '(?i-xsm:\/var\/lib\/libra\/xxx\/\.cpanm\/work\/1330178753\.23137\/PathTools\-3\.33\/t\/_ptrslt_\/_path_\/_to_\/_a_\/_dir_$)' # Looks like you failed 1 test of 34. Steps to reproduce: 1. Create a free Openshift account here <https://openshift.redhat.com/app/user/new/express> 2. Follow the steps in <https://openshift.redhat.com/app/express#quickstart>, choose "-t perl-5.10" in step 3 3. add File::Spec::Functions to deplist.txt, git add, git commit, git push Output of cpanm attached.
Subject: build.log
--> Working on File::Spec::Functions Fetching http://mirror1.prod.rhcloud.com/mirror/perl/CPAN/authors/id/S/SM/SMUELLER/PathTools-3.33.tar.gz -> OK Unpacking PathTools-3.33.tar.gz Entering PathTools-3.33 Checking configure dependencies from META.yml Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.62) Configuring PathTools-3.33 Running Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for Cwd Writing MYMETA.yml and MYMETA.json -> OK Checking dependencies from MYMETA.yml ... Finding PREREQ from Makefile ... Checking if you have Scalar::Util 0 ... Yes (1.21) Checking if you have Test 0 ... Yes (1.25_02) Checking if you have File::Path 0 ... Yes (2.08) Checking if you have File::Basename 0 ... Yes (2.77) Checking if you have Carp 0 ... Yes (1.25) Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.62) Checking if you have Scalar::Util 0 ... Yes (1.21) Checking if you have Test 0 ... Yes (1.25_02) Checking if you have File::Path 0 ... Yes (2.08) Checking if you have File::Basename 0 ... Yes (2.77) Checking if you have Carp 0 ... Yes (1.25) Building and testing PathTools-3.33 cp lib/File/Spec/Mac.pm blib/lib/File/Spec/Mac.pm cp lib/File/Spec/OS2.pm blib/lib/File/Spec/OS2.pm cp lib/File/Spec/VMS.pm blib/lib/File/Spec/VMS.pm cp lib/File/Spec/Epoc.pm blib/lib/File/Spec/Epoc.pm cp lib/File/Spec/Functions.pm blib/lib/File/Spec/Functions.pm cp lib/File/Spec/Cygwin.pm blib/lib/File/Spec/Cygwin.pm cp lib/File/Spec.pm blib/lib/File/Spec.pm cp Cwd.pm blib/lib/Cwd.pm cp lib/File/Spec/Unix.pm blib/lib/File/Spec/Unix.pm cp lib/File/Spec/Win32.pm blib/lib/File/Spec/Win32.pm /usr/bin/perl /usr/share/perl5/ExtUtils/xsubpp -typemap /usr/share/perl5/ExtUtils/typemap Cwd.xs > Cwd.xsc && mv Cwd.xsc Cwd.c gcc -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION=\"3.33\" -DXS_VERSION=\"3.33\" -fPIC "-I/usr/lib64/perl5/CORE" Cwd.c Running Mkbootstrap for Cwd () chmod 644 Cwd.bs rm -f blib/arch/auto/Cwd/Cwd.so gcc -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic Cwd.o -o blib/arch/auto/Cwd/Cwd.so \ \ chmod 755 blib/arch/auto/Cwd/Cwd.so cp Cwd.bs blib/arch/auto/Cwd/Cwd.bs chmod 644 blib/arch/auto/Cwd/Cwd.bs PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/crossplatform.t ....... ok # Failed test (t/cwd.t at line 213) # '/var/lib/libra/xxx/.cpanm/work/1330178753.23137/PathTools-3.33/t/linktest' # doesn't match '(?i-xsm:\/var\/lib\/libra\/xxx\/\.cpanm\/work\/1330178753\.23137\/PathTools\-3\.33\/t\/_ptrslt_\/_path_\/_to_\/_a_\/_dir_$)' # Looks like you failed 1 test of 34. t/cwd.t ................. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/34 subtests t/Functions.t ........... ok t/rel2abs2rel.t ......... ok t/rel2abs_vs_symlink.t .. ok t/Spec.t ................ ok t/taint.t ............... ok t/tmpdir.t .............. ok t/win32.t ............... skipped: this is not win32 Test Summary Report ------------------- t/cwd.t (Wstat: 256 Tests: 34 Failed: 1) Failed test: 25 Non-zero exit status: 1 Files=9, Tests=733, 3 wallclock secs ( 0.14 usr 0.08 sys + 0.37 cusr 0.26 csys = 0.85 CPU) Result: FAIL Failed 1/9 test programs. 1/733 subtests failed. make: *** [test_dynamic] Error 255
On Sat Feb 25 09:26:37 2012, http://philipp.gortan.org/ wrote: Show quoted text
> The free Redhat Openshift Express PaaS supports Perl, automagically > downloading and installing required perl modules from CPAN. > When I add File::Path::Functions to a script, this results in > PathTools > 3.33 being installed, which fails in the test step with (my UUID > replaced with xxx): > > # Failed test (t/cwd.t at line 213) > # > '/var/lib/libra/xxx/.cpanm/work/1330178753.23137/PathTools- > 3.33/t/linktest' > # doesn't match > '(?i- > xsm:\/var\/lib\/libra\/xxx\/\.cpanm\/work\/1330178753\.23137\/PathTools\- > 3\.33\/t\/_ptrslt_\/_path_\/_to_\/_a_\/_dir_$)' > # Looks like you failed 1 test of 34. > > Steps to reproduce: > > 1. Create a free Openshift account here > <https://openshift.redhat.com/app/user/new/express> > > 2. Follow the steps in > <https://openshift.redhat.com/app/express#quickstart>, choose "-t > perl-5.10" in step 3 > > 3. add File::Spec::Functions to deplist.txt, git add, git commit, git > push > > Output of cpanm attached.
1. Does the problem persist? 2. Can you provide information about the version of Perl which you are running as part of this account? Suggestion: Run 'perl -V' at the command-prompt, save the output to a file, then repost here with the file (as an attachment, please). 3. My hunch is that your problem is independent of RedHat Open Express. However, if it is not, then there may be limits to the extent that we (maintainers of Perl 5 and of the PathTools CPAN distribution) can help you with this problem. Given the time that our volunteers have available, it is unlikely that anyone of them would sign up for a RedHat Open Express simply to explore this problem. 4. MAINTAINERS: This appears to me to be yet another problem with Cwd::abs_path(). The test that is failing is, I suspect: like(Cwd::_perl_abs_path($file), qr|$want$|i) if $EXTRA_ABSPATH_TESTS; at line 209 of dist/Cwd/t/cwd.t. Can you investigate? Thank you very much. Jim Keenan
Dear Jim, Yes, I was just able to reproduce the issue with the 3.40 of the PathTools. You guessed correctly, it is test 25 of cwd.t that is failing, which tests Cwd::_perl_abs_path. From reading the source, _perl_abs_path tries to walk the directories up to the root, opendir'ing every directory on the way. This is what's failing on Redhat Openshift: when the $dotdots is at "linktest/../../../../../../../../../../../../..", opendir fails, resulting in the "probably a permissions issue" fallback being executed - which does not return the expected result. The test is executed in directory /var/lib/openshift/xxx/.cpanm/work/PathTools-3.40/t. When I run this in the shell: $ ls /var/lib/openshift/ ls: cannot open directory /var/lib/openshift/: Permission denied So, you can easily reproduce the issue on your local system by executing e.g. $ sudo chmod a-r /home (which is not an uncommon setup on publicly-shared systems, I guess...) If I do this on my notebook, the unittest fails as well. Show quoted text
> 2. Can you provide information about the version of Perl which you are > running as part of this account? Suggestion: Run 'perl -V' at the > command-prompt, save the output to a file, then repost here with the > file (as an attachment, please).
For the record: Openshift uses 5.10.1, my notebook runs on 5.12 - but I guess the issue is independent of the perl version... I can open a bug report at RedHat if you want me to. They've been pretty responsive and helpful in the past, but I doubt that there will be a lot they can do here as the bug seems to be in Cwd.pm...