[Gluster-devel] Recent dict changes affecting QEMU-GlusterFS patches

Bharata B Rao bharata.rao at gmail.com
Tue Jun 19 10:41:57 UTC 2012

On Tue, Jun 19, 2012 at 1:37 AM, Jeff Darcy <jdarcy at redhat.com> wrote:
> On Mon, 2012-06-18 at 09:33 +0530, Bharata B Rao wrote:
>> Hi,
>> I recently posted patches to integrate GlusterFS with QEMU.
>> (http://lists.nongnu.org/archive/html/qemu-devel/2012-06/msg01745.html).
>> While updating those patches to latest gluster git, I am seeing a
>> problem and I tracked that down to this commit:
>> e8eb0a9cb6539a7607d4c134daf331400a93d136 (Optimize for small dicts,
>> and avoid an overrun).
>> With this commit, I see an invalid memory reference in _dict_lookup().
>> Some details from gdb are shown below:
> I've seen something like this before, when commonly used structures
> (like dict_t) change.  It seems like somehow not all dependencies are
> getting updated properly, resulting in a mix of code that uses the old
> srtucture and code that uses the new one.  I don't know how such a
> problem can survive the rpmbuild process, which I always use even during
> development, but I have seen the symptoms disappear when I've carefully
> nuked all GlusterFS source and binaries from my system to guarantee that
> I'm starting fresh.

Yes I have seen similar weird problems in the past which went away
after I re-started from scratch. This problem persists even after I
wipe out all traces of gluster from my system and start all over

> In any case, I'll look into this a bit further and see if it might be
> something else.  The dict_t structure did change with that commit, as
> did the usage of some fields, so if your code relies somehow on old
> behavior then it's possible that an update is needed.

My code is  not dependent directly on any dict changes. All I am doing
is glusterfs_graph_construct which eventually ends up doing
_dict_lookup() (when parsing volume options). Will debug this and
report if I find any clues.


More information about the Gluster-devel mailing list