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

Re: Bowtie segfaults in pbuilder chroot at build time (Was: Issue with new version of Bowtie)



On Thu, 2017-09-21 at 08:27 +0200, Andreas Tille wrote:
> Hi Steffen,
> 
> On Wed, Sep 20, 2017 at 10:52:55PM +0200, Steffen Möller wrote:
> > > ...
> > > Error testing example
> > > --- tests/example6.out 2017-09-20 13:07:01.000000000 +0000 +++
> > > example6.out 2017-09-20 13:13:53.186064608 +0000 @@ -1 +1,5 @@ -
> > > gi|110640213|ref|NC_008253.1| 2852852 8:T>A +-
> > > gi|110640213|ref|NC_008253.1| 148810 10:A>G,13:C>G ++
> > > gi|110640213|ref|NC_008253.1| 1093035 2:T>G,15:A>T +-
> > > gi|110640213|ref|NC_008253.1| 905664 6:A>G,7:G>T +-
> > > gi|110640213|ref|NC_008253.1| 4930433 4:G>T,6:C>G
> > > debian/rules:46: recipe for target 'override_dh_auto_test' failed
> > > make[1]: *** [override_dh_auto_test] Error 1
> > > make[1]: Leaving directory '/build/bowtie-1.2.1.1+dfsg'
> > > debian/rules:14: recipe for target 'build' failed
> > > make: *** [build] Error 2
> > > dpkg-buildpackage: error: debian/rules build gave error exit status 2
> > > I: copying local configuration
> > > E: Failed autobuilding of package
> > > I: user script
> > > /var/cache/pbuilder/build/cow.8814/tmp/hooks/C99_failed_build starting
> > > root@wr-linux01:/# cd build/bowtie-1.2.1.1+dfsg/
> > > root@wr-linux01:/build/bowtie-1.2.1.1+dfsg# ./bowtie
> > > Segmentation fault
> > > root@wr-linux01:/build/bowtie-1.2.1.1+dfsg# ./bowtie --version
> > > Segmentation fault
> > > 
> > > 
> > > You need to setup a pbuilder hook to be able to stop the build and
> > > end up inside the pbuilder chroot.
> > 
> > Hm. I feel like building that outside the chroot ;)
> > 
> > > root@wr-linux01:/build/bowtie-1.2.1.1+dfsg# apt-get install gdb
> > > Reading package lists... Done
> > > Building dependency tree       
> > > Reading state information... Done
> > > The following additional packages will be installed:
> > >   libbabeltrace-ctf1 libbabeltrace1 libdw1 libelf1 libmpdec2 libpopt0
> > > libpython3.5 libpython3.5-minimal libpython3.5-stdlib
> > > ...
> > > root@wr-linux01:/build/bowtie-1.2.1.1+dfsg# gdb --args bowtie-align-s --
> > > wrapper basic-0
> > > GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
> > > ...
> > > Type "apropos word" to search for commands related to "word"...
> > > Reading symbols from bowtie-align-s...done.
> > > (gdb) run
> > > Starting program: /build/bowtie-1.2.1.1+dfsg/bowtie-align-s --wrapper
> > > basic-0
> > > [Thread debugging using libthread_db enabled]
> > > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> > > 
> > > Program received signal SIGSEGV, Segmentation fault.
> > > 0x00007ffff652003e in dlsym () from /lib/x86_64-linux-gnu/libdl.so.2
> > > (gdb)
> > >  
> > > 
> > > Same happens when testing bowtie-align-l.
> > > 
> > > 
> > > Does this ring a bell somehow?
> > 
> > Sounds like a missing dynamic library?
> > 
> > ldd bowtie-align-l gives me
> > 
> >         linux-vdso.so.1 (0x00007ffcb73f3000)
> >         libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007faf4d456000)
> >         libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
> > (0x00007faf4d239000)
> >         libtbb.so.2 => /usr/lib/x86_64-linux-gnu/libtbb.so.2
> > (0x00007faf4cffb000)
> >         libtbbmalloc_proxy.so.2 =>
> > /usr/lib/x86_64-linux-gnu/libtbbmalloc_proxy.so.2 (0x00007faf4cdf7000)
> >         libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
> > (0x00007faf4ca78000)
> >         libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007faf4c774000)
> >         libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
> > (0x00007faf4c55d000)
> >         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faf4c1c0000)
> >         /lib64/ld-linux-x86-64.so.2 (0x00007faf4d94c000)
> >         libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007faf4bfbc000)
> >         librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007faf4bdb4000)
> >         libatomic.so.1 => /usr/lib/x86_64-linux-gnu/libatomic.so.1
> > (0x00007faf4bbac000)
> >         libtbbmalloc.so.2 => /usr/lib/x86_64-linux-gnu/libtbbmalloc.so.2
> > (0x00007faf4b96e000)
> > 
> > anything reported missing by ldd in your pbuilder environment?
> 
> Inside pbuilder chroot:
> 
> root@wr-linux01:/build/bowtie-1.2.1.1+dfsg# ldd bowtie-align-
> l                  
>         linux-vdso.so.1 (0x00007ffe9511a000)
>         /usr/lib/cowdancer/libcowdancer.so (0x00007f56d5209000)
>         libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f56d4feb000)
>         libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
> (0x00007f56d4dce000)
>         libtbb.so.2 => /lib/x86_64-linux-gnu/libtbb.so.2 (0x00007f56d4b90000)
>         libtbbmalloc_proxy.so.2 => /lib/x86_64-linux-
> gnu/libtbbmalloc_proxy.so.2 (0x00007f56d498c000)
>         libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6
> (0x00007f56d460b000)
>         libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f56d4307000)
>         libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
> (0x00007f56d40f0000)
>         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f56d3d53000)
>         libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f56d3b4f000)
>         libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5
> (0x00007f56d392b000)
>         libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5
> (0x00007f56d36ff000)
>         /lib64/ld-linux-x86-64.so.2 (0x0000561b175bb000)
>         librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f56d34f7000)
>         libatomic.so.1 => /lib/x86_64-linux-gnu/libatomic.so.1
> (0x00007f56d32ef000)
>         libtbbmalloc.so.2 => /lib/x86_64-linux-gnu/libtbbmalloc.so.2
> (0x00007f56d30b1000)
> 
> That looks pretty similar and no visible missing. 
> 
> Kind regards
> 
>      Andreas.
> 

Hi,

Not part of the project and saw this on mentors.

1. Parallel build.

// Diff starts  on line below.
diff --git a/debian/rules b/debian/rules
index 7919361..b536ce7 100755
--- a/debian/rules
+++ b/debian/rules
@@ -11,7 +11,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 pkg := $(shell dpkg-parsechangelog | sed -n 's/^Source: //p')
 
 %:
-       dh $@
+       dh $@ --parallel
 
 override_dh_auto_build:
        $(MAKE) allall
// Diff ends on line above.

2. At error the unit tests should dump a diff to std error.

The script is very old style and has errors.

// Diff starts  on line below.
diff --git a/debian/tests/run-unit-test b/debian/tests/run-unit-test
index dfcb0e5..1335a4b 100644
--- a/debian/tests/run-unit-test
+++ b/debian/tests/run-unit-test
@@ -5,19 +5,19 @@ if [ "$1" = "test_at_build_time" ] ; then
 else
     pkg=bowtie
     if [ "$ADTTMP" = "" ] ; then
-      ADTTMP=`mktemp -d /tmp/${pkg}-test.XXXXXX`
+      ADTTMP=$(mktemp -d /tmp/${pkg}-test.XXXXXX)
     fi
-    mkdir -p $ADTTMP/tests
-    cp -a debian/tests/example* $ADTTMP/tests
-    cd $ADTTMP
-    cp -a /usr/share/doc/bowtie/examples/indexes $ADTTMP
+    mkdir -p "$ADTTMP"/tests
+    cp -a debian/tests/example* "$ADTTMP"/tests
+    cd "$ADTTMP"
+    cp -a /usr/share/doc/bowtie/examples/indexes "$ADTTMP"
 fi
 
 check_result () {
-    EDIFF=`diff -u tests/$1.out $1.out`
+    EDIFF=$(diff -u tests/"$1".out "$1".out)
     if ! $EDIFF ; then
         echo "Error testing example"
-        echo $EDIFF
+        echo "$EDIFF"
         exit 1
     else
         echo "$1 OK"
// Diff ends on line above.

A diff is now outputted at example6.

Regards

Phil


-- 
*** If this is a mailing list, I am subscribed, no need to CC me.***

Playing the game for the games sake.

Web: https://kathenas.org

GitLab: https://gitlab.com/kathenas

Twitter: kathenasorg

Instagram: kathenasorg

GPG: 1B97 6556 913F 73F3 9C9B 25C4 2961 D9B6 2017 A57A

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: