murmurhash3 test failures on big-endian systems

Apollon Oikonomopoulos apoikos at debian.org
Mon Mar 26 15:57:01 EEST 2018


Hi Aki,

On 15:55 Mon 26 Mar     , Aki Tuomi wrote:
> 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.

I'd be happy to test the patch, thanks!

Apollon


More information about the dovecot mailing list