On Sun, Apr 07, 2024 at 02:43:20PM +0000, tony mancill wrote:
> > > > Source: capnproto
> > > > Version: 1.0.1-3
> > > > Severity: serious
> > > > Tags: ftbfs
> > > > 
> > > > https://buildd.debian.org/status/fetch.php?pkg=capnproto&arch=armhf&ver=1.0.1-3%2Bb2&stamp=1711652087&raw=0
> 
> I am assuming that if the futux syscall here:
> 
> https://sources.debian.org/src/capnproto/1.0.1-3/src/kj/mutex.c%2B%2B/#L250
> 
> which also gets passed a timespec, was the culprit, that more things would be
> broken on armhf than just a few tests.  But that's an area I need to explore
> further.

So assumptions can be wrong... :)  Many thanks to Tom Lee for creating
a simple test case [1] that demonstrates the futex syscall returning
early on armhf + t64, while being successful on the same architecture
with the pre-t64 userspace and other architectures.

Results on the porter box with t64 userspace:

(sid_armhf-dchroot)$ uname -a
Linux abel 4.19.0-21-armmp-lpae #1 SMP Debian 4.19.249-2 (2022-06-30) armv7l 
GNU/Linux
(sid_armhf-dchroot)$ ./futex-test
futex returned too early: 26640 ns
(sid_armhf-dchroot)$ ./futex-test
futex returned too early: 34560 ns
(sid_armhf-dchroot)$ ./futex-test
futex returned too early: 23920 ns
(sid_armhf-dchroot)$ ./futex-test
futex returned too early: 33560 ns

Running the same code compiled against the bookworm userspace on the
same armhf porterbox is successful:

(bookworm_armhf-dchroot)$ uname -a
Linux abel 4.19.0-21-armmp-lpae #1 SMP Debian 4.19.249-2 (2022-06-30) armv7l 
GNU/Linux
(bookworm_armhf-dchroot)$ ./futex-test-bookworm
ok: 10069107
(bookworm_armhf-dchroot)$ ./futex-test-bookworm
ok: 10067586
(bookworm_armhf-dchroot)$ ./futex-test-bookworm
ok: 10068587
(bookworm_armhf-dchroot)$ ./futex-test-bookworm
ok: 10068187
(bookworm_armhf-dchroot)$ ./futex-test-bookworm
ok: 10069026


This may be a naive question, but since we're dealing with a syscall
that passes a timespec, is there a minimum kernel version required for
the time_t 64 userspace?

In any event, I'm not sure about the next steps here.  Any suggestions?
Should I work with DSA to try to get a porter box with a newer kernel to
confirm that that resolves the issue with the test?  (I think this would
have eventual implications for the buildds.)

Thank you,
tony

[1] 
https://gist.githubusercontent.com/thomaslee/e8484eeae64004e2a3be8be88e2e25e8/raw/e9edc3025d54afbff6b0492998ee624d8b2ac317/futex-test.c

Attachment: signature.asc
Description: PGP signature

Reply via email to