execve.vgtest execve.stdout.exp execve.stderr.exp \
faultstatus.vgtest faultstatus.stderr.exp \
fcntl_setown.vgtest fcntl_setown.stdout.exp fcntl_setown.stderr.exp \
- fdleak_cmsg.stderr.exp fdleak_cmsg.stderr.exp2 \
- fdleak_cmsg.stderr.exp3 fdleak_cmsg.stderr.exp4 \
- fdleak_cmsg.vgtest \
- fdleak_creat.stderr.exp fdleak_creat.stderr.exp2 \
- fdleak_creat.stderr.exp3 fdleak_creat.vgtest \
- fdleak_dup.stderr.exp fdleak_dup.stderr.exp2 \
- fdleak_dup.stderr.exp3 fdleak_dup.vgtest \
- fdleak_dup2.stderr.exp fdleak_dup2.stderr.exp2 \
- fdleak_dup2.stderr.exp3 fdleak_dup2.vgtest \
- fdleak_fcntl.stderr.exp fdleak_fcntl.stderr.exp2 \
- fdleak_fcntl.stderr.exp3 fdleak_fcntl.stderr.exp4 \
- fdleak_fcntl.vgtest \
- fdleak_ipv4.stderr.exp fdleak_ipv4.stderr.exp2 \
- fdleak_ipv4.stdout.exp fdleak_ipv4.vgtest \
- fdleak_open.stderr.exp fdleak_open.stderr.exp2 fdleak_open.vgtest \
- fdleak_pipe.stderr.exp fdleak_pipe.stderr.exp2 fdleak_pipe.vgtest \
- fdleak_socketpair.stderr.exp fdleak_socketpair.stderr.exp2 \
- fdleak_socketpair.vgtest \
- floored.stderr.exp floored.stdout.exp \
- floored.vgtest \
+ fdleak_cmsg.stderr.exp fdleak_cmsg.vgtest \
+ fdleak_creat.stderr.exp fdleak_creat.vgtest \
+ fdleak_dup.stderr.exp fdleak_dup.vgtest \
+ fdleak_dup2.stderr.exp fdleak_dup2.vgtest \
+ fdleak_fcntl.stderr.exp fdleak_fcntl.vgtest \
+ fdleak_ipv4.stderr.exp fdleak_ipv4.stdout.exp fdleak_ipv4.vgtest \
+ fdleak_open.stderr.exp fdleak_open.vgtest \
+ fdleak_pipe.stderr.exp fdleak_pipe.vgtest \
+ fdleak_socketpair.stderr.exp fdleak_socketpair.vgtest \
+ floored.stderr.exp floored.stdout.exp floored.vgtest \
fork.stderr.exp fork.stdout.exp fork.vgtest \
fucomip.stderr.exp fucomip.vgtest \
gxx304.stderr.exp gxx304.vgtest \
FILE DESCRIPTORS: 7 open at exit.
Open AF_UNIX socket .: /tmp/sock
- at 0x........: accept (in /...libc...)
- by 0x........: server (fdleak_cmsg.c:64)
- by 0x........: main (fdleak_cmsg.c:174)
+ ...
Open AF_UNIX socket .: /tmp/sock
- at 0x........: socket (in /...libc...)
- by 0x........: server (fdleak_cmsg.c:33)
- by 0x........: main (fdleak_cmsg.c:174)
+ ...
Open file descriptor .: /tmp/data2
- at 0x........: open (in /...libc...)
- by 0x........: main (fdleak_cmsg.c:174)
+ ...
Open file descriptor .: /tmp/data1
- at 0x........: open (in /...libc...)
- by 0x........: main (fdleak_cmsg.c:174)
+ ...
Open file descriptor .: .
<inherited from parent>
FILE DESCRIPTORS: 6 open at exit.
Open file descriptor .: /tmp/data2
- at 0x........: recvmsg (in /...libc...)
- by 0x........: client (fdleak_cmsg.c:131)
- by 0x........: main (fdleak_cmsg.c:178)
+ ...
Open file descriptor .: /tmp/data1
- at 0x........: recvmsg (in /...libc...)
- by 0x........: client (fdleak_cmsg.c:131)
- by 0x........: main (fdleak_cmsg.c:178)
+ ...
Open AF_UNIX socket .: <unknown>
- at 0x........: socket (in /...libc...)
- by 0x........: client (fdleak_cmsg.c:110)
- by 0x........: main (fdleak_cmsg.c:178)
+ ...
Open file descriptor .: .
<inherited from parent>
+++ /dev/null
-
-
-FILE DESCRIPTORS: 7 open at exit.
-Open AF_UNIX socket .: /tmp/sock
- at 0x........: accept (in /...libc...)
- by 0x........: server (fdleak_cmsg.c:64)
- by 0x........: main (fdleak_cmsg.c:174)
-
-Open AF_UNIX socket .: /tmp/sock
- at 0x........: socket (in /...libc...)
- by 0x........: server (fdleak_cmsg.c:33)
- by 0x........: main (fdleak_cmsg.c:174)
-
-Open file descriptor .: /tmp/data2
- at 0x........: open (in /...libc...)
- by 0x........: server (fdleak_cmsg.c:27)
- by 0x........: main (fdleak_cmsg.c:174)
-
-Open file descriptor .: /tmp/data1
- at 0x........: open (in /...libc...)
- by 0x........: server (fdleak_cmsg.c:21)
- by 0x........: main (fdleak_cmsg.c:174)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
-
-FILE DESCRIPTORS: 6 open at exit.
-Open file descriptor .: /tmp/data2
- at 0x........: recvmsg (in /...libc...)
- by 0x........: client (fdleak_cmsg.c:131)
- by 0x........: main (fdleak_cmsg.c:178)
-
-Open file descriptor .: /tmp/data1
- at 0x........: recvmsg (in /...libc...)
- by 0x........: client (fdleak_cmsg.c:131)
- by 0x........: main (fdleak_cmsg.c:178)
-
-Open AF_UNIX socket .: <unknown>
- at 0x........: socket (in /...libc...)
- by 0x........: client (fdleak_cmsg.c:110)
- by 0x........: main (fdleak_cmsg.c:178)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
+++ /dev/null
-
-
-FILE DESCRIPTORS: 7 open at exit.
-Open AF_UNIX socket .: /tmp/sock
- at 0x........: accept (in /...libc...)
- by 0x........: main (fdleak_cmsg.c:195)
-
-Open AF_UNIX socket .: /tmp/sock
- at 0x........: socket (in /...libc...)
- by 0x........: main (fdleak_cmsg.c:195)
-
-Open file descriptor .: /tmp/data2
- at 0x........: open (in /...libc...)
- by 0x........: main (fdleak_cmsg.c:195)
-
-Open file descriptor .: /tmp/data1
- at 0x........: open (in /...libc...)
- by 0x........: main (fdleak_cmsg.c:195)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
-
-FILE DESCRIPTORS: 6 open at exit.
-Open file descriptor .: /tmp/data2
- at 0x........: recvmsg (in /...libc...)
- by 0x........: main (fdleak_cmsg.c:199)
-
-Open file descriptor .: /tmp/data1
- at 0x........: recvmsg (in /...libc...)
- by 0x........: main (fdleak_cmsg.c:199)
-
-Open AF_UNIX socket .: <unknown>
- at 0x........: socket (in /...libc...)
- by 0x........: main (fdleak_cmsg.c:199)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
+++ /dev/null
-
-
-FILE DESCRIPTORS: 7 open at exit.
-Open AF_UNIX socket .: /tmp/sock
- at 0x........: accept (in /...libc...)
- by 0x........: server (fdleak_cmsg.c:85)
- by 0x........: main (fdleak_cmsg.c:195)
-
-Open AF_UNIX socket .: /tmp/sock
- at 0x........: socket (in /...libc...)
- by 0x........: server (fdleak_cmsg.c:54)
- by 0x........: main (fdleak_cmsg.c:195)
-
-Open file descriptor .: /tmp/data2
- at 0x........: open (in /...libc...)
- by 0x........: server (fdleak_cmsg.c:48)
- by 0x........: main (fdleak_cmsg.c:195)
-
-Open file descriptor .: /tmp/data1
- at 0x........: open (in /...libc...)
- by 0x........: server (fdleak_cmsg.c:42)
- by 0x........: main (fdleak_cmsg.c:195)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
-
-FILE DESCRIPTORS: 6 open at exit.
-Open file descriptor .: /tmp/data2
- at 0x........: recvmsg (in /...libc...)
- by 0x........: client (fdleak_cmsg.c:152)
- by 0x........: main (fdleak_cmsg.c:199)
-
-Open file descriptor .: /tmp/data1
- at 0x........: recvmsg (in /...libc...)
- by 0x........: client (fdleak_cmsg.c:152)
- by 0x........: main (fdleak_cmsg.c:199)
-
-Open AF_UNIX socket .: <unknown>
- at 0x........: socket (in /...libc...)
- by 0x........: client (fdleak_cmsg.c:131)
- by 0x........: main (fdleak_cmsg.c:199)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
CLOSE_INHERITED_FDS;
- sprintf(filename, "/tmp/file.%d\n", getpid());
+ sprintf(filename, "/tmp/file.%d", getpid());
creat(filename, 0);
unlink(filename);
return 0;
FILE DESCRIPTORS: 4 open at exit.
Open file descriptor .: /tmp/file
-
- at 0x........: creat (in /...libc...)
- by 0x........: (below main)
+ ...
Open file descriptor .: .
<inherited from parent>
+++ /dev/null
-
-
-FILE DESCRIPTORS: 4 open at exit.
-Open file descriptor .: /tmp/file
-
- at 0x........: open (in /...libc...)
- by 0x........: main (fdleak_creat.c:18)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
+++ /dev/null
-
-
-FILE DESCRIPTORS: 4 open at exit.
-Open file descriptor .: /tmp/file
-
- at 0x........: creat (in /...libc...)
- by 0x........: main (fdleak_creat.c:18)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
FILE DESCRIPTORS: 5 open at exit.
Open file descriptor .: /dev/null
- at 0x........: dup (in /...libc...)
- by 0x........: (below main)
+ ...
Open file descriptor .: /dev/null
- at 0x........: open (in /...libc...)
- by 0x........: (below main)
+ ...
Open file descriptor .: .
<inherited from parent>
+++ /dev/null
-
-
-FILE DESCRIPTORS: 5 open at exit.
-Open file descriptor .: /dev/null
- at 0x........: dup (in /...libc...)
- by 0x........: (below main)
-
-Open file descriptor .: /dev/null
- at 0x........: open (in /...libc...)
- by 0x........: main (fdleak_dup.c:16)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
+++ /dev/null
-
-
-FILE DESCRIPTORS: 5 open at exit.
-Open file descriptor .: /dev/null
- at 0x........: dup (in /...libc...)
- by 0x........: main (fdleak_dup.c:17)
-
-Open file descriptor .: /dev/null
- at 0x........: open (in /...libc...)
- by 0x........: main (fdleak_dup.c:16)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
FILE DESCRIPTORS: 6 open at exit.
Open file descriptor .: /dev/null
- at 0x........: dup2 (in /...libc...)
- by 0x........: (below main)
+ ...
Open file descriptor .: /dev/null
- at 0x........: dup2 (in /...libc...)
- by 0x........: (below main)
+ ...
Open file descriptor .: /dev/null
- at 0x........: open (in /...libc...)
- by 0x........: (below main)
+ ...
Open file descriptor .: .
<inherited from parent>
+++ /dev/null
-
-
-FILE DESCRIPTORS: 6 open at exit.
-Open file descriptor .: /dev/null
- at 0x........: dup2 (in /...libc...)
- by 0x........: (below main)
-
-Open file descriptor .: /dev/null
- at 0x........: dup2 (in /...libc...)
- by 0x........: (below main)
-
-Open file descriptor .: /dev/null
- at 0x........: open (in /...libc...)
- by 0x........: main (fdleak_dup2.c:17)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
+++ /dev/null
-
-
-FILE DESCRIPTORS: 6 open at exit.
-Open file descriptor .: /dev/null
- at 0x........: dup2 (in /...libc...)
- by 0x........: main (fdleak_dup2.c:20)
-
-Open file descriptor .: /dev/null
- at 0x........: dup2 (in /...libc...)
- by 0x........: main (fdleak_dup2.c:21)
-
-Open file descriptor .: /dev/null
- at 0x........: open (in /...libc...)
- by 0x........: main (fdleak_dup2.c:17)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
FILE DESCRIPTORS: 5 open at exit.
Open file descriptor .: /dev/null
- at 0x........: fcntl (in /...libc...)
- by 0x........: main (fdleak_fcntl.c:18)
+ ...
Open file descriptor .: /dev/null
- at 0x........: open (in /...libc...)
- by 0x........: (below main)
+ ...
Open file descriptor .: .
<inherited from parent>
+++ /dev/null
-
-
-FILE DESCRIPTORS: 5 open at exit.
-Open file descriptor .: /dev/null
- at 0x........: fcntl (in /...libc...)
- by 0x........: fcntl (in /...libc...)
- by 0x........: main (fdleak_fcntl.c:18)
-
-Open file descriptor .: /dev/null
- at 0x........: open (in /...libc...)
- by 0x........: (below main)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
+++ /dev/null
-
-
-FILE DESCRIPTORS: 5 open at exit.
-Open file descriptor .: /dev/null
- at 0x........: do_fcntl (in /...libc...)
- by 0x........: fcntl (in /...libc...)
- by 0x........: main (fdleak_fcntl.c:18)
-
-Open file descriptor .: /dev/null
- at 0x........: open (in /...libc...)
- by 0x........: (below main)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
+++ /dev/null
-
-
-FILE DESCRIPTORS: 5 open at exit.
-Open file descriptor .: /dev/null
- at 0x........: fcntl (in /...libc...)
- by 0x........: main (fdleak_fcntl.c:18)
-
-Open file descriptor .: /dev/null
- at 0x........: open (in /...libc...)
- by 0x........: main (fdleak_fcntl.c:17)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
FILE DESCRIPTORS: 5 open at exit.
Open AF_INET socket 4: 127.0.0.1:... <-> 127.0.0.1:...
- at 0x........: accept (in /...libc...)
- by 0x........: server (fdleak_ipv4.c:44)
- by 0x........: main (fdleak_ipv4.c:100)
+ ...
Open AF_INET socket 3: 127.0.0.1:... <-> unbound
- at 0x........: socket (in /...libc...)
- by 0x........: server (fdleak_ipv4.c:21)
- by 0x........: main (fdleak_ipv4.c:100)
+ ...
Open file descriptor .: .
<inherited from parent>
FILE DESCRIPTORS: 4 open at exit.
Open AF_INET socket 3: 127.0.0.1:... <-> 127.0.0.1:...
- at 0x........: socket (in /...libc...)
- by 0x........: client (fdleak_ipv4.c:60)
- by 0x........: main (fdleak_ipv4.c:104)
+ ...
Open file descriptor .: .
<inherited from parent>
+++ /dev/null
-
-
-FILE DESCRIPTORS: 5 open at exit.
-Open AF_INET socket 4: 127.0.0.1:... <-> 127.0.0.1:...
- at 0x........: accept (in /...libc...)
- by 0x........: main (fdleak_ipv4.c:100)
-
-Open AF_INET socket 3: 127.0.0.1:... <-> unbound
- at 0x........: socket (in /...libc...)
- by 0x........: main (fdleak_ipv4.c:100)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
-
-FILE DESCRIPTORS: 4 open at exit.
-Open AF_INET socket 3: 127.0.0.1:... <-> 127.0.0.1:...
- at 0x........: socket (in /...libc...)
- by 0x........: main (fdleak_ipv4.c:104)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
FILE DESCRIPTORS: 4 open at exit.
Open file descriptor .: /dev/null
- at 0x........: open (in /...libc...)
- by 0x........: (below main)
+ ...
Open file descriptor .: .
<inherited from parent>
+++ /dev/null
-
-
-FILE DESCRIPTORS: 4 open at exit.
-Open file descriptor .: /dev/null
- at 0x........: open (in /...libc...)
- by 0x........: main (fdleak_open.c:13)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
FILE DESCRIPTORS: 5 open at exit.
Open file descriptor .:
- at 0x........: pipe (in /...libc...)
- by 0x........: (below main)
+ ...
Open file descriptor .:
- at 0x........: pipe (in /...libc...)
- by 0x........: (below main)
+ ...
Open file descriptor .: .
<inherited from parent>
+++ /dev/null
-
-
-FILE DESCRIPTORS: 5 open at exit.
-Open file descriptor .:
- at 0x........: pipe (in /...libc...)
- by 0x........: main (fdleak_pipe.c:15)
-
-Open file descriptor .:
- at 0x........: pipe (in /...libc...)
- by 0x........: main (fdleak_pipe.c:15)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
FILE DESCRIPTORS: 5 open at exit.
Open AF_UNIX socket .: <unknown>
- at 0x........: socketpair (in /...libc...)
- by 0x........: (below main)
+ ...
Open AF_UNIX socket .: <unknown>
- at 0x........: socketpair (in /...libc...)
- by 0x........: (below main)
+ ...
Open file descriptor .: .
<inherited from parent>
+++ /dev/null
-
-
-FILE DESCRIPTORS: 5 open at exit.
-Open AF_UNIX socket .: <unknown>
- at 0x........: socketpair (in /...libc...)
- by 0x........: main (fdleak_socketpair.c:15)
-
-Open AF_UNIX socket .: <unknown>
- at 0x........: socketpair (in /...libc...)
- by 0x........: main (fdleak_socketpair.c:15)
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: .
- <inherited from parent>
-
-Open file descriptor .: /dev/null
- <inherited from parent>
-
-
sed s/"^Open \(AF_UNIX socket\|file descriptor\) [0-9]*: \/tmp\/\(sock\|data1\|data2\|file\)\.[0-9]*/Open \\1 .: \/tmp\/\\2/" |
sed s/"^Open file descriptor [0-9]*: .*/Open file descriptor .: ./" |
sed s/"^Open file descriptor [0-9]*:$/Open file descriptor .:/" |
-sed s/"127.0.0.1:[0-9]*/127.0.0.1:.../g"
+sed s/"127.0.0.1:[0-9]*/127.0.0.1:.../g" |
+
+# Stack traces showing where fds were created have lots of variations:
+# different numbers of entries, line numbers or not depending on whether
+# libc debug info is present, 'main' vs. '(below main)', etc.
+#
+# So we just cut out the entire stack trace. It's coarse but effective;
+# before we did this we had a plethora of expected outputs, with only
+# painfully minor variations between them.
+perl -p -0 -e 's/(Open[^\n]*)\n( (at|by)[^\n]*\n)+/$1\n ...\n/gs'
+
+