[lfs-support] Binutils-2.23.2 test - libiberty test-pexecute hangs

Bruce Dubbs bruce.dubbs at gmail.com
Tue Nov 5 08:59:12 PST 2013


Bernd Bausch wrote:
> --Boundary-01=_/wHcSKNH4X584sI
> Content-Type: text/plain;
>    charset="us-ascii"
> Content-Transfer-Encoding: 7bit
>
> Dear LFS community,
>
> Chapter 6.13 of LFS book 7.4 installs binutils-2.32.2. On my system, configure
> and make work, but make check eventually hangs.
> I am using Redhat 6.4 (without subscription), and I have to admit that my gawk
> version is not the one requested by the book.
>
> version-check output
> ########################################################
> bash, version 4.1.2(1)-release
> /bin/sh -> /bin/bash
> Binutils: version 2.20.51.0.2-5.36.el6 20100205
> bison (GNU Bison) 2.4.1
> /usr/bin/yacc -> /usr/bin/bison
> bzip2,  Version 1.0.5, 10-Dec-2007.
> Coreutils:  8.4
> diff (GNU diffutils) 2.8.1
> find (GNU findutils) 4.4.2
> GNU Awk 3.1.7
> /usr/bin/awk -> /bin/gawk
> gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
> g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
> (GNU libc) 2.18
> GNU grep 2.6.3
> gzip 1.3.12
> Linux version 2.6.32-358.2.1.el6.x86_64
> (mockbuild at x86-023.build.eng.bos.redhat.com) (gcc version 4.4.7 20120313 (Red
> Hat 4.4.7-3) (GCC) ) #1 SMP Wed Feb 20 12:17:37 EST 2013
> m4 (GNU M4) 1.4.13
> GNU Make 3.81
> patch 2.6
> Perl version='5.10.1';
> GNU sed version 4.2.1
> tar (GNU tar) 1.23
> Texinfo: makeinfo (GNU texinfo) 4.13
> xz (XZ Utils) 4.999.9beta
> g++ compilation OK
> #########################################################
>
> Last lines from the make check output:
> #########################################################
>                  === ld Summary ===
>
> # of expected passes            803
> # of expected failures          61
> # of untested testcases         1test-pexecute abort process
> /sources/binutils-build/ld/ld-new 2.23.2
>
> make[5]: Leaving directory `/sources/binutils-build/ld'
> make[4]: Leaving directory `/sources/binutils-build/ld'
> make[3]: Leaving directory `/sources/binutils-build/ld'
> make[2]: Leaving directory `/sources/binutils-build/ld'
> make[2]: Entering directory `/sources/binutils-build/libiberty'
> make[3]: Entering directory `/sources/binutils-build/libiberty/testsuite'
> ./test-demangle < ../../../binutils-2.23.2/libiberty/testsuite/demangle-
> expected
> ./test-demangle: 876 tests, 0 failures
> ./test-pexecute
>
> <and here it doesn't continue>
> #########################################################
>
> What I have found so far:
>
> The offending program is /sources/binutils-build/libiberty/testsuite/test-
> pexecute. It hangs while running test-pexecute abort (both test-pexecute
> processes are hanging). The expected behaviour is to get a SIGABRT and die
> with a core dump.
>
> The test-pexecute abort process is waiting on the pipe_w waitchannel.
>
> Running test-pexecute abort directly from the shell prompt also hangs.
>
> Killing the test-pexecute abort process (^C) results in the expected abort:
> # ./test-pexecute abort
> ^CAborted (core dumped)
> #
>
> By adding a printf to the test-pexecute source, I could confirm that the
> program hangs after entering the abort() routine.
>
> All of the above also happens when running test-pexecute abort in the non-
> chrooted environment.
> I also ran the program under gdb. Here, SIGABRT is delivered as expected.
>
> Any suggestions what I should do from there? Install the more recent version
> of gawk and start over, perhaps, or are there more investigations I could
> make?

I don't recall ever seeing that problem before.  What my reference 
system has is:

make[4]: Entering directory '/sources/binutils-build/libiberty/testsuite'
gcc -DHAVE_CONFIG_H -g -O2 -I.. 
-I../../../binutils-2.23.2/libiberty/testsuite/../../include  -o 
test-demangle \
    ../../../binutils-2.23.2/libiberty/testsuite/test-demangle.c 
../libiberty.a
./test-demangle < 
../../../binutils-2.23.2/libiberty/testsuite/demangle-expected
./test-demangle: 876 tests, 0 failures
gcc -DHAVE_CONFIG_H -g -O2 -I.. 
-I../../../binutils-2.23.2/libiberty/testsuite/../../include 
-DHAVE_CONFIG_H -I.. -o test-pexecute \
    ../../../binutils-2.23.2/libiberty/testsuite/test-pexecute.c 
../libiberty.a
./test-pexecute
gcc -DHAVE_CONFIG_H -g -O2 -I.. 
-I../../../binutils-2.23.2/libiberty/testsuite/../../include 
-DHAVE_CONFIG_H -I.. -o test-expandargv \
    ../../../binutils-2.23.2/libiberty/testsuite/test-expandargv.c 
../libiberty.a
./test-expandargv

Since signals are handled by the kernel, you might want to update to a 
more recent version.

   -- Bruce




More information about the lfs-support mailing list