On 07/13/22 13:27, Richard W.M. Jones wrote:
It's not 100% reproducible, but it seems to happen reasonably often.
Unfortunately it only happens on ppc64le (so far). The error message
lacks sufficient detail to tell what's going on.
nbdkit: backend.c:624: backend_pread: Assertion `backend_valid_range (c, offset,
count)' failed.
nbdkit: backend.c:624: backend_pread: Assertion `backend_valid_range (c, offset,
count)' failed.
Full log attached.
"tests/disk" has size 105923072.
Considering all the count=... offset=... lines in the last section of
the log, there isn't one line where backend_valid_range():
return count > 0 && offset <= c->exportsize &&
offset + count <= c->exportsize;
would return false.
I've printed a table, with offset, count, and offset+count colums, from
the log entries, then sorted the table three times separately, each time
by a different column. I got the following min and max elements:
offset count offset+count
--------- --------- -----------
0 105923072 105923072 (min by offset)
105906176 16896 105923072 (max by offset)
0 4096 4096 (min by count)
0 105923072 105923072 (max by count)
0 4096 4096 (min by end)
105906176 16896 105923072 (max by end)
All of these look valid... I think you'll have to look at the coredump
with gdb.
Laszlo