r313494 make perl File::Temp broken

Iblis Lin iblis at hs.ntnu.edu.tw
Fri Feb 10 13:50:58 UTC 2017


On Fri, Feb 10, 2017 at 02:37:05PM +0100, Mark Martinec wrote:
> 2017-02-10 14:09, Iblis Lin wrote:
> > as not a perl programmer myself. I have no idea what is going on.
> > I found this issue while compiling math/openblas.
> > 
> > [iblis at ns]% uname -a
> > FreeBSD ns 12.0-CURRENT FreeBSD 12.0-CURRENT #1 r313500: Fri Feb 10 
> > 16:39:21
> > CST 2017     root at ns:/usr/obj/usr/src/sys/GENERIC  amd64
> > 
> > [iblis at ns]% cat test.pl
> > use File::Temp qw(tempfile);
> > $tmpf = new File::Temp( UNLINK => 1 );
> > 
> > [iblis at ns]% perl test.pl
> > Error in tempfile() using template /tmp/XXXXXXXXXX: Could not create 
> > temp file
> > /tmp/dI5uhUsijR: Bad file descriptor at test.pl line 2.
> 
> [...]
> 
> > stat("/tmp/",{ mode=drwxrwxrwt 
> > ,inode=24317568,size=1024,blksize=32768}) = 0 (0x0)
> > stat("/tmp/",{ mode=drwxrwxrwt 
> > ,inode=24317568,size=1024,blksize=32768}) = 0 (0x0)
> > openat(AT_FDCWD,"/tmp/Nn0Epra5ff",O_RDWR|O_EXLOCK|O_NOFOLLOW|O_CREAT|O_EXCL,0600) 
> > ERR#9 'Bad file descriptor'
> 
> 
> Perhaps your /tmp is a logical link, and O_NOFOLLOW does not allow that.
> 
>    Mark

hmm... no, it's no a logical link.

I just reverted the file changed in r313494 (sys/kern/vfs_vnops.c), and
perl is happy again.

-- 
Iblis Lin
林峻頤


More information about the freebsd-current mailing list