Re: Zoom/spellcheck bug.


Subject: Re: Zoom/spellcheck bug.
From: Martin Sevior (msevior@mccubbin.ph.unimelb.edu.au)
Date: Fri Oct 27 2000 - 03:11:23 CDT


HI David,
         Thanks for the message. I think this is caused because spell
check is an asynchronous processes that gets fired every 100
milli-seconds. I believe Shaw also reported this bug.

The process of zooming involves rebuilding a whole document layout
which takes a finite time. During the rebuilding phase the document
is in an invalid state for spell checking. A spell check during this phase
may cause a segfault. The solution is to set the m_bdontSpellCheckRightNow
boolean variable from fv_View.cpp until the zoom is complete. If these
are enough clues to fix your problem quickly, give it a go otherwise let
me know and I'll try myself.

If you give up could you please send in your document?

Cheers!

Martin

 
On Fri, 27 Oct 2000, David Schmitz wrote:

> I've discovered an odd bug. It's been befuddling me for a couple of days
> and I think I've finally tracked it down. I've been taking some old, old
> text files and converting them to .rtf by hand; putting formatting,
> typefaces, etc back into the document. Since I've been doing this on and
> off, I've been saving, and reloadign the documents sporadically.
>
> One of the first things I do when I open up a document is to set the
> zoom to the proper size. (140% is perfect for my monitor, so I plopped
> that into the sources and did a recompile) When I choose 140% from teh
> drop down menu, sometimes AbiWord would crash, and other times it would
> not. My dander up, I decided to investigate. (My first issue was to get
> rid of that damned GNOME segfault dialog so that the program could dump
> a proper core file :-)
>
> After doing some experiementing, I noticed that the wp would die if I
> did my zoom before the program is done putting those red lines under
> misspelled words. If I do the zoom *after* the little red lines are all
> drawn, the program happily chugs along without skipping a beat.
>
> After causing a crash, a post mortem backtrack on the core gives me this:
>
> (gdb) backtrace
> #0 0x405f4d8f in ?? () from /lib/libc.so.6
> #1 0x80bc1f5 in _Timer_Proc ()
> #2 0x4043c04d in ?? () from /usr/lib/libglib-1.2.so.0
> #3 0x4043b186 in ?? () from /usr/lib/libglib-1.2.so.0
> #4 0x4043b751 in ?? () from /usr/lib/libglib-1.2.so.0
> #5 0x4043b8f1 in ?? () from /usr/lib/libglib-1.2.so.0
> #6 0x40240669 in ?? () from /usr/lib/libgtk-1.2.so.0
> #7 0x80a0a35 in AP_UnixGnomeApp::main ()
> #8 0x80a082b in main ()
> #9 0x4051e9cb in ?? () from /lib/libc.so.6
> (gdb)
>
> I get similar results after attaching to a process using ddd.
>
> And here's output from a ABI_OPT_DEBUG=1 build up until its death:
>
> [...]
> DEBUG: fb_LineBreaker.cpp:162 tab run: p=0x1 type=0 leader=27 height=0
> width=0 offset=1 length=140663096
> DEBUG: tabstop: unknown tab stop type [L]
> DEBUG: fb_LineBreaker.cpp:162 tab run: p=0x1 type=0 leader=27 height=0
> width=0 offset=1 length=140664728
> DEBUG: tabstop: unknown tab stop type [L]
> DEBUG: fb_LineBreaker.cpp:162 tab run: p=0x1 type=0 leader=27 height=0
> width=0 offset=1 length=140666400
> DEBUG: tabstop: unknown tab stop type [L]
> DEBUG: fb_LineBreaker.cpp:162 tab run: p=0x1 type=0 leader=27 height=0
> width=0 offset=1 length=140668032
> DEBUG: tabstop: unknown tab stop type [L]
> DEBUG: fb_LineBreaker.cpp:162 tab run: p=0x1 type=0 leader=27 height=0
> width=0 offset=1 length=140669752
> DEBUG: tabstop: unknown tab stop type [L]
> DEBUG: tabstop: unknown tab stop type [L]
> DEBUG: Insertion Point has moved before erasing
> DEBUG: fv_View::draw() called with zero drawing area.
> DEBUG: fv_View::draw() called with zero drawing area.
> DEBUG: fv_View::draw() called with zero drawing area.
> DEBUG: ut_unixTimer.cpp: timer destructor
> DEBUG: ut_unixTimer.cpp: timer destructor
> DEBUG: ut_unixTimer.cpp: timer destructor
>
> I wish I had more time in my schedule and I'd do some poking about until
> I found out what was going on, but I don't, so I thought I'd send this
> info on.
>
> --
> David Schmitz
> Please allow me to introduce myself:
> I'm a man of wealth and taste.
> --
> http://www.ecsd.com/~david
>
>
>



This archive was generated by hypermail 2b25 : Fri Oct 27 2000 - 03:11:40 CDT