public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libc/25909] New: tst-support_descriptors fails when /dev and /dev/null are on different filesystems.
@ 2020-05-02 20:02 slyfox at inbox dot ru
  2020-05-02 20:06 ` [Bug libc/25909] " slyfox at inbox dot ru
  0 siblings, 1 reply; 2+ messages in thread
From: slyfox at inbox dot ru @ 2020-05-02 20:02 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=25909

            Bug ID: 25909
           Summary: tst-support_descriptors fails when /dev and /dev/null
                    are on different filesystems.
           Product: glibc
           Version: 2.30
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: libc
          Assignee: unassigned at sourceware dot org
          Reporter: slyfox at inbox dot ru
                CC: drepper.fsp at gmail dot com, fweimer at redhat dot com
  Target Milestone: ---

Raw test failure:

# env
GCONV_PATH=/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/iconvdata
LOCPATH=/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/localedata
LC_ALL=C  
/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/elf/ld-linux-aarch64.so.1
--library-path
/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl:/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/math:/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/elf:/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/dlfcn:/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/nss:/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/nis:/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/rt:/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/resolv:/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/mathvec:/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/support:/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/crypt:/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/nptl::/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl//dlfcn
/var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-arm64-aarch64-unknown-linux-gnu-nptl/support/tst-support_descriptors

info: initial descriptor set
info:  0: target="/dev/pts/4" major=0 minor=17 ino=7
info:  1: target="/dev/pts/4" major=0 minor=17 ino=7
info:  2: target="/dev/pts/4" major=0 minor=17 ino=7
info: descriptor set with additional free descriptor
info:  0: target="/dev/pts/4" major=0 minor=17 ino=7
info:  1: target="/dev/pts/4" major=0 minor=17 ino=7
info:  2: target="/dev/pts/4" major=0 minor=17 ino=7
info:  3: target="/dev/null" major=0 minor=6 ino=1030
info: BEGIN subprocess_closed_descriptor output
error: Differences found in descriptor set
Reference descriptor set:
  0: target="/dev/pts/4" major=0 minor=17 ino=7
  1: target="pipe:[535141268]" major=0 minor=10 ino=535141268
  2: target="pipe:[535141269]" major=0 minor=10 ino=535141269
  3: target="/dev/null" major=0 minor=6 ino=1030
Current descriptor set:
  0: target="/dev/pts/4" major=0 minor=17 ino=7
  1: target="pipe:[535141268]" major=0 minor=10 ino=535141268
  2: target="pipe:[535141269]" major=0 minor=10 ino=535141269
Differences:
error: descriptor 3 was closed
EOT
info: END subprocess_closed_descriptor output
info: BEGIN subprocess_opened_descriptor output
error: Differences found in descriptor set
Reference descriptor set:
  0: target="/dev/pts/4" major=0 minor=17 ino=7
  1: target="pipe:[535141270]" major=0 minor=10 ino=535141270
  2: target="pipe:[535141271]" major=0 minor=10 ino=535141271
Current descriptor set:
  0: target="/dev/pts/4" major=0 minor=17 ino=7
  1: target="pipe:[535141270]" major=0 minor=10 ino=535141270
  2: target="pipe:[535141271]" major=0 minor=10 ino=535141271
  3: target="/dev/null" major=0 minor=6 ino=1030
Differences:
error: descriptor 3 was opened ("/dev/null")
EOT
info: END subprocess_opened_descriptor output
info: BEGIN subprocess_changed_descriptor output
error: Differences found in descriptor set
Reference descriptor set:
  0: target="/dev/pts/4" major=0 minor=17 ino=7
  1: target="pipe:[535141272]" major=0 minor=10 ino=535141272
  2: target="pipe:[535141273]" major=0 minor=10 ino=535141273
  3: target="/dev/null" major=0 minor=6 ino=1030
Current descriptor set:
  0: target="/dev/pts/4" major=0 minor=17 ino=7
  1: target="pipe:[535141272]" major=0 minor=10 ino=535141272
  2: target="pipe:[535141273]" major=0 minor=10 ino=535141273
  3: target="/dev" major=8 minor=3 ino=8634469
Differences:
error: descriptor 3 changed from "/dev/null" to "/dev"
error: descriptor 3 changed device from 0:6 to 8:3
error: descriptor 3 changed ino from 1030 to 8634469
EOT
info: END subprocess_changed_descriptor output
error: tst-support_descriptors.c:141: not true: strstr (proc.out.buffer,
expected) != NULL
info: descriptor set with sentinel descriptor
info:  0: target="/dev/pts/4" major=0 minor=17 ino=7
info:  1: target="/dev/pts/4" major=0 minor=17 ino=7
info:  2: target="/dev/pts/4" major=0 minor=17 ino=7
info:  4: target="/dev/full" major=0 minor=6 ino=1033
info: BEGIN subprocess_closed_descriptor output
error: Differences found in descriptor set
Reference descriptor set:
  0: target="/dev/pts/4" major=0 minor=17 ino=7
  1: target="pipe:[535141276]" major=0 minor=10 ino=535141276
  2: target="pipe:[535141277]" major=0 minor=10 ino=535141277
  3: target="/dev/null" major=0 minor=6 ino=1030
  4: target="/dev/full" major=0 minor=6 ino=1033
Current descriptor set:
  0: target="/dev/pts/4" major=0 minor=17 ino=7
  1: target="pipe:[535141276]" major=0 minor=10 ino=535141276
  2: target="pipe:[535141277]" major=0 minor=10 ino=535141277
  4: target="/dev/full" major=0 minor=6 ino=1033
Differences:
error: descriptor 3 was closed
EOT
info: END subprocess_closed_descriptor output
info: BEGIN subprocess_opened_descriptor output
error: Differences found in descriptor set
Reference descriptor set:
  0: target="/dev/pts/4" major=0 minor=17 ino=7
  1: target="pipe:[535141278]" major=0 minor=10 ino=535141278
  2: target="pipe:[535141279]" major=0 minor=10 ino=535141279
  4: target="/dev/full" major=0 minor=6 ino=1033
Current descriptor set:
  0: target="/dev/pts/4" major=0 minor=17 ino=7
  1: target="pipe:[535141278]" major=0 minor=10 ino=535141278
  2: target="pipe:[535141279]" major=0 minor=10 ino=535141279
  3: target="/dev/null" major=0 minor=6 ino=1030
  4: target="/dev/full" major=0 minor=6 ino=1033
Differences:
error: descriptor 3 was opened ("/dev/null")
EOT
info: END subprocess_opened_descriptor output
info: BEGIN subprocess_changed_descriptor output
error: Differences found in descriptor set
Reference descriptor set:
  0: target="/dev/pts/4" major=0 minor=17 ino=7
  1: target="pipe:[535141280]" major=0 minor=10 ino=535141280
  2: target="pipe:[535141281]" major=0 minor=10 ino=535141281
  3: target="/dev/null" major=0 minor=6 ino=1030
  4: target="/dev/full" major=0 minor=6 ino=1033
Current descriptor set:
  0: target="/dev/pts/4" major=0 minor=17 ino=7
  1: target="pipe:[535141280]" major=0 minor=10 ino=535141280
  2: target="pipe:[535141281]" major=0 minor=10 ino=535141281
  3: target="/dev" major=8 minor=3 ino=8634469
  4: target="/dev/full" major=0 minor=6 ino=1033
Differences:
error: descriptor 3 changed from "/dev/null" to "/dev"
error: descriptor 3 changed device from 0:6 to 8:3
error: descriptor 3 changed ino from 1030 to 8634469
EOT
info: END subprocess_changed_descriptor output
error: tst-support_descriptors.c:141: not true: strstr (proc.out.buffer,
expected) != NULL
error: 12 test failures

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug libc/25909] tst-support_descriptors fails when /dev and /dev/null are on different filesystems.
  2020-05-02 20:02 [Bug libc/25909] New: tst-support_descriptors fails when /dev and /dev/null are on different filesystems slyfox at inbox dot ru
@ 2020-05-02 20:06 ` slyfox at inbox dot ru
  0 siblings, 0 replies; 2+ messages in thread
From: slyfox at inbox dot ru @ 2020-05-02 20:06 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=25909

--- Comment #1 from Sergei Trofimovich <slyfox at inbox dot ru> ---
AFAIU the main mismatch here is the following missing assert:

  expected = xasprintf (
    "\nDifferences:\n"
    "error: descriptor %d changed from \"/dev/null\" to \"/dev\"\n"
    "error: descriptor %d changed ino ",
    free_descriptor, free_descriptor);

while actual output is:

    error: descriptor 3 changed from "/dev/null" to "/dev"
    error: descriptor 3 changed device from 0:6 to 8:3
    error: descriptor 3 changed ino from 1030 to 8634469

Note: the extra 'error: descriptor 3 changed device from 0:6 to 8:3'.

It happens because my test environment populated /dev/ entries from another
filesystem as:

    # mkdir chroot/dev/
    # mount --bind /dev/null chroot/dev/

# stat /dev
  File: /dev
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 803h/2051d      Inode: 8634469     Links: 5
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-05-02 10:07:21.166534333 +0000
Modify: 2020-05-02 10:07:14.646384106 +0000
Change: 2020-05-02 10:07:14.646384106 +0000
 Birth: -
# stat /dev/null
  File: /dev/null
  Size: 0               Blocks: 0          IO Block: 4096   character special
file
Device: 6h/6d   Inode: 1030        Links: 1     Device type: 1,3
Access: (0666/crw-rw-rw-)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-05-02 09:35:10.340194554 +0000
Modify: 2020-05-02 09:35:10.340194554 +0000
Change: 2020-05-02 09:35:10.340194554 +0000
 Birth: -

Note the device difference.

Would it be reasonable to tweak the test to search for:
- "error: descriptor %d changed from \"/dev/null\" to \"/dev\"\n"
- "error: descriptor %d changed ino "
strings independently to allow for optional device wibble?

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-05-02 20:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-02 20:02 [Bug libc/25909] New: tst-support_descriptors fails when /dev and /dev/null are on different filesystems slyfox at inbox dot ru
2020-05-02 20:06 ` [Bug libc/25909] " slyfox at inbox dot ru

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).