murmurhash3 test failures on big-endian systems

Aki Tuomi aki.tuomi at dovecot.fi
Mon Mar 26 15:55:33 EEST 2018



On 26.03.2018 15:49, Apollon Oikonomopoulos wrote:
> Hi,
>
> The dovecot 2.3.0.1 Debian package currently fails to build on all 
> big-endian architectures[1], due to murmurhash3 tests failing. The 
> relevant output from e.g. s390x is:
>
>  test-murmurhash3.c:22: Assert(#8) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#11) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#12) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  murmurhash3 (murmurhash3_32) ......................................... : FAILED
>  test-murmurhash3.c:22: Assert(#1) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#2) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#3) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#4) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#5) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#6) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#7) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#8) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#9) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#10) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#11) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#12) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  test-murmurhash3.c:22: Assert(#13) failed: memcmp(result, vectors[i].result, sizeof(result)) == 0
>  murmurhash3 (murmurhash3_128) ........................................ : FAILED
>
> Looks like the murmurhash3 implementation in Dovecot is currently broken on
> big-endian systems.
>
> Regards,
> Apollon
>
> [1] https://buildd.debian.org/status/package.php?p=dovecot&suite=experimental
Hi!

Thanks for reporting this, we'll look at it. It's not going to get fixed
on 2.3.1 though, but we can provide a patch for that.

Aki


More information about the dovecot mailing list