On Sun, Apr 07, 2024 at 01:49:35PM +0500, Andrey Rakhmatullin wrote:
> On Sat, Apr 06, 2024 at 10:31:52PM +0000, tony mancill wrote:
> > On Fri, Mar 29, 2024 at 12:13:57AM +0500, Andrey Rakhmatullin 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
> > 
> > Thank you for the bug report.  I'm not able to reproduce the test
> > failure when cross-building on amd64, so am in the process of triaging
> > on a porter box.
> Does it fail on a porter box?
> As a (useless?) data point I've just tried building it in a qemu chroot
> and some other tests failed, e.g. AsyncIo/AncillaryMessageHandler and
> AsyncIo/ScmRightsTruncatedOdd so it's not useful.

Yes, the failure is consistent on the porter box.  It's still quite
early in my investigation (and I'm not slow at this sort of stuff).

My first hypothesis was that usleep() might behave differently, but
there is no evidence to support that.

Now I'm trying to decide whether the difference in the timespec struct
contributes to the issue:

on armhf:
Size of timespec.tz_sec: 8 byte
Size of timespec.tz_nsec: 4 byte

Everywhere else:
Size of timespec.tz_sec: 8 byte
Size of timespec.tz_nsec: 8 byte

I'm focused on this code:

https://sources.debian.org/src/capnproto/1.0.1-3/src/kj/mutex.c%2B%2B/#L157-L173

But I'm haven't yet found a clear issue, or an explanation as why this
is behaving differently now, since this code has worked on 32-bit
architectures in the past.

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.

Thank you,
tony

Attachment: signature.asc
Description: PGP signature

Reply via email to