besser82/libxcrypt

`test-getrandom-fallbacks` fails reproducibly on 32 bit arches

Closed this issue · 3 comments

-----BEGIN TESTLOG-----
====================================
   xcrypt 4.0.1: ./test-suite.log
====================================
# TOTAL: 27
# PASS:  26
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: test-getrandom-fallbacks
==============================
ok: initial (output)
ok: getentropy (return)
ok: getentropy (output)
ok: getrandom (return)
ok: getrandom (output)
ok: sys_getrandom (return)
ok: sys_getrandom (output)
ok: /dev/urandom (return)
FAIL: /dev/urandom: buffer not filled with 'u'
FAIL: final: get_random_bytes: Function not implemented
FAIL test-getrandom-fallbacks (exit status: 1)
-----END TESTLOG-----

Is there any other information I can supply you with?

From what I could find out, yet: It seems on 32 bit arches for some reason -Wl,--wrap,open seems to have no effect.

Tested with Fedora{27,28,29} armv7hl.

zackw commented

This is because on 32-bit architectures we use -D_FILE_OFFSET_BITS=64, which means open in the source code actually calls open64 in the C library. Should be fixed by 8fb52d9; I'll close this after CI goes green.

Issue is fixed. Thank you! The two failing builds in TravisCI are not related and will be fine as soon as I updated libxcrypt on Fedora 28.