[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)



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: