This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug testsuite/67905] New: running the libstdc++ testsuite as root removed /dev/null from my system
- From: "egall at gwmail dot gwu.edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 09 Oct 2015 05:11:53 +0000
- Subject: [Bug testsuite/67905] New: running the libstdc++ testsuite as root removed /dev/null from my system
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67905
Bug ID: 67905
Summary: running the libstdc++ testsuite as root removed
/dev/null from my system
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: testsuite
Assignee: unassigned at gcc dot gnu.org
Reporter: egall at gwmail dot gwu.edu
Target Milestone: ---
Host: i386-apple-darwin9.8.0
Target: i386-apple-darwin9.8.0
Build: i386-apple-darwin9.8.0
Created attachment 36468
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36468&action=edit
what survived from `make mail-report.log`
So first of all, I know I should be more careful about running things as root,
but the gcc testsuite let me go ahead as root without complaint, so here I am.
Anyways, I ran `make -k check` in my builddir, and things were going pretty
normal until it got to the libstdc++ part, where everything blew up:
Test Run By root on Thu Oct 8 20:51:44 2015
Native configuration is i386-apple-darwin9.8.0
=== libstdc++ tests ===
Schedule of variations:
unix
Running target unix
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using /var/root/gcc-git/libstdc++-v3/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /var/root/gcc-git/libstdc++-v3/testsuite/libstdc++-abi/abi.exp ...
Running /var/root/gcc-git/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp
...
FAIL: 20_util/temporary_buffer.cc (test for excess errors)
[snip a large number of similar FAILs in between]
FAIL: 21_strings/basic_string/cons/char/1.cc (test for excess errors)
WARNING: program timed out.
ERROR: tcl error sourcing
/var/root/gcc-git/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp.
ERROR: sh: cannot redirect standard input from /dev/null: No such file or
directory
sh: /dev/null: Operation not supported
while executing
"exec sh -c "exec > /dev/null 2>&1 && (kill -2 $pgid || kill -2 $pid) && sleep
5 && (kill $pgid || kill $pid) && sleep 5 && (kill -9 $pgid || kill -9 $..."
invoked from within
"if [board_info ${host} exists fileid] {
set shell_id [board_info ${host} fileid]
set pid -1
verbose "Closing the remote shell $shell_id" 2
if [bo..."
(procedure "standard_close" line 4)
invoked from within
"standard_close "unix""
("eval" body line 1)
invoked from within
"eval ${try}_${proc} \"$dest\" $args"
(procedure "call_remote" line 33)
invoked from within
"call_remote "" close "$host""
(procedure "remote_close" line 3)
invoked from within
"remote_close $dest"
(procedure "saved_standard_wait" line 55)
invoked from within
"saved_standard_wait $dest $timeout"
(procedure "standard_wait" line 6)
invoked from within
"standard_wait "unix" 300"
("eval" body line 1)
invoked from within
"eval ${try}_${proc} \"$dest\" $args"
(procedure "call_remote" line 57)
invoked from within
"call_remote "" wait "unix" 300"
("eval" body line 1)
invoked from within
"eval call_remote \"\" wait \"$dest\" $timeout"
(procedure "remote_wait" line 2)
invoked from within
"remote_wait $dest 300"
invoked from within
"if ![is_remote $dest] {
if { "$inp" != "" } {
set command "$prog $parg < $inp"
} else {
set command "$prog $parg"
}
if ![info ex..."
(procedure "unix_load" line 25)
invoked from within
"unix_load "unix" ./1.exe {} {}"
("eval" body line 1)
invoked from within
"eval ${try}_${proc} \"$dest\" $args"
(procedure "call_remote" line 57)
invoked from within
"call_remote "" load "unix" "./1.exe" {} {}"
("eval" body line 1)
invoked from within
"eval call_remote \"\" load \"$dname\" \"$prog\" $args"
invoked from within
"if ![info exists result] {
set result [eval call_remote \"\" load \"$dname\" \"$prog\" $args]
# Not quite happy about the "pass" condition, but it m..."
(procedure "remote_load" line 66)
invoked from within
"remote_load target $program $program_args $input_file"
(procedure "libstdc++_load" line 13)
invoked from within
"${tool}_load $output_file"
invoked from within
"if ![file exists $output_file] {
warning "$name compilation failed to produce executable"
} else {
set status -1
set result [${tool}_l..."
(procedure "saved-dg-test" line 224)
invoked from within
"saved-dg-test
/var/root/gcc-git/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/1.cc
{} { -include bits/stdc++.h}"
("eval" body line 1)
invoked from within
"eval saved-dg-test $args "
(procedure "dg-test" line 6)
invoked from within
"dg-test $testcase $flags ${default-extra-flags}"
(procedure "dg-runtest" line 10)
invoked from within
"dg-runtest $tests "" "$DEFAULT_CXXFLAGS $PCH_CXXFLAGS""
(file
"/var/root/gcc-git/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp" line
105)
invoked from within
"source /var/root/gcc-git/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp"
("uplevel" body line 1)
invoked from within
"uplevel #0 source
/var/root/gcc-git/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp"
invoked from within
"catch "uplevel #0 source $test_file_name""
I can attach more output if necessary, but there was a lot. I attached
mail-report.log, which is incomplete and un-emailable due to errors:
$ make mail-report.log
if test x'-g -O2 `case i386-apple-darwin9.8.0 in i?86-*-darwin* |
powerpc-*-darwin*) /usr/local/bin/gcc -S -xc /dev/null -o /dev/null
-mno-dynamic-no-pic 2>/dev/null && echo -mdynamic-no-pic ;; esac`' != x''; then
\
BOOT_CFLAGS='-g -O2 `case i386-apple-darwin9.8.0 in i?86-*-darwin* |
powerpc-*-darwin*) /usr/local/bin/gcc -S -xc /dev/null -o /dev/null
-mno-dynamic-no-pic 2>/dev/null && echo -mdynamic-no-pic ;; esac`'; export
BOOT_CFLAGS; \
fi; \
../contrib/test_summary -t >mail-report.log
../contrib/test_summary: line 49: /dev/null: Operation not supported
../contrib/test_summary: line 85: /dev/null: Operation not supported
./config.status: line 27: /dev/null: Operation not supported
./config.status: line 72: /dev/null: Operation not supported
./config.status: line 53: /dev/null: Operation not supported
./config.status: line 81: /dev/null: Operation not supported
./config.status: line 134: /dev/null: Operation not supported
./config.status: line 196: /dev/null: Operation not supported
./config.status: line 213: /dev/null: Operation not supported
./config.status: line 216: /dev/null: Operation not supported
./config.status: line 227: /dev/null: Operation not supported
./config.status: line 233: /dev/null: Operation not supported
./config.status: line 253: /dev/null: Operation not supported
./config.status: line 279: /dev/null: Operation not supported
./config.status: line 297: /dev/null: Operation not supported
./config.status: line 299: /dev/null: Operation not supported
./config.status: line 349: /dev/null: Operation not supported
./config.status: line 356: /dev/null: Operation not supported
./config.status: line 359: /dev/null: Operation not supported
./config.status: line 404: /dev/null: Operation not supported
./config.status: line 663: /dev/null: Operation not supported
./config.status: line 676: /dev/null: No such file or directory
./config.status: line 701: /dev/null: No such file or directory
./config.status: line 962: /dev/null: No such file or directory
./config.status: line 1063: /dev/null: Operation not supported
chmod +x mail-report.log
echo If you really want to send e-mail, run ./mail-report.log now
If you really want to send e-mail, run ./mail-report.log now
$ ./mail-report.log
$ send-mail: warning: command "/usr/sbin/postdrop -r" exited with status 11
send-mail: fatal: root(0): unable to execute /usr/sbin/postdrop -r: Unknown
error: 0
Just to confirm, other commands do seem to agree that my /dev/null is actually
missing now:
$ stat /dev/null
stat: /dev/null: stat: No such file or directory
$ ls -a /dev/
. ptyta ttyr3
.. ptytb ttyr4
appleAE0 ptytc ttyr5
autofs ptytd ttyr6
autofs_control ptyte ttyr7
autofs_nowait ptytf ttyr8
bpf0 ptyu0 ttyr9
bpf1 ptyu1 ttyra
bpf2 ptyu2 ttyrb
bpf3 ptyu3 ttyrc
console ptyu4 ttyrd
cu.Bluetooth-Modem ptyu5 ttyre
cu.Bluetooth-PDA-Sync ptyu6 ttyrf
disk0 ptyu7 ttys0
disk0s1 ptyu8 ttys000
disk0s2 ptyu9 ttys001
disk1 ptyua ttys002
disk1s1 ptyub ttys003
disk1s2 ptyuc ttys1
disk1s3 ptyud ttys2
dtrace ptyue ttys3
dtracehelper ptyuf ttys4
fbt ptyv0 ttys5
fd ptyv1 ttys6
fsevents ptyv2 ttys7
klog ptyv3 ttys8
lockstat ptyv4 ttys9
machtrace ptyv5 ttysa
pmCPU ptyv6 ttysb
profile ptyv7 ttysc
ptmx ptyv8 ttysd
ptyp0 ptyv9 ttyse
ptyp1 ptyva ttysf
ptyp2 ptyvb ttyt0
ptyp3 ptyvc ttyt1
ptyp4 ptyvd ttyt2
ptyp5 ptyve ttyt3
ptyp6 ptyvf ttyt4
ptyp7 ptyw0 ttyt5
ptyp8 ptyw1 ttyt6
ptyp9 ptyw2 ttyt7
ptypa ptyw3 ttyt8
ptypb ptyw4 ttyt9
ptypc ptyw5 ttyta
ptypd ptyw6 ttytb
ptype ptyw7 ttytc
ptypf ptyw8 ttytd
ptyq0 ptyw9 ttyte
ptyq1 ptywa ttytf
ptyq2 ptywb ttyu0
ptyq3 ptywc ttyu1
ptyq4 ptywd ttyu2
ptyq5 ptywe ttyu3
ptyq6 ptywf ttyu4
ptyq7 random ttyu5
ptyq8 rdisk0 ttyu6
ptyq9 rdisk0s1 ttyu7
ptyqa rdisk0s2 ttyu8
ptyqb rdisk1 ttyu9
ptyqc rdisk1s1 ttyua
ptyqd rdisk1s2 ttyub
ptyqe rdisk1s3 ttyuc
ptyqf sdt ttyud
ptyr0 stderr ttyue
ptyr1 stdin ttyuf
ptyr2 stdout ttyv0
ptyr3 systrace ttyv1
ptyr4 tty ttyv2
ptyr5 tty.Bluetooth-Modem ttyv3
ptyr6 tty.Bluetooth-PDA-Sync ttyv4
ptyr7 ttyp0 ttyv5
ptyr8 ttyp1 ttyv6
ptyr9 ttyp2 ttyv7
ptyra ttyp3 ttyv8
ptyrb ttyp4 ttyv9
ptyrc ttyp5 ttyva
ptyrd ttyp6 ttyvb
ptyre ttyp7 ttyvc
ptyrf ttyp8 ttyvd
ptys0 ttyp9 ttyve
ptys1 ttypa ttyvf
ptys2 ttypb ttyw0
ptys3 ttypc ttyw1
ptys4 ttypd ttyw2
ptys5 ttype ttyw3
ptys6 ttypf ttyw4
ptys7 ttyq0 ttyw5
ptys8 ttyq1 ttyw6
ptys9 ttyq2 ttyw7
ptysa ttyq3 ttyw8
ptysb ttyq4 ttyw9
ptysc ttyq5 ttywa
ptysd ttyq6 ttywb
ptyse ttyq7 ttywc
ptysf ttyq8 ttywd
ptyt0 ttyq9 ttywe
ptyt1 ttyqa ttywf
ptyt2 ttyqb urandom
ptyt3 ttyqc vn0
ptyt4 ttyqd vn1
ptyt5 ttyqe vn2
ptyt6 ttyqf vn3
ptyt7 ttyr0 zero
ptyt8 ttyr1
ptyt9 ttyr2
My gcc version info:
$ gcc/xgcc -v
Using built-in specs.
COLLECT_GCC=gcc/xgcc
Target: i386-apple-darwin9.8.0
Configured with: ../configure --disable-werror
--enable-languages=c,c++,lto,objc,obj-c++ --enable-stage1-checking=release -C
--with-system-libunwind --enable-secureplt --enable-frame-pointer
--enable-version-specific-runtime-libs --enable-assert --enable-fat
--enable-portable-binary --enable-browser-plugin --enable-gconf-peer
--enable-libgcj-debug --enable-gc-debug --enable-interpreter
--enable-aot-compile-rpm --enable-java-home --with-x --enable-collections
--enable-gstreamer-peer --enable-xmlj --enable-qt-peer --enable-debug
--enable-local-sockets --without-isl --enable-objc-gc --enable-maintainer-mode
--enable-host-shared CC=/usr/local/bin/gcc CXX=/usr/local/bin/g++
AUTOCONF=/usr/local/bin/autoconf AUTOHEADER=/usr/local/bin/autoheader
AUTOM4TE=/usr/local/bin/autom4te AUTORECONF=/usr/local/bin/autoreconf
AUTOSCAN=/usr/local/bin/autoscan AUTOUPDATE=/usr/local/bin/autoupdate
IFNAMES=/usr/local/bin/ifnames
Thread model: posix
gcc version 6.0.0 20151007 (experimental) (GCC)