Zoom/spellcheck bug.


Subject: Zoom/spellcheck bug.
From: David Schmitz (david@ecsd.com)
Date: Fri Oct 27 2000 - 02:54:11 CDT


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 - 02:54:08 CDT