Clustalo 1.2.4-6 segfaults on s390x
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
Medium
|
bugproxy | ||
clustalo (Debian) |
Fix Released
|
Undecided
|
Unassigned | ||
clustalo (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
gcc-10 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
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/
We run into this segfault:
Thread 9 "clustalo" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x3fff9ef8870 (LWP 55818)]
0x000002aa000176e2 in PairDistances.
353 KTuplePairDist(
(gdb) bt
#0 0x000002aa000176e2 in PairDistances.
#1 0x000003fffdaa2066 in gomp_thread_start (xdata=<optimized out>) at ../../.
#2 0x000003fffd709556 in start_thread (arg=0x3fff9ef8870) at pthread_
#3 0x000003fffd921d46 in thread_start () at ../sysdeps/
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.
│ 0x2aa000176dc <PairDistances.
│ >0x2aa000176e2 <PairDistances.
│ 0x2aa000176e8 <PairDistances.
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/
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:/
[2]: https:/
tags: | added: update-excuse |
Changed in ubuntu-z-systems: | |
assignee: | nobody → Frank Heimes (fheimes) |
assignee: | Frank Heimes (fheimes) → bugproxy (bugproxy) |
tags: | added: reverse-proxy-bugzilla s390x |
Changed in ubuntu-z-systems: | |
importance: | Undecided → High |
tags: | added: architecture-s39064 bugnameltc-189191 severity-high targetmilestone-inin2004 |
Changed in ubuntu-z-systems: | |
importance: | High → Medium |
status: | New → Triaged |
Changed in ubuntu-z-systems: | |
status: | Triaged → Fix Released |
FYI: Temporary mitigation forwarded to Debian clustalo packaging at https:/ /salsa. debian. org/med- team/clustalo/ -/merge_ requests/ 1