Re: Bowtie segfaults in pbuilder chroot at build time (Was: Issue with new version of Bowtie)
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:18: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: