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




On Thu, 2017-09-21 at 15:12 +0200, Andreas Tille wrote:

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.  

  1. 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.

Hi,

True with compat 10 --parallel nor needed.

The shell script changes were due to getting garbled output at end of pbuilder builds. The changes rectify that.

Still looking at why I get seg faults sometimes and not others.

I have added a few post release git fixes to my tree and will test later.

https://github.com/BenLangmead/bowtie/commit/1f37e940f3df319b78eee0e0f0f87c3d30a d95de

https://github.com/BenLangmead/bowtie/commit/e31c2e127a5605f7105bd6c31a13a895310 9fa3f

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: