[Bug 2129818] Re: 0.3.0 regression: ls: cannot access '/proc/self/fd/3': No such file or directory

Julian Andres Klode 2129818 at bugs.launchpad.net
Sat Oct 25 19:55:19 UTC 2025


This is weird, listxattr reads 1, 2,3 in the current dir ...


openat(AT_FDCWD, "/proc/self/fd", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
[...]
statx(3, "0", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW, STATX_ALL, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFLNK|0700, stx_size=64, ...}) = 0
statx(3, "1", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW, STATX_ALL, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFLNK|0700, stx_size=64, ...}) = 0
statx(3, "2", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW, STATX_ALL, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFLNK|0700, stx_size=64, ...}) = 0
statx(3, "3", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW, STATX_ALL, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFLNK|0500, stx_size=64, ...}) = 0
[...]
readlink("/proc/self/fd/0", "/dev/pts/8", 256) = 10
listxattr("1", 0x7ffdfe0850b0, 4096)    = -1 ENOENT (No such file or directory)
readlink("/proc/self/fd/1", "/dev/pts/8", 256) = 10
listxattr("2", 0x7ffdfe0850b0, 4096)    = -1 ENOENT (No such file or directory)
readlink("/proc/self/fd/2", "/dev/pts/8", 256) = 10
listxattr("3", 0x7ffdfe0850b0, 4096)    = -1 ENOENT (No such file or directory)
readlink("/proc/self/fd/3", 0x62b8bdbe65c0, 256) = -1 ENOENT (No such file or directory)

(listxattr succeed if I touch those files)

Yes /proc/self/fd/3 exists, but readlink() return ENOENT, ls wrongly
reports this as an error.

** Changed in: rust-coreutils (Ubuntu)
   Importance: Undecided => High

** Changed in: rust-coreutils (Ubuntu)
       Status: New => Triaged

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to rust-coreutils in Ubuntu.
https://bugs.launchpad.net/bugs/2129818

Title:
  0.3.0 regression: ls: cannot access '/proc/self/fd/3': No such file or
  directory

Status in rust-coreutils package in Ubuntu:
  Triaged

Bug description:
  APT's test/integration/test-no-fds-leaked-to-maintainer-scripts fails
  with rust-coreutils 0.3.0

  This installs a test package that does ls -l /proc/self/fd in the
  maintainer scripts. The script is:

  #!/bin/sh
  set -x
  if [ -e '$(pwd)/rootdir/tmp/read_stdin' ]; then
  ▸   read line;
  ▸   echo "STDIN: -\$line-"
  fi
  ls -l /proc/self/fd/
  exit \$?

  the tail is:

  + ls -l /proc/self/fd/
  ls: cannot access '/proc/self/fd/3': No such file or directory
  total 0
  lr-x------ 1 root root 64 Oct 25 21:48 0 -> /dev/null
  lrwx------ 1 root root 64 Oct 25 21:48 1 -> /dev/pts/4
  lrwx------ 1 root root 64 Oct 25 21:48 2 -> /dev/pts/4
  lr-x------ 1 root root 64 Oct 25 21:48 3
  + exit 1

  This is likely related to the safe traversal feature.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bug/2129818/+subscriptions




More information about the foundations-bugs mailing list