[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [StrongED] Sporadic crashes of StrongED

In message <2dbb113453.fjgraute@xxxxxxxxx>
          Fred Graute <fjgraute@xxxxxxxxx> wrote:

> In message <ceb1a13353.iyojohn@xxxxxxxxxxxxxxxxxxxxx>
>           John Rickman Iyonix <rickman@xxxxxxxxxxxxx> wrote:
> > I have been getting some infrequent sporadic crashes of StrongED over
> > the last few weeks always with this error message:
> >
> > Message: Internal error:  at &00032224
> >
> >  *where
> >   Address 00032224 is not in any module
> >
> > I can't reproduce it at will but it often happens after I have been
> > editing an html file for a while and using LUA. It happens when I then
> > try to open a text file.
> Thanks for reporting this.
> Based on the information you've sent me (including the second one you
> sent privately) it seems to be caused by the text being opened folded.

The bug was indeed caused by folding the text, finding fold starts to be
more precise. The fold starts had to be on the start of a line (SoL) and
it seemed that the code to check for SoL was carrying on past the end of
the text. In some cases it might even go past the end of the wimpslot
which would explain the observed, sporadic, abort on data transfer.

Based on this I figured that the bug was probably more reproducible when
the text used a two character newline type, and sure enough it made it
almost a 100% repeatable. Which is important to test possible fixes.

The suspicion of overshooting the end of the text turned out to be true
and it's surprising this hasn't come up earlier as this bug has been in
StrongED since at least 4.60. It's not limited to folding either, it can
turn up in regular searching too when the following conditions are met:

  - It's an advanced search, not a simple search
  - Search is tied to SoL (in dbox, not using '<' in search expression)
  - There is a match on the last line of the text
  - The last line doesn't end with a newline
  - There is no newline character(s) at all past the end of the text
    (this is why two character newlines trigger the bug more often)

To reproduce: Create a new text in a freshly started copy of StrongED
and change the newline type to LF/CR or CR/LF. Then enter this line:
'This is the last line' (without pressing Return). Now search for "This"
with 'Start of line only' ticked and engine set to 'Advanced'.

I'm glad to say that this bug is now fixed, phew. :-)


StrongED Developer

To unsubscribe send a mail to StrongED+unsubscribe@xxxxxxxxxxxxxx