AbiWord bug report

Stanislav Malyshev a.k.a Frodo (frodo@sharat.co.il)
Fri, 4 Dec 1998 08:39:51 +0200 (IST)


Hello!

AbiWord crashed with SIGSEGV on my attempt to entry non-english letters.
Details:

Program received signal SIGSEGV, Segmentation fault.
pf_Frag::getLength (this=0x7) at pf_Frag.cpp:69
69 return m_length;
(gdb) where
#0 pf_Frag::getLength (this=0x7) at pf_Frag.cpp:69
#1 0x8086e69 in pt_PieceTable::getFragFromPosition (this=0x8124038,
docPos=3,
ppf=0xbffff4dc, pFragOffset=0xbffff4d8) at pt_PieceTable.cpp:328
#2 0x8089a71 in pt_PieceTable::insertSpan (this=0x8124038, dpos=3,
p=0xbffff592, length=1) at pt_PieceTable_InsertSpan.cpp:327
#3 0x8084de8 in PD_Document::insertSpan (this=0x811fc58, dpos=3,
p=0xbffff592, length=1) at pd_Document.cpp:213
#4 0x807576e in FV_View::cmdCharInsert (this=0x8127670, text=0xbffff592,
count=1) at fv_View.cpp:690
#5 0x8066f37 in ap_EditMethods::insertData (pAV_View=0x8127670,
pCallData=0xbffff550) at ap_EditMethods.cpp:1302
#6 0x806ff3e in EV_Keyboard::invokeKeyboardMethod (this=0x811f8f0,
pView=0x8127670, pEM=0x80d9680, iPrefixCount=1, pData=0xbffff592,
dataLength=1) at ev_Keyboard.cpp:77
#7 0x806bd78 in ev_UnixKeyboard::keyPressEvent (this=0x811f8f0,
pView=0x8127670, e=0x8127af0) at ev_UnixKeyboard.cpp:122
#8 0x80b2c08 in _fe::key_press_event (w=0x80ff2c8, e=0x8127af0)
at ap_UnixFrame.cpp:103
#9 0x400cc319 in gtk_marshal_BOOL__POINTER ()
#10 0x400f5c35 in gtk_handlers_run ()
#11 0x400f5413 in gtk_signal_real_emit ()
#12 0x400f356e in gtk_signal_emit ()
#13 0x40120978 in gtk_widget_event ()
---Type <return> to continue, or q <return> to quit---
#14 0x400cc1e2 in gtk_propagate_event ()
#15 0x400caaf8 in gtk_main_iteration_do ()
#16 0x400ca7d7 in gtk_main_iteration ()
#17 0x400ca615 in gtk_main ()
#18 0x80614d4 in AP_UnixApp::main (szAppName=0x80b3560 "AbiWord", argc=1,
argv=0xbffff9e8) at ap_UnixMain.cpp:87
#19 0x8061335 in main (argc=1, argv=0xbffff9e8) at UnixMain.cpp:24

The problem seems to be here:

326 for (pf_Frag * pf = m_fragments.getFirst(); (pf);
pf=pf->getNext())

(gdb) print m_fragments
$11 = {m_pFirst = 0x81241f0, m_pLast = 0x81247f8}

(gdb) print m_fragments->m_pLast->getNext()
$12 = (pf_Frag *) 0x7

It, obviously, was intended to be NULL, not 7.

Regards,

-- 
frodo@sharat.co.il	\/  There shall be counsels taken
Stanislav Malyshev	/\  Stronger than Morgul-spells
phone +972-2-6245112	/\  		JRRT LotR.
http://sharat.co.il/frodo/	whois:!SM8333


This archive was generated by hypermail 1.03b2.