Re: Newcomer


Subject: Re: Newcomer
From: Martin Sevior (msevior@mccubbin.ph.unimelb.edu.au)
Date: Sun Sep 10 2000 - 21:26:45 CDT


On Mon, 11 Sep 2000, Guillaume Proux wrote:

> Sorry a premature stop
> ;D
>
> >
> > It has been 2 months since I am observing this mailing list through the
> > digests available every two weeks or so... and during the week end I
> > connected to CVS to get an idea of how I could help.
> >
> > I managed more or less reliably to make the software crash by using
> > a lot of undo/redo and adding chars. The check speller then runs through
> the
> > wall while expanding a buffer for insertion (the crash is while the
> > memmove is done). I traced the issue back to:
>
> const UT_UCSChar * pSpan = getPointer(pft->getBufIndex());
> pt_PieceTable:326
>
> which returns NULL
>
> I am a bit uncomfortable with all the data structures used in AbiWord (what
> is a VarSet ?) so I could not trace exactly why this failed
>
> Can anybody help? I am willing to help development by doing bug fixing but
> need a bit of background to really exploit any of my potential ability (if
> there is)
>
> cheers,
>
> Guillaume
>

HI Guillaume,
             Thanks very much for your interest and bug report. I suspect
that what is happening is that the spell checker is attempting to spell
check a paragraph that is not yet properly formatted. The spell checker in
abiword is fired at 100 millisecond intervals at paragraphs in a queue. As
far as I know it does not check that a paragraph is in a nice state before
doing a spell check. In particular a paragraph is in a non-defined state
while piece table operations like undo/redo take place and are not
completed.

I recently added code to prevent spell checking until an
undo/redo sequence is finished. This code is in the latest CVS. Are you
using the latest CVS code?

I hope that these checks of mine prevent these sort of crashes.

Thanks very much,

Martin



This archive was generated by hypermail 2b25 : Sun Sep 10 2000 - 21:27:01 CDT