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