Package: src:capnproto
Version: 0.7.0-3
Severity: normal
Tags: upstream

Dear Maintainer,

When trying to build a stretch backports of capnproto, I hit a build
test failure:

[ TEST ] kj/filesystem-disk-test.c++:835: DiskFile holes
kj/filesystem-disk-test.c++:889: failed: expected file->stat().spaceUsed == 
meta.spaceUsed
stack: 55e8f965ca5c 55e8f96e4473 7f1b104b727f 7f1b102612d8 7f1b104b863d 
7f1b104b9670 7f1b102929df 7f1b102946a6 7f1b102612d8 7f1b10294864 7f1b104b601e 
7f1b0f6182e0 55e8f96444d9
[ FAIL ] kj/filesystem-disk-test.c++:835: DiskFile holes (248617 μs)

I don't know what causes this, my only idea is BTRFS, as in the title,
though that's a pure guess.  I build with sbuild on a BTRFS snapshot of
the clean build chroot.

As a workaround, I added the following quilt patch:

--- capnproto-0.7.0.orig/src/kj/filesystem-disk-test.c++
+++ capnproto-0.7.0/src/kj/filesystem-disk-test.c++
@@ -886,7 +886,7 @@
 
   file->truncate(1 << 21);
   file->datasync();
-  KJ_EXPECT(file->stat().spaceUsed == meta.spaceUsed);
+  // Fails on BTRFS: KJ_EXPECT(file->stat().spaceUsed == meta.spaceUsed);
   KJ_EXPECT(file->read(1 << 20, buf) == 7);
   KJ_EXPECT(StringPtr(reinterpret_cast<char*>(buf), 6) == "foobar");
 
which resulted in a successful build.  I'm not sure I'll have a chance
to dig into this, but wanted to make sure the information isn't lost.
I'm not tagging with patch, because it's based on a guess only.
-- 
Regards,
Feri.

Reply via email to