bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

coreutils-8.4: strace induced test failure


From: Bruno Haible
Subject: coreutils-8.4: strace induced test failure
Date: Tue, 23 Feb 2010 23:55:23 +0100
User-agent: KMail/1.9.9

Hi,

Trying to install coreutils 8.4 on a x86_64 Linux/glibc system, I get a test 
failure.
Relevant parts of test-suite.log:

=============================================
   GNU coreutils 8.4: tests/test-suite.log   
=============================================

1 of 370 tests failed.  (46 tests were not run).  

FAIL: ls/stat-free-symlinks (exit: 1)
=====================================
...
+ strace -qe stat ls -F --color=always x link-to-x
...
+ compare out exp
+ diff -u out exp
--- out 2010-02-23 23:26:44.000000000 +0100
+++ exp 2010-02-23 23:26:44.000000000 +0100
@@ -1,3 +1,3 @@
 link-to-x@
 x*
-[ Process PID=22612 runs in 32 bit mode. ]
+
\ No newline at end of file
+ fail=1
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ cd /home/bruno/data/build/coreutils-8.4/tests
+ chmod -R u+rwx 
/home/bruno/data/build/coreutils-8.4/tests/cu-stat-free-symlinks.vtWekPYmKd
+ rm -rf 
/home/bruno/data/build/coreutils-8.4/tests/cu-stat-free-symlinks.vtWekPYmKd
+ exit 1


I had configured coreutils like this (native 32-bit mode build on a 64-bit
system):
$ ./configure --host=i686-pc-linux-gnu --prefix=/arch/x86-linux/gnu \
  CC="gcc -m32 -march=i586" CXX="g++ -m32 -march=i586" LDFLAGS="-m32" \
  CPPFLAGS=-Wall

$ which strace
/usr/bin/strace

The function in require_strace_ in tests/test-lib.sh does
  strace -qe stat echo
and tests the return value.

$ strace -qe stat src/echo
[ Process PID=31238 runs in 32 bit mode. ]

$ echo $?
0

But this 'strace' program does not fully work on 32-bit mode executables:
1) It always emits this "Process PID=xxxxx runs in 32 bit mode." message.
2) It does not support some system calls: 'write' and 'fstat64' appear 
supported,
   but 'stat' is not:

   $ strace -qe stat src/ls
   [ Process PID=31310 runs in 32 bit mode. ]
   ABOUT-NLS       ChangeLog-2005  COPYING        m4           po
   aclocal.m4      ChangeLog-2006  dist-check.mk  maint.mk     README
   AUTHORS         ChangeLog-2007  doc            Makefile     src
   bootstrap       ChangeLog-2008  gl             Makefile.am  tests
   bootstrap.conf  config.log      gnulib-tests   Makefile.in  THANKS
   build-aux       config.status   GNUmakefile    man          
THANKS-to-translators
   cfg.mk          configure       INSTALL        NEWS         THANKStt.in
   ChangeLog       configure.ac    lib            old          TODO
   $ $ strace -qe write src/ls
   [ Process PID=31312 runs in 32 bit mode. ]
   write(1, "ABOUT-NLS\tChangeLog-2005\tCOPYING"..., 50ABOUT-NLS   
ChangeLog-2005  COPYING        m4        po
   ) = 50
   write(1, "aclocal.m4\tChangeLog-2006\tdist-c"..., 61aclocal.m4  
ChangeLog-2006  dist-check.mk  maint.mk     README
   ) = 61
   write(1, "AUTHORS\t\tChangeLog-2007\tdoc\t    "..., 52AUTHORS           
ChangeLog-2007  doc        Makefile     src
   ) = 52
   write(1, "bootstrap\tChangeLog-2008\tgl\t    "..., 54bootstrap  
ChangeLog-2008  gl             Makefile.am  tests
   ) = 54
   write(1, "bootstrap.conf\tconfig.log\tgnulib"..., 61bootstrap.conf      
config.log      gnulib-tests   Makefile.in  THANKS
   ) = 61
   write(1, "build-aux\tconfig.status\tGNUmakef"..., 69build-aux   
config.status   GNUmakefile    man       THANKS-to-translators
   ) = 69
   write(1, "cfg.mk\t\tconfigure\tINSTALL       "..., 54cfg.mk             
configure       INSTALL        NEWS      THANKStt.in
   ) = 54
   write(1, "ChangeLog\tconfigure.ac\tlib\t     "..., 47ChangeLog  configure.ac 
   lib            old       TODO
   ) = 47
   $ strace -qe fstat64 src/ls
   [ Process PID=31320 runs in 32 bit mode. ]
   fstat64(0x3, 0xffed9b18)                = 0
   fstat64(0x3, 0xffed9b84)                = 0
   fstat64(0x3, 0xffed9b68)                = 0
   fstat64(0x3, 0xffed9ac0)                = 0
   fstat64(0x3, 0xffed9c60)                = 0
   fstat64(0x3, 0xffed9f80)                = 0
   fstat64(0x3, 0xffed9e4c)                = 0
   fstat64(0x3, 0xffed9f80)                = 0
   fstat64(0x3, 0xffed9f80)                = 0
   fstat64(0x3, 0xffed9f80)                = 0
   fstat64(0x3, 0xffed9f80)                = 0
   fstat64(0x3, 0xffed9f80)                = 0
   fstat64(0x3, 0xffed9f80)                = 0
   fstat64(0x3, 0xffed9f80)                = 0
   fstat64(0x3, 0xffed9f80)                = 0
   fstat64(0x3, 0xffed9f80)                = 0
   fstat64(0x3, 0xffed9f80)                = 0
   fstat64(0x3, 0xffed9f80)                = 0
   fstat64(0x3, 0xffed9f80)                = 0
   fstat64(0x3, 0xffed9dbc)                = 0
   fstat64(0x1, 0xffed790c)                = 0
   ABOUT-NLS       ChangeLog-2005  COPYING        m4           po
   aclocal.m4      ChangeLog-2006  dist-check.mk  maint.mk     README
   AUTHORS         ChangeLog-2007  doc            Makefile     src
   bootstrap       ChangeLog-2008  gl             Makefile.am  tests
   bootstrap.conf  config.log      gnulib-tests   Makefile.in  THANKS
   build-aux       config.status   GNUmakefile    man          
THANKS-to-translators
   cfg.mk          configure       INSTALL        NEWS         THANKStt.in
   ChangeLog       configure.ac    lib            old          TODO

Bruno




reply via email to

[Prev in Thread] Current Thread [Next in Thread]