Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Nov 2007 09:05:49 GMT
From:      KOIE Hidetaka <koie@suri.co.jp>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/118170: /bin/pwd fails under .zfs/snapshot
Message-ID:  <200711210905.lAL95nVM003593@www.freebsd.org>
Resent-Message-ID: <200711210910.lAL9A2ov077224@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         118170
>Category:       kern
>Synopsis:       /bin/pwd fails under .zfs/snapshot
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Nov 21 09:10:02 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     KOIE Hidetaka
>Release:        current
>Organization:
Surigiken
>Environment:
FreeBSD guriandgura 8.0-CURRENT FreeBSD 8.0-CURRENT #2: Fri Nov 16 14:33:17 JST 2007     koie@guria\
ndgura:/usr/obj/usr/src/sys/GURIANDGURA  amd64
>Description:
/bin/pwd reports "No such file or directory" on any directory under .zfs/snapshot.

    % echo $PWD
    /home/koie/.zfs/snapshot
    % ls
    20071109-first/ 20071118/       20071119/       20071120/       20071121/
    % /bin/pwd
    pwd: .: No such file or directory
    % stat .
    3942394176 2 dr-xr-xr-x 2 root wheel 0 2 "Nov 21 17:52:27 2007" "Nov 15 16:06:35 2007" "Nov 15 1\
6:06:35 2007" "Nov 15 16:06:35 2007" 4096 0 0 .
    %

The following is output of truss(1):
% cd .zfs/snapshot/
% truss /bin/pwd
__sysctl(0x7fffffffe520,0x2,0x7fffffffe53c,0x7fffffffe530,0x0,0x0) = 0 (0x0)
mmap(0x0,560,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 34365132800 (0x800525000)
munmap(0x800525000,560)                          = 0 (0x0)
__sysctl(0x7fffffffe590,0x2,0x80062dde8,0x7fffffffe588,0x0,0x0) = 0 (0x0)
mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34365132800 (0x800525000)
issetugid(0x800526015,0x800521669,0x800631730,0x800631700,0x49ac,0x7fffffffe588) = 0 (0x0)
open("/etc/libmap.conf",O_RDONLY,0666)           ERR#2 'No such file or directory'
open("/var/run/ld-elf.so.hints",O_RDONLY,057)    = 3 (0x3)
read(3,"Ehnt\^A\0\0\0\M^@\0\0\0m\0\0\0\0"...,128) = 128 (0x80)
lseek(3,0x80,SEEK_SET)                           = 128 (0x80)
read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,109) = 109 (0x6d)
close(3)                                         = 0 (0x0)
access("/lib/libc.so.7",0)                       = 0 (0x0)
open("/lib/libc.so.7",O_RDONLY,030556300)        = 3 (0x3)
fstat(3,{mode=-r--r--r-- ,inode=16548,size=1159360,blksize=4096}) = 0 (0x0)
read(3,"\^?ELF\^B\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
mmap(0x0,2224128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 34366234624 (0x800632000)
mprotect(0x80071d000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
mprotect(0x80071d000,4096,PROT_READ|PROT_EXEC)   = 0 (0x0)
mmap(0x80081d000,118784,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0xeb000) = 34368245760 (0x80081d000)
mmap(0x80083a000,94208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34368364544 (0x80083a000)
close(3)                                         = 0 (0x0)
sysarch(0x81,0x7fffffffe610,0x80052a088,0x0,0xffffffffffd02c90,0x7fffffffe368) = 0 (0x0)
mmap(0x0,288,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 34365165568 (0x80052d000)
munmap(0x80052d000,288)                          = 0 (0x0)
mmap(0x0,41776,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 34365165568 (0x80052d000)
munmap(0x80052d000,41776)                        = 0 (0x0)
__sysctl(0x7fffffffe5c0,0x2,0x80083b360,0x7fffffffe5b8,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
__sysctl(0x7fffffffe620,0x2,0x80083f3c8,0x7fffffffe638,0x0,0x0) = 0 (0x0)
__sysctl(0x7fffffffe180,0x2,0x80084dff8,0x7fffffffe178,0x0,0x0) = 0 (0x0)
__sysctl(0x7fffffffe1c0,0x2,0x7fffffffe1dc,0x7fffffffe1d0,0x0,0x0) = 0 (0x0)
readlink("/etc/malloc.conf",0x7fffffffe210,1024) ERR#2 'No such file or directory'
issetugid(0x8007151b5,0x7fffffffe210,0x0,0x2,0xffffff004a09a000,0x7fffffffe1f8) = 0 (0x0)
__sysctl(0x7fffffffe110,0x2,0x7fffffffe12c,0x7fffffffe120,0x0,0x0) = 0 (0x0)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34365165568 (0x80052d000)
mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34368458752 (0x800851000)
munmap(0x800851000,716800)                       = 0 (0x0)
munmap(0x800a00000,331776)                       = 0 (0x0)
__getcwd(0x800901400,1024)                       ERR#20 'Not a directory'
stat("/",{mode=drwxr-xr-x ,inode=2,size=512,blksize=4096}) = 0 (0x0)
lstat(".",{mode=dr-xr-xr-x ,inode=2,size=2,blksize=4096}) = 0 (0x0)
stat("..",{mode=dr-xr-xr-x ,inode=1,size=3,blksize=4096}) = 0 (0x0)
open("..",O_NONBLOCK,035277024500)               = 3 (0x3)
fstat(3,{mode=dr-xr-xr-x ,inode=1,size=3,blksize=4096}) = 0 (0x0)
fcntl(3,F_SETFD,FD_CLOEXEC)                      = 0 (0x0)
fstatfs(0x3,0x7fffffffe420,0x0,0x0,0x60,0x7fffffffe3d8) = 0 (0x0)
fstat(3,{mode=dr-xr-xr-x ,inode=1,size=3,blksize=4096}) = 0 (0x0)
koie@guriandgura% truss /bin/pwd
__sysctl(0x7fffffffe520,0x2,0x7fffffffe53c,0x7fffffffe530,0x0,0x0) = 0 (0x0)
mmap(0x0,560,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 34365132800 (0x800525000)
munmap(0x800525000,560)                          = 0 (0x0)
__sysctl(0x7fffffffe590,0x2,0x80062dde8,0x7fffffffe588,0x0,0x0) = 0 (0x0)
mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34365132800 (0x800525000)
issetugid(0x800526015,0x800521669,0x800631730,0x800631700,0x49ac,0x7fffffffe588) = 0 (0x0)
open("/etc/libmap.conf",O_RDONLY,0666)           ERR#2 'No such file or directory'
open("/var/run/ld-elf.so.hints",O_RDONLY,057)    = 3 (0x3)
read(3,"Ehnt\^A\0\0\0\M^@\0\0\0m\0\0\0\0"...,128) = 128 (0x80)
lseek(3,0x80,SEEK_SET)                           = 128 (0x80)
read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,109) = 109 (0x6d)
close(3)                                         = 0 (0x0)
access("/lib/libc.so.7",0)                       = 0 (0x0)
open("/lib/libc.so.7",O_RDONLY,030556300)        = 3 (0x3)
fstat(3,{mode=-r--r--r-- ,inode=16548,size=1159360,blksize=4096}) = 0 (0x0)
read(3,"\^?ELF\^B\^A\^A\t\0\0\0\0\0\0\0"...,4096) = 4096 (0x1000)
mmap(0x0,2224128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_NOCORE,3,0x0) = 34366234624 (0x800632000)
mprotect(0x80071d000,4096,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
mprotect(0x80071d000,4096,PROT_READ|PROT_EXEC)   = 0 (0x0)
mmap(0x80081d000,118784,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0xeb000) = 34368245760 (0x80081d000)
mmap(0x80083a000,94208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34368364544 (0x80083a000)
close(3)                                         = 0 (0x0)
sysarch(0x81,0x7fffffffe610,0x80052a088,0x0,0xffffffffffd02c90,0x7fffffffe368) = 0 (0x0)
mmap(0x0,288,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 34365165568 (0x80052d000)
munmap(0x80052d000,288)                          = 0 (0x0)
mmap(0x0,41776,PROT_READ|PROT_WRITE,MAP_ANON,-1,0x0) = 34365165568 (0x80052d000)
munmap(0x80052d000,41776)                        = 0 (0x0)
__sysctl(0x7fffffffe5c0,0x2,0x80083b360,0x7fffffffe5b8,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
__sysctl(0x7fffffffe620,0x2,0x80083f3c8,0x7fffffffe638,0x0,0x0) = 0 (0x0)
__sysctl(0x7fffffffe180,0x2,0x80084dff8,0x7fffffffe178,0x0,0x0) = 0 (0x0)
__sysctl(0x7fffffffe1c0,0x2,0x7fffffffe1dc,0x7fffffffe1d0,0x0,0x0) = 0 (0x0)
readlink("/etc/malloc.conf",0x7fffffffe210,1024) ERR#2 'No such file or directory'
issetugid(0x8007151b5,0x7fffffffe210,0x0,0x2,0xffffff003bc7e000,0x7fffffffe1f8) = 0 (0x0)
__sysctl(0x7fffffffe110,0x2,0x7fffffffe12c,0x7fffffffe120,0x0,0x0) = 0 (0x0)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34365165568 (0x80052d000)
mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34368458752 (0x800851000)
munmap(0x800851000,716800)                       = 0 (0x0)
munmap(0x800a00000,331776)                       = 0 (0x0)
__getcwd(0x800901400,1024)                       ERR#20 'Not a directory'
stat("/",{mode=drwxr-xr-x ,inode=2,size=512,blksize=4096}) = 0 (0x0)
lstat(".",{mode=dr-xr-xr-x ,inode=2,size=2,blksize=4096}) = 0 (0x0)
stat("..",{mode=dr-xr-xr-x ,inode=1,size=3,blksize=4096}) = 0 (0x0)
open("..",O_NONBLOCK,035277024500)               = 3 (0x3)
fstat(3,{mode=dr-xr-xr-x ,inode=1,size=3,blksize=4096}) = 0 (0x0)
fcntl(3,F_SETFD,FD_CLOEXEC)                      = 0 (0x0)
fstatfs(0x3,0x7fffffffe420,0x0,0x0,0x60,0x7fffffffe3d8) = 0 (0x0)
fstat(3,{mode=dr-xr-xr-x ,inode=1,size=3,blksize=4096}) = 0 (0x0)
getdirentries(0x3,0x80090b000,0x1000,0x8009090a8,0xffffff003bc7e000,0x7fffffffe6b8) = 44 (0x2c)
lseek(3,0x0,SEEK_SET)                            = 0 (0x0)
close(3)                                         = 0 (0x0)
lstat("../",{mode=dr-xr-xr-x ,inode=1,size=3,blksize=4096}) = 0 (0x0)
stat("../..",{mode=drwxr-xr-x ,inode=3,size=89,blksize=4096}) = 0 (0x0)
open("../..",O_NONBLOCK,035277024500)            = 3 (0x3)
fstat(3,{mode=drwxr-xr-x ,inode=3,size=89,blksize=4096}) = 0 (0x0)
fcntl(3,F_SETFD,FD_CLOEXEC)                      = 0 (0x0)
fstatfs(0x3,0x7fffffffe420,0x0,0x0,0x60,0x7fffffffe3d8) = 0 (0x0)
fstat(3,{mode=drwxr-xr-x ,inode=3,size=89,blksize=4096}) = 0 (0x0)
getdirentries(0x3,0x80090b000,0x1000,0x8009090a8,0xffffff003bc7e000,0x7fffffffe6b8) = 1772 (0x6ec)
getdirentries(0x3,0x80090b000,0x1000,0x8009090a8,0xffffff003bc7e000,0x7fffffffe698) = 0 (0x0)
lseek(3,0x0,SEEK_SET)                            = 0 (0x0)
close(3)                                         = 0 (0x0)
pwd: write(2,"pwd: ",5)                          = 5 (0x5)
.write(2,".",1)                                  = 1 (0x1)
: write(2,": ",2)                                        = 2 (0x2)
No such file or directory
write(2,"No such file or directory\n",26)        = 26 (0x1a)
process exit, rval = 1
%
>How-To-Repeat:
cd .zfs/snapshot
/bin/pwd

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200711210905.lAL95nVM003593>