Subject: bug#17411: 24.4.50; emacs_backtrace.txt

From: Stefan Monnier <[email-masked]>
Date: Sun, 11 May 2014 23:26:06 -0400

>> balance_an_interval at intervals.c:436
>> balance_intervals_internal at intervals.c:509
>> balance_intervals_internal at intervals.c:506
> A duplicate of 17340.

Indeed.  Both seemed to fail the "eassert (LENGTH (i) > 0);" and right
in the middle of a tree.  I tried to add this assertion everywhere where the
length of an interval can be changed, so we should never bump into
a case like the above, because such a non-positive length should have
been caught by an assertion earlier.

Evidence shows that I missed some cases, tho.  I'd be interested to see
the stack trace before we enter GC (in case it's in the middle of some
interval manipulation, maybe?).  It might also be interesting to look at
`i' to see whether it's hopelessly messed up, or if it looks "incorrect
but sanish".

        Stefan