Bug 1403760

Summary: [dovecot] tests failures on big endian arches
Product: [Fedora] Fedora Reporter: Dan Horák <dan>
Component: dovecotAssignee: Michal Hlavinka <mhlavink>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dexter, janfrode, mhlavink, pokorra.mailinglists, than
Target Milestone: ---   
Target Release: ---   
Hardware: ppc64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-15 09:02:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 467765, 1071880    

Description Dan Horák 2016-12-12 10:40:00 UTC
The sha3 tests now fail on ppc64 and s390x, I suspect some big endian related issues.

from build.log
...
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.PxAnQD
+ umask 022
+ cd /builddir/build/BUILD
+ cd dovecot-2.2.27
+ make check
Making check in .
make[1]: Entering directory '/builddir/build/BUILD/dovecot-2.2.27'
/bin/sh ./update-version.sh . .
make[1]: Leaving directory '/builddir/build/BUILD/dovecot-2.2.27'
Making check in src
make[1]: Entering directory '/builddir/build/BUILD/dovecot-2.2.27/src'
Making check in lib-test
make[2]: Entering directory '/builddir/build/BUILD/dovecot-2.2.27/src/lib-test'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/builddir/build/BUILD/dovecot-2.2.27/src/lib-test'
Making check in lib
make[2]: Entering directory '/builddir/build/BUILD/dovecot-2.2.27/src/lib'
for bin in test-lib; do \
  if !  ./$bin; then exit 1; fi; \
done
aqueue ............................................................... : ok
...
hash_format .......................................................... : ok
hash method md4 ...................................................... : ok
hash method md5 ...................................................... : ok
hash method sha1 ..................................................... : ok
hash method sha256 ................................................... : ok
hash method sha512 ................................................... : ok
hash method sha3-256 ................................................. : ok
hash method sha3-512 ................................................. : ok
hash method size ..................................................... : ok
hash method md4 (test vectors) ....................................... : ok
hash method md5 (test vectors) ....................................... : ok
hash method sha1 (test vectors) ...................................... : ok
test-hash-method.c:342: Assert(#9) failed: memcmp(result, test_vectors[i].output, test_vectors[i].olen) == 0
test-hash-method.c:342: Assert(#10) failed: memcmp(result, test_vectors[i].output, test_vectors[i].olen) == 0
test-hash-method.c:342: Assert(#11) failed: memcmp(result, test_vectors[i].output, test_vectors[i].olen) == 0
test-hash-method.c:342: Assert(#12) failed: memcmp(result, test_vectors[i].output, test_vectors[i].olen) == 0
hash method sha3-256 (test vectors) .................................. : FAILED
test-hash-method.c:342: Assert(#13) failed: memcmp(result, test_vectors[i].output, test_vectors[i].olen) == 0
test-hash-method.c:342: Assert(#14) failed: memcmp(result, test_vectors[i].output, test_vectors[i].olen) == 0
test-hash-method.c:342: Assert(#15) failed: memcmp(result, test_vectors[i].output, test_vectors[i].olen) == 0
test-hash-method.c:342: Assert(#16) failed: memcmp(result, test_vectors[i].output, test_vectors[i].olen) == 0
hash method sha3-512 (test vectors) .................................. : FAILED
binary to hex ........................................................ : ok
binary to hex ucase .................................................. : ok
binary to hex ucase .................................................. : ok
hex to binary ........................................................ : ok
ioloop timeout ....................................................... : ok
ioloop find fd conditions ............................................ : ok
ioloop pending io .................................................... : ok
ioloop fd ............................................................ : ok
...
fatal_printf_format_fix .............................................. : ok
2 / 268 tests failed
make[2]: Leaving directory '/builddir/build/BUILD/dovecot-2.2.27/src/lib'
make[2]: *** [Makefile:2182: check-test] Error 1
make[1]: *** [Makefile:493: check-recursive] Error 1
make[1]: Leaving directory '/builddir/build/BUILD/dovecot-2.2.27/src'
RPM build errors:
make: *** [Makefile:619: check-recursive] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.PxAnQD (%check)
    Bad exit status from /var/tmp/rpm-tmp.PxAnQD (%check)
Child return code was: 1
EXCEPTION: [Error()]

for full logs please see https://koji.fedoraproject.org/koji/taskinfo?taskID=16807386


Version-Release number of selected component (if applicable):
dovecot-2.2.27-1.fc26

Comment 1 Dan Horák 2016-12-12 17:28:12 UTC
a s390 build is at http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=2421235

Comment 2 Than Ngo 2016-12-14 09:06:53 UTC
i created the patch which fixes the issue. The patch was sent to upstream for review yesterday. Aki (Upstreame) promises to review it today

Comment 3 Than Ngo 2016-12-15 09:02:56 UTC
it's fixed in dovecot-2.2.27-2.fc26

https://koji.fedoraproject.org/koji/taskinfo?taskID=16888900