[Pkg-rust-maintainers] Bug#995421: rust-bumpalo: autopkgtest armhf regression: oom_instead_of_bump_pointer_overflow

peter green plugwash at p10link.net
Sat Oct 30 19:39:17 BST 2021


> It passes when run with only packages from testing.

no it doesn't, it's skipped due to unsatisfiable dependencies.
However manual testing shows that the underlying failure does
affect the version in testing, so this is not *really* a
regression it just looks like one to debci.


> I copied some of the output at the bottom of this report. Looking at the
> name of the test *and* the resources of our armhf worker (250GB RAM) I
> wonder if the test is assuming stuff that's not true.

The failure seems to be related to the behavior of the memory allocator.
In particular if the allocator makes the initial small allocation
in the top half of the address space then the follow-up allocation will
be small enough that it could in-principle succeed. In particular it's
likely to suceed on machines big enough that they will run out of address
space before they run out of ram.

I have successfully reproduced the issue on systems with both 32-bit and
64-bit kernels.

The failure won't happen on arm64 or amd64 because those architectures
reserve the top half of the address space for the kernel.

The failure doesn't seem to happen on i386, I don't know why perhaps the
memory allocator behaves differently there.

Having read the code I am pretty sure this is just a borked test and not
an actual issue in the code, but I have opened an upstream bug report
asking them to check by analysis.

https://github.com/fitzgen/bumpalo/issues/128

Separately alloc_slice_fill_zero is failing on i386, that failure is a
result of a wrong assumption about alignment in the test, I have
fixed that and opened an upstream PR.

https://github.com/fitzgen/bumpalo/pull/129

If noone (either in upstream or Debian) responds with any objections or better
solutions I will likely disable the oom_instead_of_bump_pointer_overflow
test and apply the fix for. I may or may not update to the new upstream version
of rust-bumpalo at the same time (I have not yet checked what that would involve).



More information about the Pkg-rust-maintainers mailing list