Bug #94209 for File-Path: remove_tree() is not thread-safe due to chdir
This queue is for tickets about the File-Path CPAN distribution.
Report information
The Basics
People
Owner:
RICHE [...] cpan.org
Requestors:
ppisar [...] redhat.com
Cc:
jkeenan [...] cpan.org
AdminCc:
BugTracker
Severity:
(no value)
Broken in:
2.09
Fixed in:
(no value)
Attachments
rt_perl_org_112008.txt
X-Scanned-BY: | MIMEDefang 2.68 on 10.5.11.25 |
MIME-Version: | 1.0 |
X-Spam-Status: | No, score=-8.911 tagged_above=-99.9 required=10 tests=[BAYES_00=-1.9, FROM_OUR_RT=-2, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham |
X-Authentication-Warning: | dhcp-0-146.brq.redhat.com: petr set sender to ppisar@redhat.com using -f |
In-Reply-To: | <rt-4.0.18-29853-1395841280-1591.94209-3-0@rt.cpan.org> |
Content-Disposition: | inline |
X-Spam-Flag: | NO |
X-RT-Interface: | API |
References: | <RT-Ticket-94209@rt.cpan.org> <rt-4.0.18-29853-1395841280-1591.94209-3-0@rt.cpan.org> |
X-Virus-Scanned: | Debian amavisd-new at bestpractical.com |
Message-ID: | <20140326145107.GA2050@dhcp-0-146.brq.redhat.com> |
Content-Type: | multipart/signed; boundary="2fHTh5uZTiUOsy+g"; micalg="pgp-sha256"; protocol="application/pgp-signature" |
X-Spam-Score: | -8.911 |
Received: | from localhost (localhost [127.0.0.1]) by hipster.bestpractical.com (Postfix) with ESMTP id 58DB124062E for <cpan-bug+File-Path@hipster.bestpractical.com>; Wed, 26 Mar 2014 10:51:22 -0400 (EDT) |
Received: | from hipster.bestpractical.com ([127.0.0.1]) by localhost (hipster.bestpractical.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zLBtQEqzEgTl for <cpan-bug+File-Path@hipster.bestpractical.com>; Wed, 26 Mar 2014 10:51:21 -0400 (EDT) |
Received: | from la.mx.develooper.com (x1.develooper.com [207.171.7.70]) by hipster.bestpractical.com (Postfix) with SMTP id BC1D124062C for <bug-File-Path@rt.cpan.org>; Wed, 26 Mar 2014 10:51:20 -0400 (EDT) |
Received: | (qmail 30313 invoked by alias); 26 Mar 2014 14:51:19 -0000 |
Received: | from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by la.mx.develooper.com (qpsmtpd/0.28) with ESMTP; Wed, 26 Mar 2014 07:51:16 -0700 |
Received: | from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s2QEpCsU026627 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <bug-File-Path@rt.cpan.org>; Wed, 26 Mar 2014 10:51:12 -0400 |
Received: | from dhcp-0-146.brq.redhat.com (unused-4-140.brq.redhat.com [10.34.4.140]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s2QEpA0h016178 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <bug-File-Path@rt.cpan.org>; Wed, 26 Mar 2014 10:51:11 -0400 |
Received: | from dhcp-0-146.brq.redhat.com (localhost.localdomain [127.0.0.1]) by dhcp-0-146.brq.redhat.com (8.14.8/8.14.5) with ESMTP id s2QEp9H7017124 for <bug-File-Path@rt.cpan.org>; Wed, 26 Mar 2014 15:51:09 +0100 |
Received: | (from petr@localhost) by dhcp-0-146.brq.redhat.com (8.14.8/8.14.8/Submit) id s2QEp9g6017123 for bug-File-Path@rt.cpan.org; Wed, 26 Mar 2014 15:51:09 +0100 |
Delivered-To: | cpan-bug+File-Path@hipster.bestpractical.com |
Subject: | Re: [rt.cpan.org #94209] AutoReply: remove_tree() is not thread-safe due to chdir |
User-Agent: | Mutt/1.5.21 (2010-09-15) |
Return-Path: | <ppisar@redhat.com> |
X-Spam-Check-BY: | la.mx.develooper.com |
X-Original-To: | cpan-bug+File-Path@hipster.bestpractical.com |
X-RT-Mail-Extension: | file-path |
Date: | Wed, 26 Mar 2014 15:51:08 +0100 |
X-Spam-Level: | |
To: | Bugs in File-Path via RT <bug-File-Path@rt.cpan.org> |
From: | Petr Pisar <ppisar@redhat.com> |
RT-Message-ID: | <rt-4.0.18-31538-1395845483-279.94209-0-0@rt.cpan.org> |
Content-Length: | 0 |
content-type: | text/plain; charset="utf-8" |
Content-Disposition: | inline |
X-RT-Original-Encoding: | utf-8 |
Content-Length: | 135 |
This issue has already been reported into perl RT without any reply.
(https://rt.perl.org/Public/Bug/Display.html?id=112008).
-- Petr
Content-Type: | application/pgp-signature |
Content-Length: | 230 |
Message body not shown because it is not plain text.
X-Scanned-BY: | MIMEDefang 2.68 on 10.5.11.23 |
MIME-Version: | 1.0 |
X-Spam-Status: | No, score=-8.911 tagged_above=-99.9 required=10 tests=[BAYES_00=-1.9, FROM_OUR_RT=-2, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham |
X-Authentication-Warning: | dhcp-0-146.brq.redhat.com: petr set sender to ppisar@redhat.com using -f |
In-Reply-To: | <rt-4.0.18-29853-1395841280-1591.94209-3-0@rt.cpan.org> |
Content-Disposition: | inline |
X-Spam-Flag: | NO |
X-RT-Interface: | API |
References: | <RT-Ticket-94209@rt.cpan.org> <rt-4.0.18-29853-1395841280-1591.94209-3-0@rt.cpan.org> |
X-Virus-Scanned: | Debian amavisd-new at bestpractical.com |
Message-ID: | <20140327064652.GA1858@dhcp-0-146.brq.redhat.com> |
Content-Type: | multipart/signed; boundary="YiEDa0DAkWCtVeE4"; micalg="pgp-sha256"; protocol="application/pgp-signature" |
X-Spam-Score: | -8.911 |
Received: | from localhost (localhost [127.0.0.1]) by hipster.bestpractical.com (Postfix) with ESMTP id A26A224059F for <cpan-bug+File-Path@hipster.bestpractical.com>; Thu, 27 Mar 2014 02:47:06 -0400 (EDT) |
Received: | from hipster.bestpractical.com ([127.0.0.1]) by localhost (hipster.bestpractical.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CAN8pNyPX2ea for <cpan-bug+File-Path@hipster.bestpractical.com>; Thu, 27 Mar 2014 02:47:05 -0400 (EDT) |
Received: | from la.mx.develooper.com (x1.develooper.com [207.171.7.70]) by hipster.bestpractical.com (Postfix) with SMTP id 2B7E424024A for <bug-File-Path@rt.cpan.org>; Thu, 27 Mar 2014 02:47:04 -0400 (EDT) |
Received: | (qmail 29297 invoked by alias); 27 Mar 2014 06:47:03 -0000 |
Received: | from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by la.mx.develooper.com (qpsmtpd/0.28) with ESMTP; Wed, 26 Mar 2014 23:47:01 -0700 |
Received: | from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s2R6kvVH024225 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <bug-File-Path@rt.cpan.org>; Thu, 27 Mar 2014 02:46:58 -0400 |
Received: | from dhcp-0-146.brq.redhat.com (unused-4-140.brq.redhat.com [10.34.4.140]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s2R6ktxJ007815 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <bug-File-Path@rt.cpan.org>; Thu, 27 Mar 2014 02:46:57 -0400 |
Received: | from dhcp-0-146.brq.redhat.com (localhost.localdomain [127.0.0.1]) by dhcp-0-146.brq.redhat.com (8.14.8/8.14.5) with ESMTP id s2R6ksvv000662 for <bug-File-Path@rt.cpan.org>; Thu, 27 Mar 2014 07:46:54 +0100 |
Received: | (from petr@localhost) by dhcp-0-146.brq.redhat.com (8.14.8/8.14.8/Submit) id s2R6ksUg000661 for bug-File-Path@rt.cpan.org; Thu, 27 Mar 2014 07:46:54 +0100 |
Delivered-To: | cpan-bug+File-Path@hipster.bestpractical.com |
Subject: | Re: [rt.cpan.org #94209] AutoReply: remove_tree() is not thread-safe due to chdir |
User-Agent: | Mutt/1.5.21 (2010-09-15) |
Return-Path: | <ppisar@redhat.com> |
X-Spam-Check-BY: | la.mx.develooper.com |
X-Original-To: | cpan-bug+File-Path@hipster.bestpractical.com |
X-RT-Mail-Extension: | file-path |
Date: | Thu, 27 Mar 2014 07:46:53 +0100 |
X-Spam-Level: | |
To: | Bugs in File-Path via RT <bug-File-Path@rt.cpan.org> |
From: | Petr Pisar <ppisar@redhat.com> |
RT-Message-ID: | <rt-4.0.18-7037-1395902827-1830.94209-0-0@rt.cpan.org> |
Content-Length: | 0 |
Sat Jul 11 09:39:00 2015
jkeenan [...] cpan.org - Reference by #99230: Please document that File::Path::rmtree may not be used with threads added
MIME-Version: | 1.0 |
In-Reply-To: | <rt-4.0.18-29853-1395841279-96.0-0-0@rt.cpan.org> |
X-Mailer: | MIME-tools 5.504 (Entity 5.504) |
Content-Disposition: | inline |
X-RT-Interface: | Web |
References: | <rt-4.0.18-29853-1395841279-96.0-0-0@rt.cpan.org> |
Content-Type: | text/plain; charset="utf-8" |
Message-ID: | <rt-4.0.18-16964-1436622692-419.94209-0-0@rt.cpan.org> |
Content-Transfer-Encoding: | binary |
X-RT-Original-Encoding: | utf-8 |
X-RT-Encrypt: | 0 |
X-RT-Sign: | 0 |
Content-Length: | 2246 |
On Wed Mar 26 09:41:20 2014, ppisar wrote:
Show quoted text
> I have a multi-threaded program which calls make_path() and
> remove_tree(). I observed some occasional failure from subprocesses
> about missing working directory. Now I got a croak from remove_tree()
> that removing directory is not empty.
>
> It happened that one thread started remove_tree() which made chdir(),
> then the other thread called and finished make_path(), and finally,
> the former thread continued in remove_tree() which failed because
> concurrent make_path() created relative directory tree into working
> directory changed by remove_tree().
>
> All this is tread-unsafety is due to using chdir(). Working directory
> is a process attribute shared between threads.
>
> It would be nice to reimplement File::Path without changing working
> directory. Or at least document this deficiency.
Richard Elberger and I have become co-maintainers of File-Path on CPAN, so the library is now under active maintenance. This problem is definitely on our radar.
Having given some study to this issues (which is also the subject of https://rt.cpan.org/Ticket/Display.html?id=99230), I think the *best* solution is to re-implement sub remove_tree() to remove its internal reliance on 'chdir'. But to do that, we -- and by that I mean not just the maintainers but all who have contributed to these RTs -- have to understand why 'chdir' was used as part of the implementation of remove_tree in the first place. As best I can tell, this was the commit to Perl 5 source code which first introduced this implementation:
#####
commit 0b3d36bd61fec90809936fcf1a90441d970d875e
Author: David Landgren <david@landgren.net>
Date: Sat Sep 8 12:46:15 2007 +0200
sync blead with File-Path 2.00_11
Message-ID: <46E26157.4050307@landgren.net>
p4raw-id: //depot/perl@31819
#####
David Landgren presumably had good reason to take this approach. So we have to understand what benefits that brought us in order to retain them as best as we can while we address the costs it also brought us.
Since all of the above, is non-trivial,
I recommend that in the short-run we adopt a *second best* solution of simply documenting the lack of thread safety.
Thank you very much.
Jim Keenan
MIME-Version: | 1.0 |
In-Reply-To: | <rt-4.0.18-31538-1395845483-279.94209-0-0@rt.cpan.org> |
X-Mailer: | MIME-tools 5.504 (Entity 5.504) |
X-RT-Interface: | Web |
References: | <RT-Ticket-94209@rt.cpan.org> <rt-4.0.18-29853-1395841280-1591.94209-3-0@rt.cpan.org> <20140326145107.GA2050@dhcp-0-146.brq.redhat.com> <rt-4.0.18-31538-1395845483-279.94209-0-0@rt.cpan.org> |
Content-Type: | multipart/mixed; boundary="----------=_1436622980-16964-3" |
Message-ID: | <rt-4.0.18-16964-1436622980-272.94209-0-0@rt.cpan.org> |
X-RT-Original-Encoding: | utf-8 |
X-RT-Encrypt: | 0 |
X-RT-Sign: | 0 |
Content-Length: | 0 |
Content-Disposition: | inline |
Content-Type: | text/plain; charset="utf-8" |
Content-Transfer-Encoding: | binary |
X-RT-Original-Encoding: | utf-8 |
Content-Length: | 218 |
On Wed Mar 26 10:51:23 2014, ppisar wrote:
Show quoted text
> This issue has already been reported into perl RT without any reply.
> (https://rt.perl.org/Public/Bug/Display.html?id=112008).
>
> -- Petr
Attaching text of that report.
MIME-Version: | 1.0 |
Subject: | rt_perl_org_112008.txt |
X-Mailer: | MIME-tools 5.504 (Entity 5.504) |
Content-Type: | text/plain; charset="utf-8"; name="rt_perl_org_112008.txt" |
Content-Disposition: | inline; filename="rt_perl_org_112008.txt" |
Content-Transfer-Encoding: | binary |
X-RT-Original-Encoding: | utf-8 |
Content-Length: | 5702 |
This is a bug report for perl from steve@rhythm.com,
generated with the help of perlbug 1.39 running under perl 5.14.2.
-----------------------------------------------------------------
[Please describe your issue here]
On Linux, threads are typically created with pthread_create which
eventually ends up being a clone() call with CLONE_FS set which
means all threads share one /proc/self/cwd. The code within
File::Path does a chdir(). If a another thread does a chdir()
files might be deleted that are not suppose to be deleted
because the rmtree will not be in the directory that it expects
to be in. I wrote a simple test case which shows the wrong files
being deleted:
Deleting /tmp/test/junk
Thread 1 terminated abnormally: previous directory .. changed before
entering /tmp/test/junk/1/2, expected dev=2051 inode=4105812, actual
dev=2051 ino=4105807, aborting. at ./rmtree.pl line 56 thread 1
CWD: /tmp/test/precious/1
found 971 files in /tmp/test/junk
found 29 files in /tmp/test/precious
I have replicated this problem on linux with perl v5.10.0
and v5.14.2. OS X perl v5.10.0 also exhibits this issue.
Here is the test program:
#!/usr/bin/perl
use File::Path qw( rmtree mkpath);
use File::Find;
use Cwd 'getcwd';
use threads;
mkpath("/tmp/test/precious/1/2",0755);
mkpath("/tmp/test/junk/1/2",0755);
for( $x = 0 ;$x < 1000 ; $x++){
open(F,">/tmp/test/junk/1/2/file$x");
open(F,">/tmp/test/precious/1/2/file$x");
}
chdir("/tmp");
threads->new(\&sub1);
threads->new(\&sub2);
$_->join() for threads->list();
print "CWD: " . getcwd() . "\n";
sub wanted {
if( -f $_){
$count++;
}
}
foreach my $dir ( qw(/tmp/test/junk /tmp/test/precious)){
$count = 0 ;
find(\&wanted, $dir);
print "found $count files in $dir\n";
}
sub sub2(){
while($z < 1000 ){
chdir("/tmp/test/precious/1/2");
$z++;
}
}
sub sub1(){
_delDir("/tmp/test/junk");
print "THREAD CWD 2: " . getcwd() . "\n";
$isdone = 1;
}
sub _delDir {
my ( $dir ) = @_;
my $rmTreeErrors;
if ( $dir and ( -d $dir ) ) {
print ( "Deleting $dir\n" );
rmtree( $dir, { verbose => 0, error => \$rmTreeErrors } );
foreach my $rmTreeErr ( @{ $rmTreeErrors } ) {
my ( $file, $message ) = each %{ $rmTreeErr };
if ( $file eq '' ) {
print ( "Problem with rmtree($dir): $message\n" );
}
else {
print ( "Error in rmtree($dir): Problem deleting $file -- $message\n" );
}
}
}
return $rmTreeErrors;
}
[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
category=library
severity=medium
module=File::Path
---
Site configuration information for perl 5.14.2:
Configured by steve at Mon Mar 26 13:11:01 PDT 2012.
Summary of my perl5 (revision 5 version 14 subversion 2) configuration:
Platform:
osname=linux, osvers=2.6.27.23-10rh, archname=linux-linux-thread
uname='linux lid9 2.6.27.23-10rh #4 smp wed dec 28 16:40:10 pst 2011 x86_64 x86_64 x86_64 gnulinux '
config_args='-ds -e'
hint=previous, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=undef
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccversion='', gccversion='4.3.2 [gcc-4_3-branch revision 141291]', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -fstack-protector -lpthread'
libpth=/usr/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.9.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.9'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -fstack-protector -lpthread'
Locally applied patches:
---
@INC for perl 5.14.2:
/usr/lsd/lib/perl
/usr/local/prod/perl
/usr/local/rnh/perl
/opt/perl-5.14.2/lib/site_perl/5.14.2/linux-linux
/opt/perl-5.14.2/lib/site_perl/5.14.2
/opt/perl-5.14.2/lib/5.14.2/linux-linux
/opt/perl-5.14.2/lib/5.14.2
.
---
Environment for perl 5.14.2:
HOME=/home/steve
LANG=C
LANGUAGE (unset)
LD_LIBRARY_PATH=/opt/randh/mesa-7.4.3/lib64:/opt/randh/mesa-7.4.3/lib:/usr/lib64/mpi/gcc/openmpi/lib64
LOGDIR (unset)
PATH=/opt/perl-5.14.2/bin:/home/steve/bin.Linux_i686:/usr/apps/ffmpeg/ffmpeg-git20111012/bin:/muse/bin:/usr/apps/bin:/usr/local/prod/bin:/usr/local/rnh/bin:/usr/site/bin:/usr/local/bin:/opt/kde3/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/lsd/bin:/opt/gnome/bin:/usr/games:.
PERL5LIB=/usr/lsd/lib/perl:/usr/local/prod/perl:/usr/local/rnh/perl
PERL_BADLANG (unset)
SHELL=/bin/tcsh
MIME-Version: | 1.0 |
In-Reply-To: | <rt-4.0.18-16964-1436622980-272.94209-0-0@rt.cpan.org> |
X-Mailer: | MIME-tools 5.504 (Entity 5.504) |
Content-Disposition: | inline |
X-RT-Interface: | Web |
References: | <RT-Ticket-94209@rt.cpan.org> <rt-4.0.18-29853-1395841280-1591.94209-3-0@rt.cpan.org> <20140326145107.GA2050@dhcp-0-146.brq.redhat.com> <rt-4.0.18-31538-1395845483-279.94209-0-0@rt.cpan.org> <rt-4.0.18-16964-1436622980-272.94209-0-0@rt.cpan.org> |
Content-Type: | text/plain; charset="utf-8" |
Message-ID: | <rt-4.0.18-29610-1444564665-312.94209-0-0@rt.cpan.org> |
Content-Transfer-Encoding: | binary |
X-RT-Original-Encoding: | utf-8 |
X-RT-Encrypt: | 0 |
X-RT-Sign: | 0 |
Content-Length: | 611 |
On Sat Jul 11 09:56:20 2015, JKEENAN wrote:
Show quoted text
> On Wed Mar 26 10:51:23 2014, ppisar wrote:
For quite some time this limitation has been documented under:
BUGS AND LIMITATIONS > MULTITHREAD APPLICATIONS
I think we need to change the following text:
The implementation that surfaces this limitation may change in a future
release.
to:
The implementation that surfaces this limitation will not be changed.
> > This issue has already been reported into perl RT without any reply.
> > (https://rt.perl.org/Public/Bug/Display.html?id=112008).
> >
> > -- Petr
>
> Attaching text of that report.
MIME-Version: | 1.0 |
In-Reply-To: | <rt-4.0.18-29610-1444564665-312.94209-0-0@rt.cpan.org> |
X-Mailer: | MIME-tools 5.504 (Entity 5.504) |
Content-Disposition: | inline |
X-RT-Interface: | Web |
References: | <RT-Ticket-94209@rt.cpan.org> <rt-4.0.18-29853-1395841280-1591.94209-3-0@rt.cpan.org> <20140326145107.GA2050@dhcp-0-146.brq.redhat.com> <rt-4.0.18-31538-1395845483-279.94209-0-0@rt.cpan.org> <rt-4.0.18-16964-1436622980-272.94209-0-0@rt.cpan.org> <rt-4.0.18-29610-1444564665-312.94209-0-0@rt.cpan.org> |
Content-Type: | text/plain; charset="utf-8" |
Message-ID: | <rt-4.0.18-29610-1444565163-1543.94209-0-0@rt.cpan.org> |
Content-Transfer-Encoding: | binary |
X-RT-Original-Encoding: | utf-8 |
X-RT-Encrypt: | 0 |
X-RT-Sign: | 0 |
Content-Length: | 193 |
X-Scanned-BY: | MIMEDefang 2.68 on 10.5.11.22 |
MIME-Version: | 1.0 |
X-Spam-Status: | No, score=-10.729 tagged_above=-99.9 required=10 tests=[AWL=0.182, BAYES_00=-1.9, FROM_OUR_RT=-4, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham |
X-Authentication-Warning: | dhcp-0-146.brq.redhat.com: petr set sender to ppisar@redhat.com using -f |
In-Reply-To: | <rt-4.0.18-29610-1444564665-320.94209-6-0@rt.cpan.org> |
Content-Disposition: | inline |
X-Spam-Flag: | NO |
X-RT-Interface: | API |
References: | <RT-Ticket-94209@rt.cpan.org> <rt-4.0.18-29853-1395841280-1591.94209-3-0@rt.cpan.org> <20140326145107.GA2050@dhcp-0-146.brq.redhat.com> <rt-4.0.18-31538-1395845483-279.94209-6-0@rt.cpan.org> <rt-4.0.18-16964-1436622980-272.94209-6-0@rt.cpan.org> <rt-4.0.18-29610-1444564665-320.94209-6-0@rt.cpan.org> |
X-Virus-Scanned: | Debian amavisd-new at bestpractical.com |
Message-ID: | <20151012081532.GB2102@dhcp-0-146.brq.redhat.com> |
Content-Type: | multipart/signed; boundary="4SFOXa2GPu3tIq4H"; micalg="pgp-sha256"; protocol="application/pgp-signature" |
X-Spam-Score: | -10.729 |
Received: | from localhost (localhost [127.0.0.1]) by hipster.bestpractical.com (Postfix) with ESMTP id C23A024009B for <cpan-bug+File-Path@hipster.bestpractical.com>; Mon, 12 Oct 2015 04:15:51 -0400 (EDT) |
Received: | from hipster.bestpractical.com ([127.0.0.1]) by localhost (hipster.bestpractical.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id P6ihPqiu+scC for <cpan-bug+File-Path@hipster.bestpractical.com>; Mon, 12 Oct 2015 04:15:48 -0400 (EDT) |
Received: | from la.mx.develooper.com (x1.develooper.com [207.171.7.70]) by hipster.bestpractical.com (Postfix) with SMTP id E5A67240093 for <bug-File-Path@rt.cpan.org>; Mon, 12 Oct 2015 04:15:47 -0400 (EDT) |
Received: | (qmail 5106 invoked by alias); 12 Oct 2015 08:15:47 -0000 |
Received: | from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by la.mx.develooper.com (qpsmtpd/0.28) with ESMTP; Mon, 12 Oct 2015 01:15:40 -0700 |
Received: | from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id F065B8EA43 for <bug-File-Path@rt.cpan.org>; Mon, 12 Oct 2015 08:15:36 +0000 (UTC) |
Received: | from dhcp-0-146.brq.redhat.com (unused-4-180.brq.redhat.com [10.34.4.180]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t9C8FZTd007449 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for <bug-File-Path@rt.cpan.org>; Mon, 12 Oct 2015 04:15:36 -0400 |
Received: | from dhcp-0-146.brq.redhat.com (localhost.localdomain [127.0.0.1]) by dhcp-0-146.brq.redhat.com (8.15.2/8.14.5) with ESMTP id t9C8FYLH030384 for <bug-File-Path@rt.cpan.org>; Mon, 12 Oct 2015 10:15:34 +0200 |
Received: | (from petr@localhost) by dhcp-0-146.brq.redhat.com (8.15.2/8.15.2/Submit) id t9C8FXao030383 for bug-File-Path@rt.cpan.org; Mon, 12 Oct 2015 10:15:33 +0200 |
Delivered-To: | cpan-bug+File-Path@hipster.bestpractical.com |
Subject: | Re: [rt.cpan.org #94209] remove_tree() is not thread-safe due to chdir |
User-Agent: | Mutt/1.5.24 (2015-08-30) |
Return-Path: | <ppisar@redhat.com> |
X-Spam-Check-BY: | la.mx.develooper.com |
X-Original-To: | cpan-bug+File-Path@hipster.bestpractical.com |
X-RT-Mail-Extension: | file-path |
Date: | Mon, 12 Oct 2015 10:15:33 +0200 |
X-Spam-Level: | |
To: | Richard Elberger via RT <bug-File-Path@rt.cpan.org> |
From: | Petr Pisar <ppisar@redhat.com> |
RT-Message-ID: | <rt-4.0.18-10123-1444637752-250.94209-0-0@rt.cpan.org> |
Content-Length: | 0 |
content-type: | text/plain; charset="utf-8" |
Content-Disposition: | inline |
Content-Transfer-Encoding: | quoted-printable |
X-RT-Original-Encoding: | utf-8 |
Content-Length: | 255 |
On Sun, Oct 11, 2015 at 07:57:51AM -0400, Richard Elberger via RT wrote:
Show quoted text
> For quite some time this limitation has been documented under:
>
> BUGS AND LIMITATIONS > MULTITHREAD APPLICATIONS
>
Thanks. The text is there since File-Path-2.10_005.
-- Petr
Content-Type: | application/pgp-signature; name="signature.asc" |
Content-Length: | 213 |
Message body not shown because it is not plain text.
This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.
Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.
Time to display: 0.762958 - RT Version 5.0.1
Copyright 1996-2021 »|« Best Practical Solutions, LLC.