[Gluster-devel] NetBSD AFR regression
Emmanuel Dreyfus
manu at netbsd.org
Sun Mar 22 17:06:23 UTC 2015
Hello
Regarding NetBSD AFR regression: I tracked it down to memory corruption
on iobuf->iobrefs, where at some point I get iobuf->iobrefs[0] == 3,
which is not a sane value for a pointer. Surrounding memory also get
small uint8 values.
I added debug code to track new/destroy operations and a
iobuf->iobrefs[0] sanity check, I can now tell:
- This specific incarnation of the bug seems to happen reliabily in
brick daemons during tests/afr tests, but there are other tests that
have different iobuf-related crashes
- This is not reuse after free: the iobuf did not went through
iobuf_destroy() before the corruption happens.
- if I comment out GF_FREE (iobref->iobrefs) in iobref_destroy() the
problem vanishes (for AFR), which really suggests some runnaway pointer.
I have not been able to find where the mess happens, though.
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu at netbsd.org
More information about the Gluster-devel
mailing list