[rrdtool-maint] Bug#805391: src:rrdtool: FTBFS on mips: `FAIL: tune2`

Niko Tyni ntyni at debian.org
Sun Dec 20 09:15:01 UTC 2015


Control: tag -1 patch

On Sat, Dec 19, 2015 at 02:45:03PM +0100, Aurelien Jarno wrote:
> On 2015-12-19 15:03, Niko Tyni wrote:

> > It's a latent bug in rrdtool that triggered with libc6 2.19-20 on mips.

> > The problem is that rrd_write() ends up calling memcpy(3) on overlapping
> > memory areas, which is explicitly prohibited in its documentation. With
> > libc6 2.19-20 on mips, this started zeroing out part of the areas under
> > some conditions.
 
> The change is likely due to the switch to the MIPS32R2 ISA on mips.
> A different code is used, so with a different undefined behaviour.

Right, thanks.

> Can't you replace memcpy calls with overlapping areas with a memmove
> instead? Even if the testsuite looks fine you will definitely have some
> corruptions with memcpy and overlapping area on other architectures too.

Sure, that works and the memmove() overhead is presumably negligible
with mmap'ed disk IO. Patch attached, I've tested that the package
builds on mips and amd64 with this and forwarded it upstream at

  https://github.com/oetiker/rrdtool-1.x/pull/693

Jean-Michel: this is somewhat urgent given it blocks the Perl 5.22
transition, so please let us know if you'd like an NMU.
-- 
Niko Tyni   ntyni at debian.org


More information about the pkg-rrdtool-maint mailing list