[Debian-med-packaging] Bug#956324: Clustalo bus error on mipsel (Was: Bug#956324: python-biopython: FTBFS on mipsel)

Andreas Tille tille at debian.org
Wed Apr 29 17:04:31 BST 2020


Hi Matthew,

On Wed, Apr 29, 2020 at 07:14:30AM -0700, Matthew Fernandez wrote:
> 
> To add another data point to this discussion, one other (fruitless) thing I tried previously was cross-compiling Clustal Omega. From an amd64 host, it’s possible to target mipsel using the GCC cross-compilers in the standard Debian repositories. You can then run the resulting binary using Qemu’s user mode. Using this technique, the f002 test runs to completion with no bus error. This is not really surprising as AFAIK unaligned accesses that would trigger a bus error on mipsel hardware would be silently allowed in this configuration (Qemu doesn’t faithfully emulate this hardware behaviour and amd64 allows unaligned access).
> 
> Unfortunately the repositories’ cross-compilers have been built without ASan enabled and you can’t attach to an emulated mipsel process with a native Valgrind. So debugging memory safety issues is not straightforward. To go further with this approach, you would have to build a mipsel-targeting cross-compiler with ASan enabled or cross-compile Valgrind to mipsel. For a true masochist, it may be possible to attach to the process with GDB or rr and reverse-step from the location Andreas has quoted, but I wouldn’t trust the debugger not to crash in this configuration. Even then the issue may not be reproducible because it may be dependent on transformations/optimizations only performed by the particular version of the native mipsel compiler called during packaging.

Thanks a lot for your effort.
 
> For those on this thread who have access to mipsel hardware or can shell in to one of the mipsel build machines, I would suggest running an ASan-instrumented test there (`export CFLAGS="-g -fsanitize=address"; export CXXFLAGS="-g -fsanitize=address"`) and see what we learn.

I tried on real hardware.  Unfortunately I'm running into



configure:3720: $? = 0
configure:3709: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/mipsel-linux-gnu/9/lto-wrapper
Target: mipsel-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 9.3.0-10' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=mipsel-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libsanitizer --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-multiarch --disable-werror --enable-multilib --with-arch-32=mips32r2 --with-fp-32=xx --with-madd4=no --with-lxc1-sxc1=no --enable-targets=all --with-arch-64=mips64r2 --enable-checking=release --build=mipsel-linux-gnu --host=mipsel-linux-gnu --target=mipsel-linux-gnu
Thread model: posix
gcc version 9.3.0 (Debian 9.3.0-10) 
configure:3720: $? = 0
configure:3709: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3720: $? = 1
configure:3709: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.
configure:3720: $? = 1
configure:3740: checking whether the C compiler works
configure:3762: gcc -g -O2 -fdebug-prefix-map=/home/tille/clustalo=. -fstack-protector-strong -Wformat -Werror=format-security -fsanitize=address -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c  >&5
/usr/bin/ld: cannot find libasan_preinit.o: No such file or directory
/usr/bin/ld: cannot find -lasan
collect2: error: ld returned 1 exit status
configure:3766: $? = 1
configure:3804: result: no
configure: failed program was:



I have no idea why libasan_preinit.o and libasan.a are not installed.
The package libgcc-9-dev is installed for sure and on amd64 both files
are included here.  It seems the sudo command on eller does not permit
me executing `apt-file update` in a chroot so I have no idea where these
files are on mipsel (if they exist at all).

Any more help from debian-mipsel is really appreciated.

Kind regards

      Andreas.

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list