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




On 20.09.17 15:44, Andreas Tille wrote:

[switching back to list discussion also involving debian-mentors. Please see the gdb output below I get when installing gdb inside the pbuilder chroot.]

Hi Steffen,

On Wed, Sep 20, 2017 at 02:26:20PM +0200, Steffen Möller wrote:

/build/bowtie-1.2.1.1+dfsg# ./bowtie -a -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT Segmentation fault

I intended to open an issue on Github but when doing so I wanted to leave a proof that we are using the latest upstream version:

/build/bowtie-1.2.1.1+dfsg# ./bowtie -v Segmentation fault

Hups, I think something is wrong at our side and the build has a problem.

Has anybody some spare cylces to track this down? Any volunteer?

Not really, except that on my virtual machine "bowtie -v" shows the expected (long) usage information. I guess you try to test the existing bowtie package. Please note that I was talking about the new version in Git which I try to build and the segfault happens in the pbuilder chroot (I just learned that you are rarely using pbuilder - see subsequent fast5 uploads :-P ).

I was using it (for -2  and later versions at least), but for some weird reason that issue did not surface in pbulder (if you allow me to point to your  -5 upload) or was only spotted during my building of a reverse dependency.

So please try to build latest Git (git.debian.org seems to be offline currently). It is back. I get:

... 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 ;)

So, I cannot immediately reproduce the behaviour you observe. What does "bowtie --version" do for you?  See above - but we are most probably talking about different things.

Hm.

So, I get this:

example5 OK

reads processed: 5

reads with at least one reported alignment: 5 (100.00%)

reads that failed to align: 0 (0.00%)

Reported 5 alignments to 1 output stream(s) debian/tests/run-unit-test: 18: debian/tests/run-unit-test: ---: not found Error testing example --- tests/example6.out 2017-09-20 22🔞16.708036897 +0200 +++ example6.out 2017-09-20 22:25:50.634724676 +0200 @@ -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 '/home/moeller/git/debian-med/bowtie' debian/rules:14: recipe for target 'binary' failed make: *** [binary] Error 2

I interpret this like the first 5 examples being fine, just the 6th failing. When executign directly, I get

$ ./bowtie -a --best --strata -v 2 --suppress 1,5,6,7 e_coli -c ATGCATCATGCGCCAT -       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

reads processed: 5

reads with at least one reported alignment: 5 (100.00%)

reads that failed to align: 0 (0.00%)

So, this works, basically. But the tests/example6.out file has only the first line of the five returned.

Should we add "bowtie -v" as an autotest, just testing that it does not crash but that it exits with a bad code ( == 1) ? I assume this test will not be necessary since it is not really bowtie -v which breaks but any call of bowtie segfaults inside the pbuilder environment.

I cannot confirm that - but I had not built inside pbuilder.

Another question to me is why we do not have a bowtie-dbgsym package. Where is it? No idea but hey, I installed gdb into the pbuilder environment and did:

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?

Many thanks and greetings

Steffen


Reply to: