mirror of
https://github.com/google/brotli.git
synced 2026-07-08 17:56:58 +00:00
Ubuntu armhf build test failure #217
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jbicha on GitHub (Mar 14, 2018).
The build tests for brotli 1.0.3 fail on armhf on Ubuntu 18.04 but they passed with 1.0.2.
It does build on Debian's armhf, but I'm told that Ubuntu's builder is a bit different. If I understand correctly, Ubuntu's armhf builder is actually an arm64 machine that emulates armhf. It was suggested that this might be an alignment bug.
Full build log at
https://launchpad.net/ubuntu/+source/brotli/1.0.3-1/+build/14449807
The Debian build logs are at
https://buildd.debian.org/status/package.php?p=brotli
(Just click
Installed)Build log excerpt
@eustas commented on GitHub (Mar 14, 2018):
Going to investigate ASAP (on Thursday)
@thinred commented on GitHub (Mar 15, 2018):
I suspect it's the same as https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892895.
EDIT: ofc it is, it points to the same launchpad link :). I was fooled by two different submitters.
@eustas commented on GitHub (Mar 15, 2018):
Plain clang sanitizer does not catch the problem. Trying
QEMU+chrootfor emulating armhf...@eustas commented on GitHub (Mar 19, 2018):
Failed to emulate with
QEMU+chroot, but managed to do it with docker.Still, emulation seems to be weak - wasn't able to reproduce the bug.
Attached the binary I got by cross-compiling to
arm32v7underaarch64. I would appreciate if you test it in your environment, e.g.brotli -Zfkw 10 some-compressible-file. Also it would be nice if you share the executable which fails, so I would be able to play with it. Thanks.brotli.gz
@eustas commented on GitHub (Mar 21, 2018):
Got RPi3 into my hands. Unfortunately, it thinks that it is
BCM2709(armv7) instead ofBCM2837(armv8/aarch64). Is there an easy way to fix it?@eustas commented on GitHub (Mar 22, 2018):
Running openSUSE (
aarch64) on RPi3. Looking for the ways to simulate whatsbuilddoes, i.e. cross-compile and run (32-bit)armhfbinary.@eustas commented on GitHub (Mar 23, 2018):
Was able to reproduce. Fails in
platform.h:200.BrotliUnalignedWrite64. Going to dig why it is triggered inarmhfunderaarch64build.@eustas commented on GitHub (Mar 23, 2018):
It seems that problem is not with any unaligned memory access, but specific to 64-bit read/write in 32-bit mode. Going to see if there is elegant workaround for this.
@eustas commented on GitHub (Mar 26, 2018):
According to How does the ARM Compiler support unaligned accesses?:
Actually,
LDRD/STRDare emitted forBrotliUnalignedXxx64.@eustas commented on GitHub (Mar 28, 2018):
Should be fixed with #656. Going to release v1.0.4 soon
@eustas commented on GitHub (Apr 10, 2018):
Changes released in v1.0.4