bug 899


Subject: bug 899
From: sam th (sam@uchicago.edu)
Date: Wed Jun 14 2000 - 00:32:20 CDT


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Well, I really couldn't ask for a better QA team than Paul and
Bob. Here's some info about Paul's latest bug, from my Bugzilla comments:

- ------- Additional Comments From sytobinh@uchicago.edu 06/13/00 23:28
- -------
This is another case of instability in findPointCoords (I think). What
happens
is that on line 1037 of fl_BlockLayout.cpp we have a check for pRun being
null,
and if it is, we go back one, which supposedly fixes the problem (this
case is
actually run into a lot). However, here what happens is that the previous
element is the vector is bogus too (or maybe the vector is bad, I don't
know
yet). So we think we have fixed the problem, but we haven't, and the next
time
we use pRun (the next line) it all goes to hell. Fun.

- ------- Additional Comments From sytobinh@uchicago.edu 06/13/00 22:52
- -------
Well, GDB says this:

(gdb) bt
#0 fp_Run::getPrev (this=0x89) at fp_Run.h:116
#1 0x8139515 in fl_BlockLayout::findPointCoords (this=0x84361c0, iPos=92,
bEOL=0 '\000', x=@0xbfffebac, y=@0xbfffeba8, height=@0xbfffeba4)
at fl_BlockLayout.cpp:1041
#2 0x8133861 in FV_View::_findPositionCoords (this=0x84363d8, pos=92,
bEOL=0 '\000', x=@0xbfffec00, y=@0xbfffebfc, height=@0xbfffec04,
ppBlock=0xbfffebf8, ppRun=0xbfffec0c) at fv_View.cpp:3776
#3 0x81336a0 in FV_View::_clearBetweenPositions (this=0x84363d8,
iPos1=92,
iPos2=101, bFullLineHeightRect=1 '\001') at fv_View.cpp:3705
#4 0x8139fd0 in fl_BlockLayout::_updateSquiggle (this=0x84361c0,
pPOB=0x83f8e70) at fl_BlockLayout.cpp:1404
#5 0x813a2cc in fl_BlockLayout::_deleteSquiggles (this=0x84361c0,
iOffset=90,
iLength=18) at fl_BlockLayout.cpp:1516
#6 0x813ca63 in fl_BlockLayout::doclistener_deleteSpan (this=0x84361c0,
pcrs=0x844fc08) at fl_BlockLayout.cpp:2529
#7 0x81433d0 in fl_SectionLayout::bl_doclistener_deleteSpan
(this=0x8436088,
pBL=0x84361c0, pcrs=0x844fc08) at fl_SectionLayout.cpp:277
#8 0x8142057 in fl_DocListener::change (this=0x8435fc8, sfh=0x84361c0,
pcr=0x844fc08) at fl_DocListener.cpp:322
#9 0x815798e in PD_Document::notifyListeners (this=0x8430340,
pfs=0x8435868,
pcr=0x844fc08) at pd_Document.cpp:460
#10 0x8163e98 in pt_PieceTable::_doTheDo (this=0x8430bf8, pcr=0x844fc08,
bUndo=1 '\001') at pt_PT_Undo.cpp:115
#11 0x8164f04 in pt_PieceTable::undoCmd (this=0x8430bf8) at
pt_PT_Undo.cpp:447
#12 0x8157e5c in PD_Document::undoCmd (this=0x8430340, repeatCount=0)
at pd_Document.cpp:595
#13 0x8134c96 in FV_View::cmdUndo (this=0x84363d8, count=1) at
fv_View.cpp:4502
#14 0x80e08bf in ap_EditMethods::undo (pAV_View=0x84363d8)
at ap_EditMethods.cpp:1335
#15 0x80fe4cc in EV_Toolbar::invokeToolbarMethod (this=0x8404900,
pView=0x84363d8, pEM=0x837a080, pData=0x0, dataLength=0)
at ev_Toolbar.cpp:92

Before the crash, it asserts at

**** (1) Assert ****
**** (1) m_iCount > 0 at ut_vector.cpp:193 ****
**** (1) Continue ? (y/n) [y] : y

See, I knew we should get rid of UT_Vector :-)

- --------------------------------------

The real question, of course, is what happened to m_vecRuns (I think
that's what it's called) to screw it up. But if I told you that, there
wouldn't be any work left. :-)

           
                                     sam th
                                     sam@uchicago.edu
                                http://www.abisource.com/~sam/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.1 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE5Rxjlt+kM0Mq9M/wRAkevAJ4plhHrJBkDhdjosp9sNFjhSUtYWgCfS5l6
ymK5/im5gAyVjTmFHzyttrA=
=PcL7
-----END PGP SIGNATURE-----



This archive was generated by hypermail 2b25 : Tue Jun 13 2000 - 23:32:28 CDT