[Libreoffice] assertion in SwIndexReg::~SwIndexReg

Michael Stahl mstahl at redhat.com
Fri Dec 16 06:20:37 PST 2011


On 16/12/11 15:04, Terrence Enger wrote:
> On Fri, 2011-12-16 at 12:05 +0100, Michael Stahl wrote:
>> On 16/12/11 10:52, Stephan Bergmann wrote:
>>>
>>> Yes.  I would assume that the destructor's expectation is legitimate, 
>>> and that the code keeping the container non-empty is in error.
>>
>> well yes it means that there is some cursor still pointing at the text
>> node which is just being deleted, and that will certainly cause problems
>> if somebody later gets the node from the cursor, or moves it.
>>
>> if you can reproduce it please file an issue.
> 
> I have updated bug 43234 with recent observations
> <https://bugs.freedesktop.org/show_bug.cgi?id=43234#c4>,
> including a backtrace from the raised assertion.

thanks, i'll look at it once i find some time...

> You mention a cursor pointing at the text node.  Do you know
> off-hand what class that might be?

the class that is registered is an SwIndex, but it usually occurs as a
member of SwPosition, which usually occurs as a member of SwPaM (which
has 2 positions, point and mark), which has a whole bunch of subclasses,
SwCursor, SwUnoCrsr, SwTableCrsr, SwRedline, etc.

most of the time the problematic cursor is a local variable somewhere on
the call stack, you could look if you can find it via the address that
is in the SwIndex member pointer; sadly i don't know how to get gdb to
tell me which stack frame an address is in so it needs some manual
searching...



More information about the LibreOffice mailing list