Re: Fwd: ostree static-delta



On Thu, Jul 28, 2016, at 08:06 AM, Gatis Paeglis wrote:

> I have tried my patch on Fedora23 -> Fedora24:


Maybe it is unrelated to that specific patch, but caused by libglnx update in general. I am trying to debug the issue. Here is the strace output soon before an error:


ostree admin upgrade

..

..


unlinkat(8, "staging-327fffce-5489-4c59-95c2-e57b856b53cb-SGXGLY-lock", 0) = 0
close(16)                               = 0
write(13, "\1\0\0\0\0\0\0\0", 8)        = 8
futex(0x63e010, FUTEX_WAKE, 2147483647) = 0
futex(0x63e000, FUTEX_WAKE, 1)          = 1
close(13)                               = 0
close(17)                               = 0
unlinkat(15, "fetcher-4WEGLY-lock", 0)  = -1 EBADF (Bad file descriptor)

I did see this once myself...I couldn't reproduce it though later.  My initial impression
was that it must be a bug with gcc's __attribute__((cleanup)), or my understanding
of it.  I didn't get to the point of trying to disassemble, but it looked like it would be in
ostree-repo-commit.c:cleanup_tmpdir() - as far as I can tell though the fd in dfd_iter
should outlive the lockfile's reference to it.

If you do reproduce this reliably, what is fd 15?  Getting a stack trace in gdb
with a gdb conditional breakpoint like `b unlinkat if strstr (pathname, "fetcher-") != 0` or so?

BTW, while we don't have this automated, I did write:
https://github.com/ostreedev/ostree/blob/master/manual-tests/static-delta-generate-crosscheck.sh
And I just ran that using git master against the CentOS Atomic Host content.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]