Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 172389 - 'make check' fails on PPC build machine
Summary: 'make check' fails on PPC build machine
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: util-vserver
Version: rawhide
Hardware: powerpc
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Enrico Scholz
QA Contact: Fedora Extras Quality Assurance
URL: http://buildsys.fedoraproject.org/log...
Whiteboard:
Depends On: 176788
Blocks: F-ExcludeArch-ppc
TreeView+ depends on / blocked
 
Reported: 2005-11-03 17:40 UTC by Enrico Scholz
Modified: 2007-11-30 22:11 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-04-30 12:11:35 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Working ('good') program (from the Mandriva toolchain) (80.78 KB, application/octet-stream)
2005-11-03 17:40 UTC, Enrico Scholz
no flags Details
Broken ('bad') test program (66.92 KB, application/octet-stream)
2005-11-03 17:44 UTC, Enrico Scholz
no flags Details

Description Enrico Scholz 2005-11-03 17:40:45 UTC
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% (???)

Comment 1 Enrico Scholz 2005-11-03 17:40:45 UTC
Created attachment 120693 [details]
Working ('good') program (from the Mandriva toolchain)

Comment 2 Enrico Scholz 2005-11-03 17:44:21 UTC
Created attachment 120696 [details]
Broken ('bad') test program

... forget the comment about the 'lis' + 'stw' commands; I looked into the
wrong binary ('personality')...

Comment 3 Enrico Scholz 2005-11-03 23:54:33 UTC
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

Comment 4 Colin Charles 2005-11-06 23:31:30 UTC
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 5 Enrico Scholz 2006-01-29 15:09:09 UTC
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.

Comment 6 David Woodhouse 2006-12-28 14:29:35 UTC
Your 'cflags-bad' test program seems to work fine on current kernels. Please retest.

Comment 7 David Woodhouse 2006-12-28 14:30:24 UTC
(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.

Comment 8 Kevin Fenzi 2007-04-11 01:15:05 UTC
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? 


Note You need to log in before you can comment on or make changes to this bug.