libnih version 1.0.3-4ubuntu1 failed to build on armel

Bug #791315 reported by Ricardo Salveti
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro GCC
Invalid
Undecided
Unassigned
eglibc (Ubuntu)
Fix Released
Medium
Unassigned
Lucid
Won't Fix
Medium
Unassigned
Maverick
Won't Fix
Medium
Unassigned
Natty
Won't Fix
Medium
Unassigned
libnih (Ubuntu)
Fix Released
Undecided
Unassigned
Lucid
Won't Fix
Undecided
Unassigned
Maverick
Won't Fix
Undecided
Unassigned
Natty
Won't Fix
Undecided
Unassigned

Bug Description

libnih version 1.0.3-4ubuntu1 failed to build on armel
Link to failed build: https://launchpad.net/ubuntu/+source/libnih/1.0.3-4ubuntu1/+build/2523639

Direct link to the build log: https://launchpad.net/ubuntu/+source/libnih/1.0.3-4ubuntu1/+build/2523639/+files/buildlog_ubuntu-oneiric-armel.libnih_1.0.3-4ubuntu1_FAILEDTOBUILD.txt.gz

This log snippet might be of interest, since it triggered the matcher 'Purging chroot-autobuild'.
Excerpt 996 lines into the build log:

...with unhandled error beneath context
PASS: test_error
==================================================
14 of 17 tests failed
Please report to http://bugs.launchpad.net/libnih/
==================================================
make[3]: *** [check-TESTS] Error 1
make[3]: Leaving directory `/build/buildd/libnih-1.0.3/nih'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory `/build/buildd/libnih-1.0.3/nih'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/build/buildd/libnih-1.0.3'
dh_auto_test: make -j1 check returned exit code 2
make: *** [build] Error 29
dpkg-buildpackage: error: debian/rules build gave error exit status 2
******************************************************************************
Build finished at 20110601-0429
FAILED [dpkg-buildpackage died]
Purging chroot-autobuild/build/buildd/libnih-1.0.3

Revision history for this message
Dr. David Alan Gilbert (davidgil-uk) wrote :

When fixed please check if it cures bug 791294

Revision history for this message
Dr. David Alan Gilbert (davidgil-uk) wrote :

make[3]: Entering directory `/build/buildd/libnih-1.0.3/nih'
/bin/bash: line 5: 24330 Segmentation fault ${dir}$tst
FAIL: test_alloc
/bin/bash: line 5: 24335 Segmentation fault ${dir}$tst
FAIL: test_string
/bin/bash: line 5: 24340 Segmentation fault ${dir}$tst
FAIL: test_list
/bin/bash: line 5: 24345 Segmentation fault ${dir}$tst
FAIL: test_hash
/bin/bash: line 5: 24350 Segmentation fault ${dir}$tst
FAIL: test_tree
/bin/bash: line 5: 24355 Segmentation fault ${dir}$tst
FAIL: test_timer
/bin/bash: line 5: 24360 Segmentation fault ${dir}$tst
FAIL: test_signal
/bin/bash: line 5: 24365 Segmentation fault ${dir}$tst
FAIL: test_child
/bin/bash: line 5: 24370 Segmentation fault ${dir}$tst
FAIL: test_io
/bin/bash: line 5: 24375 Segmentation fault ${dir}$tst
FAIL: test_file

Revision history for this message
Matthias Klose (doko) wrote :

testing with gcc-4.6 4.6.0-12 from debian unstable. the package builds. using the same debian gcc with -march=armv7-a -mthumb -mfloat-fp=softfp -mfpu=vfpv3-d16, the package fails in the test.

looks like an armv7/thumb regression in 4.6 compared to 4.5.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libnih - 1.0.3-4ubuntu2

---------------
libnih (1.0.3-4ubuntu2) oneiric; urgency=low

  * Use dpkg-buildflags to get the build flags.
  * Build with the default build flags, don't hard-code -Os. LP: #791315.
 -- Matthias Klose <email address hidden> Wed, 15 Jun 2011 16:45:42 +0200

Changed in libnih (Ubuntu):
status: New → Fix Released
Revision history for this message
Matthias Klose (doko) wrote :

-O2 works on oneiric, -Os fails

Revision history for this message
Michael Hope (michaelh1) wrote :

Interesting. I can reproduce this with a libnih-1.0.3-4ubuntu2 with the -Os hacked back in, a natty chroot, and gcc-linaro-4.6-2011.06. I can't reproduce it using a maverick chroot. test_alloc faults before getting to _start which suggests a linker problem.

Running with LD_DEBUG=all /lib/ld-linux.so.3 ./test_alloc shows a segfault while running the init in librt.

Revision history for this message
Michael Hope (michaelh1) wrote :

Stubbing out librt doesn't fix the problem.

The problem seems to be outside the compiler. Using the same host, gcc-linaro-4.6-2011.06, and source package I see the fault when built on natty and run on natty or maverick; and don't see the fault if built on maverick and run on natty or maverick.

Changed in gcc-linaro:
status: New → Incomplete
Revision history for this message
Michael Hope (michaelh1) wrote :

Richard, I've built libnih twice under ~michaelh/bugs/lp791315/libnih-{natty,maverick}

Both use gcc-linaro-4.6-2011.06-0 at -Os. The natty one uses binutils 2.21.0.20110327-2ubuntu3. The maverick one uses 2.20.51.20100908-0ubuntu2.

nih/test_alloc segfaults with the natty binutils and passes with the maverick one.

The maverick binutils is in ~michaelh/linaro/toolchains/binutils-maverick. Put $prefix/usr/bin in your path and $prefix/usr/lib in your LD_LIBRARY_PATH.

Revision history for this message
Richard Sandiford (rsandifo) wrote :

This is due to a bug in libc's start.S, which causes _start to be misaligned:

    http://sourceware.org/ml/libc-ports/2011-06/msg00023.html

Revision history for this message
Michael Hope (michaelh1) wrote :

Sorry, accidently changed the status on gcc as well...

Changed in gcc-linaro:
status: Incomplete → Invalid
Changed in gcc-4.6 (Ubuntu):
status: New → Invalid
Matthias Klose (doko)
affects: gcc-4.6 (Ubuntu) → eglibc (Ubuntu)
Changed in eglibc (Ubuntu):
importance: Undecided → Medium
status: Invalid → Confirmed
Matthias Klose (doko)
Changed in eglibc (Ubuntu Lucid):
importance: Undecided → Medium
milestone: none → lucid-updates
status: New → Confirmed
Changed in eglibc (Ubuntu Maverick):
importance: Undecided → Medium
milestone: none → maverick-updates
status: New → Confirmed
Changed in eglibc (Ubuntu Natty):
importance: Undecided → Medium
milestone: none → natty-updates
status: New → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package eglibc - 2.13-8ubuntu1

---------------
eglibc (2.13-8ubuntu1) oneiric; urgency=low

  [ Colin Watson ]
  * Backport from upstream:
    - Update UTF-8 charmap from recent Unidata.txt file.
    - Transliterate U20B9 (LP: #799673).

  [ Matthias Klose ]
  * Merge with Debian (r4770).
  * Align _start constant pool to 4 bytes (Richard Sandiford). LP: #791315.
  * Adjust Breaks to gcc-4.x for the Ubuntu versions.

eglibc (2.13-8) unstable; urgency=low

   [ Samuel Thibault ]
   * Add patches/hurd-i386/submitted-ldsodefs.h.diff to fix loading binaries
    with GNU/Hurd-specific extensions, disabled for now.
  * patches/hurd-i386/local-sendmsg-SCM_RIGHTS.diff: Do not call getauth(),
    use the __USEPORT() cache macro instead. This should fix zsh FTBFS with
    duplicate getproc() symbol.

   [ Aurelien Jarno ]
   * Add patches/any/cvs-addmntent.diff to correctly report errors status in
     addmntent(). Closes: #630699 / CVE-2011-1089.
   * Add patches/any/cvs-resolv-different-nameserver.diff to try a different
     nameserver if the first one returns REFUSED. Closes: #535504, #602291.
  * Update patches/svn-updates to revision 14337:
    - Remove any/cvs-glro_dl_debug_mask.diff (merged).
    - Remove i386/cvs-memmove-static.diff (merged).
  * debian/control: clean-up Uploaders: .
  * Add patches/any/cvs-fnmatch.diff to fix an integer overflow in
    fnmatch() (CVE-2011-1659). Closes: #626370.
  * Add an entry to NEWS.Debian about multiarch and passing flags to the
    compiler on pre-multiarch toolchains.
  * Replace sparc/submitted-ifunc2.diff by upstream version
    any/cvs-ifunc.diff.
  * Fix patches/hppa/submitted-nptl-carlos.diff to correctly pass
    --as-needed and --no-as-needed to the linker.
  * Update breaks on pre-multiarch packages. Closes: #631907.
  * libc.preinst: improve and simplify search for old libraries, detect
    broken LD_LIBRARY_PATH. Closes: #630608.
  * libc.postrm: remove support code from Sarge.
  * rules.d/debhelper.mk: install bug files using dh_bugfiles.

  [ Petr Salinger ]
  * kfreebsd/local-sysdeps.diff: update to revision 3501 (from glibc-bsd).
    to fix <bits/siginfo.h>. Closes: #631867.
  * Drop kfreebsd/local-ftw.diff, needed only for pre 8.0 kernels.

eglibc (2.13-7) unstable; urgency=low

  [ Aurelien Jarno ]
  * Update paths to the memcpy wrapper in NEWS.Debian.gz. Closes:
    #630138.
  * Fix preinst script wrt 3.0 kernel. Patch by Colin Watson. Closes:
    #630077.
  * debian/sysdeps/linux.mk: correctly check from multiarch asm/ include
    directory.
  * Add patches/sparc/cvs-ifunc1.diff and patches/sparc/submitted-ifunc2.diff
    to fix multi-arch support on sparc. Update sysdeps/sparc.mk and
    sysdeps/sparc64.mk to re-enable multi-arch support on sparc and sparc64.
    Closes: #625607.
  * debhelper.in/libc.preinst: improve error message when an old copy of ld.so
    is found. Closes: #629983.
  * debhelper.in/libc.preinst: automatically remove leftovers from libc5 to
    libc6 transition (upgrade from Bo to Hamm). Closes: #629534.
 -- Matthias Klose <email address hidden> Sat, 02 Jul 2011 11:05:07 +0200

Changed in eglibc (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Rolf Leggewie (r0lf) wrote :

Maverick has long since stopped to receive any updates. Marking the Maverick task for this ticket as "Won't Fix".

Changed in libnih (Ubuntu Maverick):
status: New → Won't Fix
Revision history for this message
Rolf Leggewie (r0lf) wrote :

maverick has seen the end of its life and is no longer receiving any updates. Marking the maverick task for this ticket as "Won't Fix".

Changed in eglibc (Ubuntu Maverick):
status: Confirmed → Won't Fix
Revision history for this message
Rolf Leggewie (r0lf) wrote :

natty has seen the end of its life and is no longer receiving any updates. Marking the natty task for this ticket as "Won't Fix".

Changed in eglibc (Ubuntu Natty):
status: Confirmed → Won't Fix
Rolf Leggewie (r0lf)
Changed in libnih (Ubuntu Natty):
status: New → Won't Fix
Revision history for this message
Rolf Leggewie (r0lf) wrote :

lucid has seen the end of its life and is no longer receiving any updates. Marking the lucid task for this ticket as "Won't Fix".

Changed in eglibc (Ubuntu Lucid):
status: Confirmed → Won't Fix
Rolf Leggewie (r0lf)
Changed in libnih (Ubuntu Lucid):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.