[PATCH] parsers: ensure revlog index node tree is initialized before insertion

Augie Fackler raf at durin42.com
Fri Dec 5 12:05:12 CST 2014


On Thu, Dec 04, 2014 at 05:43:32PM -0600, Matt Mackall wrote:
> On Thu, 2014-12-04 at 13:53 -0500, Mike Edgar wrote:
> > # HG changeset patch
> > # User Mike Edgar <adgar at google.com>
> > # Date 1417712522 18000
> > #      Thu Dec 04 12:02:02 2014 -0500
> > # Node ID 4c8cd4678e1cf6992b7d0a07b87b60775f0dc2c0
> > # Parent  c237499a7fba65c88a2da721a22b66df4f39cf4e
> > parsers: ensure revlog index node tree is initialized before insertion
> >
> > Currently, the revlog index C implementation assumes its node tree will be
> > initialized before a new element is inserted by revnum. For example, revlog.py
> > executes 'self.index.insert(-1, e)' in _addrevision(). This is only safe
> > because the node tree has been initialized by a "node in self.nodemap"
> > check made in addrevision().
> >
> > (For context, this was discovered while developing an experimental revlog
> > mixin which stores "elided nodes" via a separate code path from
> > _addrevision(); that new code path segfaults without this patch.)
>
> I take this to mean that's there's no way to hit this in normal
> Mercurial, right? Queued for default, thanks.

I don't believe it's possible yet, no.

>
> --
> Mathematics is the supreme nostalgia of our time.
>
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list