Re: Bowtie segfaults in pbuilder chroot at build time (Was: Issue with new version of Bowtie)
Hi Phil,
thanks for your attempt to help.
On Thu, Sep 21, 2017 at 12:15:50PM +0100, Phil Wyett wrote:
> 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.
That's redundant since debian/compat=10 is used.
> 2. At error the unit tests should dump a diff to std error.
>
> The script is very old style and has errors.
Well, its old style but you replaced `` by $() which has the same
result und adding "" around variables is probably better style but
not solving any problem here. Or am I missing something?
> // 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.
That's no change at all. The point is that *after* outputting the
diff (which is the very same as without your changes) the segfault
happens again. The *very* strange thing is that the test suite
works until example5 bit if I force an error before running the
script and run it manually inside the chroot
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# sh debian/tests/run-unit-test test_at_build_time
Segmentation fault
debian/tests/run-unit-test: 18: debian/tests/run-unit-test: ---: not found
Error testing example
--- tests/example1.out 2017-09-21 12:55:02.000000000 +0000
+++ example1.out 2017-09-21 13:07:54.755536757 +0000
@@ -1,5 +0,0 @@
-- gi|110640213|ref|NC_008253.1| 148810 10:A>G,13:C>G
-- gi|110640213|ref|NC_008253.1| 2852852 8:T>A
-- gi|110640213|ref|NC_008253.1| 4930433 4:G>T,6:C>G
-- gi|110640213|ref|NC_008253.1| 905664 6:A>G,7:G>T
-+ gi|110640213|ref|NC_008253.1| 1093035 2:T>G,15:A>T
root@wr-linux01:/build/bowtie-1.2.1.1+dfsg# bash debian/tests/run-unit-test test_at_build_time
debian/tests/run-unit-test: line 27: 24652 Segmentation fault bowtie -a -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT > example1.out
debian/tests/run-unit-test: line 18: ---: command not found
Error testing example
--- tests/example1.out 2017-09-21 12:55:02.000000000 +0000
+++ example1.out 2017-09-21 13:08:04.855722853 +0000
@@ -1,5 +0,0 @@
-- gi|110640213|ref|NC_008253.1| 148810 10:A>G,13:C>G
-- gi|110640213|ref|NC_008253.1| 2852852 8:T>A
-- gi|110640213|ref|NC_008253.1| 4930433 4:G>T,6:C>G
-- gi|110640213|ref|NC_008253.1| 905664 6:A>G,7:G>T
-+ gi|110640213|ref|NC_008253.1| 1093035 2:T>G,15:A>T
The problem happens even for example1. So I keep on thinking that
running inside the chroot is evident to reproduce the problem and
the script itself is not the problem even if it produces strange
effects. I would love to hear further opinions to the gdb output
I provided in my first mail to this thread on debian-mentors.
Kind regards
Andreas.
--
http://fam-tille.de
Reply to: