[Bug 1903817] Re: Clustalo 1.2.4-6 segfaults on s390x
Christian Ehrhardt
1903817 at bugs.launchpad.net
Tue Nov 17 09:47:01 UTC 2020
The crash happens in 5.4.0-51-generic and a Hirsute LXD container therein.
But also in a Hirsute VM under 5.8.0-25-generic
On the latter the crash looks like (similar):
[520179.980824] report_user_fault: 5 callbacks suppressed
[520179.980827] User process fault: interruption code 003b ilc:3 in clustalo[2aa05900000+aa000]
[520179.980842] Failing address: 00000000ddf7c000 TEID: 00000000ddf7c800
[520179.980843] Fault in primary space mode while using user ASCE.
[520179.980845] AS:0000000028f281c7 R3:0000000000000024
[520179.980852] CPU: 1 PID: 83822 Comm: clustalo Not tainted 5.8.0-25-generic #26-Ubuntu
[520179.980853] Hardware name: IBM 2964 N63 400 (KVM/Linux)
[520179.980855] User PSW : 0705200180000000 000002aa059176e2
[520179.980857] R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:1 AS:0 CC:2 PM:0 RI:0 EA:3
[520179.980858] User GPRS: 0000000000000004 0000000000000000 000003ffddf7c838 00000000ddf7c7d0
[520179.980859] 000002aa05e2b1d8 0000000000000001 0000000000000000 000002aa05e29f00
[520179.980860] 000003ffddf7c7e0 000003ffddf7c840 0000000000000000 0000000000000001
[520179.980860] 000003ffbe7abf98 000003ffddf7c998 000002aa05917682 000003ffddf7c568
[520179.980872] User Code: 000002aa059176d0: e330f0c80004 lg %r3,200(%r15)
000002aa059176d6: e32090280004 lg %r2,40(%r9)
#000002aa059176dc: eb1a0002000d sllg %r1,%r10,2
>000002aa059176e2: e35130000014 lgf %r5,0(%r1,%r3)
000002aa059176e8: e34180000014 lgf %r4,0(%r1,%r8)
000002aa059176ee: 6080f0c0 std %f8,192(%r15)
000002aa059176f2: b9040037 lgr %r3,%r7
000002aa059176f6: a7ab0001 aghi %r10,1
[520179.980883] Last Breaking-Event-Address:
[520179.980893] [<000003ffbe28d144>] 0x3ffbe28d144
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-10 in Ubuntu.
https://bugs.launchpad.net/bugs/1903817
Title:
Clustalo 1.2.4-6 segfaults on s390x
Status in Ubuntu on IBM z Systems:
New
Status in clustalo package in Ubuntu:
New
Status in gcc-10 package in Ubuntu:
New
Bug description:
Hi,
with gcc-10.2 clustalo segfaults on s390x.
First of all I beg your pardon, but I didn't find an upstream bug tracker for custalo but
think you should be aware. But furthermore I think this might eventually be a gcc bug (or at least needs the s390x gcc experts to look at).
I decided to open this bug to track things and have a joint conversation, but then ping the custalo mail about it and let it be mirrored to IBM.
Issue:
I see this with the test used in Debian:
# Run additional test from python-biopython package to verify that
# this will work as well
src/clustalo -i debian/tests/biopython_testdata/f002 --guidetree-out temp_test.dnd -o temp_test.aln --outfmt clustal --force
We run into this segfault:
Thread 9 "clustalo" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x3fff9ef8870 (LWP 55818)]
0x000002aa000176e2 in PairDistances._omp_fn.0 () at pair_dist.c:353
353 KTuplePairDist((*distmat), mseq, iChunkStarts[iChunk],
(gdb) bt
#0 0x000002aa000176e2 in PairDistances._omp_fn.0 () at pair_dist.c:353
#1 0x000003fffdaa2066 in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:123
#2 0x000003fffd709556 in start_thread (arg=0x3fff9ef8870) at pthread_create.c:463
#3 0x000003fffd921d46 in thread_start () at ../sysdeps/unix/sysv/linux/s390/s390-64/clone.S:65
Debugging showed that this is depending on the optimization, when I build
with -O0 (for debugging) the problem goes away.
A usual build uses -O3 (from the build system) followed by -g -O2 (from the
default Debian build flags). For the time being we can avoid the issue by
setting -O0 there. But I wanted to ask if this is something you could look into?
In valgrind I see this reported as "Invalid read of size 4"
In the backtrace it is:
gdb) p $_siginfo
$3 = {si_signo = 11, si_errno = 0, si_code = 1, _sifields = {_pad = {0, -16384, 0 <repeats 26 times>}, _kill = {si_pid = 0, si_uid = 4294950912}, _timer = {si_tid = 0, si_overrun = -16384,
si_sigval = {sival_int = 0, sival_ptr = 0x0}}, _rt = {si_pid = 0, si_uid = 4294950912, si_sigval = {sival_int = 0, sival_ptr = 0x0}}, _sigchld = {si_pid = 0, si_uid = 4294950912,
si_status = 0, si_utime = 0, si_stime = 0}, _sigfault = {si_addr = 0xffffc000}, _sigpoll = {si_band = 4294950912, si_fd = 0}}}
The instructions are
│ 0x2aa000176d6 <PairDistances._omp_fn.0+246> lg %r2,40(%r9) │
│ 0x2aa000176dc <PairDistances._omp_fn.0+252> sllg %r1,%r10,2 │
│ >0x2aa000176e2 <PairDistances._omp_fn.0+258> lgf %r5,0(%r1,%r3) │
│ 0x2aa000176e8 <PairDistances._omp_fn.0+264> lgf %r4,0(%r1,%r8)
So it tries to load from
r3 0xffffcf80 4294954880
+ r1 0x24 36
into r5
And that matches the segfault address of si_addr = 0xffffc000
@IBM
to reproduce:
1. get an Ubuntu 20.10 system on s390x (or anything with gcc-10.2 while OTOH it seems gcc-10 was fine).
2. edit /etc/apt/sources.list
2a) add deb-src lines to be able to get the source
2b) enable proposed to be able to get custalo 1.2.4-6
3. run the build
$ ./debian/rules build
This will end in the crash that is to debug.
@Custalo people:
If you need s390x system access please check out the IBM Community cloud [1][2]
which should give you a free VM.
[1]: https://developer.ibm.com/components/ibm-linuxone/gettingstarted/?_ga=2.85909726.636290536.1605082467-259352313.1597225455
[2]: https://zcloud.marist.edu/#/login
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1903817/+subscriptions
More information about the foundations-bugs
mailing list