The Tuesday 18 Feb 2014 à 12:06:57 (+0800), Fam Zheng wrote : > On Thu, 02/13 10:09, Benoît Canet wrote: > > The Wednesday 12 Feb 2014 à 23:06:38 (+0100), Benoît Canet wrote : > > > +static void quorum_close(BlockDriverState *bs) > > > +{ > > > + BDRVQuorumState *s = bs->opaque; > > > + int i; > > > + > > > + for (i = 0; i < s->num_children; i++) { > > > + bdrv_unref(s->bs[i]); > > Quorum crash here from time to time I don't understand why. > > I think you could add printf or use gdb to examine every bdrv_unref on the > crashing bs, so you can track down to the unbalanced reference.
I found the cause of the crash since: I added a spurious QDECREF() in the external snapshot prepare function. It's fixed now. Thanks, Benoît > > Fam