Description of problem: The 'cflags' and 'personality' checks are failing on the PPC build machine. I have only limited ways to debug this issue but it seems, that: * the error happens, before main() will be reached; because the checks are linked statically, bugs in external libraries can be excluded * the bug happens on some machines only; I know, that it fails on the PPC build machine and on a laptop. But the programs are runnign fine in 'qemu' and on pjone's machine Some observations: * the programs are getting a SIGKILL signal without any kernel message * the same programs, compiled with another toolchain (afaik, a Mandriva one) are working fine on the laptop mentioned above * the checks are running fine on i386 and x86_64 * afair, the same problem happened for util-vserver 0.30.208 but after submitting it again, it was built. This does not seem to apply to 0.30.209 which was submitted 5-6 times already. * 'gdb' does not help ('b main; run' gets a SIGKILL before the breakpoint is reached), 'strace' will not help because exactly 2 syscalls will be called (execv + exit) * 'eu-elflint' does not report any errors * the '_start' function of the working 'cflags' and the broken 'cflags' programs are nearly identical. Only difference is | 100000b8: 3d c0 10 01 lis r14,4097 | 100000bc: 91 2e 70 00 stw r9,28672(r14) | ... | 100000d8: 3d c0 10 01 lis r14,4097 | 100000dc: 90 ae 71 00 stw r5,28928(r14) | 10017000 V __libc_stack_end in the bad one a | 100000ac: 3d c0 10 02 lis r14,4098 | 100000b0: 91 2e ac 00 stw r9,-21504(r14) | ... | 100000cc: 3d c0 10 02 lis r14,4098 | 100000d0: 90 ae ad 00 stw r5,-21248(r14) | 1001ac00 V __libc_stack_end in the good one which were both created by | lis 14,__libc_stack_end@ha | stw 9,__libc_stack_end@l(14) | ... | lis 14,environ@ha | stw 5,environ@l(14) The bad file looks ok, but I can not explain the good one. There, the __libc_stack_end@ha should be 0x1001 as in the bad one also, but it is 0x1002. But I am not very familar with PPC assembler... Because I do not have a machine were I can debug this, I will add an 'ExcludeArch: ppc'. Version-Release number of selected component (if applicable): 0.30.208 + 0.30.209 How reproducible: 100% (???)
Created attachment 120693 [details] Working ('good') program (from the Mandriva toolchain)
Created attachment 120696 [details] Broken ('bad') test program ... forget the comment about the 'lis' + 'stw' commands; I looked into the wrong binary ('personality')...
For completeness (I do not know, how long the buildlogs are kept) the visible problem: | + gdb --batch --command=/builddir/build/SOURCES/personality.gdb ./lib/testsuite/cflags | Using host libthread_db library "/lib/libthread_db.so.1". | ['start' resp. 'b main'] | Breakpoint 1 at 0x10000124: file lib/testsuite/cflags.c, line 75. | | ['start' resp. 'run'] | Program terminated with signal SIGKILL, Killed. | The program no longer exists. | /builddir/build/SOURCES/personality.gdb:1: Error in sourced command file: | You can't do that without a process to debug. | + /usr/bin/make check | ... | /usr/bin/make check-TESTS | make[3]: Entering directory `/builddir/build/BUILD/util-vserver-0.30.209' | /bin/sh: line 1: 13088 Killed ensc_use_expensive_tests="no" ensc_test_debug="no" srctestsuitedir=./src/testsuite libinternaltestsuitedir=./lib_internal/testsuite ${dir}$tst | FAIL: lib/testsuite/cflags | /bin/sh: line 1: 13093 Killed ensc_use_expensive_tests="no" ensc_test_debug="no" srctestsuitedir=./src/testsuite libinternaltestsuitedir=./lib_internal/testsuite ${dir}$tst | FAIL: lib/testsuite/personality | PASS: lib/testsuite/fmt | PASS: lib/testsuite/parselimit
FC-4 build machine (peach), reports: net.lo -MD -MP -MF lib/.deps/lib_libvserver_la-ncaps_list-net.Tpo -c lib/ncaps_list-net.c -fPIC -DPIC -o lib/.libs/lib_libvserver_la-ncaps_list-net.o lib/ncaps-net.c:33:2: warning: #warning is a GCC extension lib/ncaps-net.c:33:2: warning: #warning Add the 'ncap' values here lib/ncaps-net.c:34: warning: ISO C forbids empty initializer braces lib/ncaps-net.c:32: error: zero or negative size array 'VALUES' make[3]: *** [lib/lib_libvserver_la-ncaps-net.lo] Error 1 make[3]: *** Waiting for unfinished jobs.... gcc -DHAVE_CONFIG_H -I. -I. -I. -I ./lib -I ./ensc_wrappers -D_GNU_SOURCE -D_REENTRANT - DNDEBUG -DNDEBUG -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -fsigned-char - std=c99 -Wall -pedantic -W -MT lib/lib_libvserver_la-nflags-net.lo -MD -MP -MF lib/.deps/ lib_libvserver_la-nflags-net.Tpo -c lib/nflags-net.c -fPIC -DPIC -o lib/.libs/lib_libvserver_la-nflags- net.o lib/nflags-net.c:33:2: warning: #warning is a GCC extension lib/nflags-net.c:33:2: warning: #warning Add the 'nflags' values here lib/nflags-net.c:34: warning: ISO C forbids empty initializer braces lib/nflags-net.c:32: error: zero or negative size array 'VALUES' make[3]: *** [lib/lib_libvserver_la-nflags-net.lo] Error 1 make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/byte/util-vserver/FC-4/util-vserver-0.30.206' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/byte/util-vserver/FC-4/util-vserver-0.30.206' error: Bad exit status from /home/byte/rpm/tmp/rpm-tmp.49720 (%build) RPM build errors: Bad exit status from /home/byte/rpm/tmp/rpm-tmp.49720 (%build) make: *** [ppc] Error 1 Is this another error? If I run a make check on the package contents in FC-4, it exits w/o error.
comment #4 is due to another error (dunno, why it happens with the ppc compiler only but not with the i386 one). The 'make check' errors are caused by a kernel bug in the ELF loader.
Your 'cflags-bad' test program seems to work fine on current kernels. Please retest.
(In reply to comment #0) > Because I do not have a machine were I can debug this, I will add an 'ExcludeArch: ppc'. Just mail me a SSH public key.
Is this what is blocking a build of this package in devel to fix the broken upgrade path? util-vserver FE5 > FE7 (0:0.30.212-1.fc5 > 0:0.30.211-1.fc6) FE6 > FE7 (0:0.30.212-3.fc6 > 0:0.30.211-1.fc6) I just did a mock build here on my ppc test box and it worked fine. Could you try pushing another build out to fix the E-V-R issue?