On Sun, Mar 08, 2020 at 07:32:47PM +0100, Guido Aulisi wrote:
Hi,
I'm trying to debug a build failure of package lilv on ppc64le and arm
platforms, x86 builds fine.
[0] is the status of lilv package on Koschei
The build core dumps while executing tests, in particular lilv_test,
which uses sord library.
Dmesg output:
[292790.757364] lilv_test[603241]: segfault (11) at 8 nip 7fffaaaf59b0 lr 7fffaaaf59b8
code 1 in libsord-0.so.0.16.4[7fffaaaf0000+10000]
[292790.757375] lilv_test[603241]: code: 2e2a0000 3b800000 3b600000 60420000 419200b0
83be0000 7bba26e4 7efed214
[292790.757378] lilv_test[603241]: code: 83370010 eb170008 7b291f24 7d384a14
<e8690008> 4bffc52d e8410018 a1180000
Debugging is difficult because it must be done in the chroot of a ppc64le machine and no
gdb is available.
Another way to debug these is to add this line:
export LD_PRELOAD=%{_libdir}/libSegFault.so
at the beginning of your %check section. It will preload the glibc
libSegFault library which usually manages to dump a stack trace
whenever a program crashes. For example:
$ cat test.c
char main[] = { 0 };
$ gcc test.c
$ LD_PRELOAD=/lib64/libSegFault.so ./a.out
produces the attached output. (Hopefully the ‘Backtrace’ section
being a little bit more informative for your programs!)
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html