Bug#552575: abiword crashes when opening medium size rtf file, works fine with smaller ones

2009-10-28 Thread Patrik Fimml
On Tue, Oct 27, 2009 at 06:24:39PM +0200, Aioanei Rares wrote:
 If I try to open a 3.3 MB file (which openoffice.org opens just fine), 
 abiword crashes. Here's some info :
 
 [...]
 I can send somehow the log which is 15.6 MB long, and also the culprit rtf 
 file.

Yes, if you could provide us with the document, that would be great. I
fear the BTS might not accept 3 MB attachments, so you might want to put
it onto some public server or something. If that's not possible, you can
still mail it directly to me.

Patrik


signature.asc
Description: Digital signature


Bug#552575: abiword crashes when opening medium size rtf file, works fine with smaller ones

2009-10-27 Thread Aioanei Rares
Package: abiword
Version: 2.6.8-5
Severity: normal

If I try to open a 3.3 MB file (which openoffice.org opens just fine), abiword 
crashes. Here's some info :

ara...@debian:~/temp$ abiword 0671578499.rtf 
Aborted  

when run from console. If ran through gdb, I get 

(gdb) run   
 
Starting program: /usr/bin/abiword  
 
[Thread debugging using libthread_db enabled]   
 
[New Thread 0x7fffdcd57910 (LWP 20950)] 
 

Program received signal SIGSEGV, Segmentation fault.
0x00630a48 in UT_String::UT_String(char const*, unsigned long) ()
(gdb) st
start step  stepi stepping  stop  
(gdb) step
Single stepping until exit from function _ZN9UT_StringC1EPKcm, 
which has no line number information.  
0x00521090 in signalWrapper(int) ()
(gdb) bt   
#0  0x00521090 in signalWrapper(int) ()
#1  signal handler called
#2  0x00630a48 in UT_String::UT_String(char const*, unsigned long) ()
#3  0x005d521e in IE_Imp_RTF::HandleInfoMetaData() ()
#4  0x005d38d2 in IE_Imp_RTF::TranslateKeywordID(RTF_KEYWORD_ID, int, 
bool) ()
#5  0x005d5ced in IE_Imp_RTF::ParseRTFKeyword() ()  
  
#6  0x005d5ec8 in IE_Imp_RTF::_parseText() ()   
  
#7  0x005d6b64 in IE_Imp_RTF::_loadFile(_GsfInput*) ()  
  
#8  0x005b8903 in IE_Imp::loadFile(PD_Document*, _GsfInput*, int, char 
const*, int*) ()
 
#9  0x0071a771 in PD_Document::_importFile(_GsfInput*, int, bool, bool, 
bool, char const*) ()   

#10 0x0071ab1f in PD_Document::_importFile(char const*, int, bool, 
bool, bool, char const*) () 
 
#11 0x0071ab7b in PD_Document::readFromFile(char const*, int, char 
const*) () 
#12 0x00548a72 in AP_Frame::_loadDocument(char const*, int, bool) ()
  
#13 0x00548bdb in AP_Frame::loadDocument(char const*, int, bool) () 
  
#14 0x0053ea2a in fileOpen(XAP_Frame*, char const*, int) () 
  
#15 0x0053ed8a in ap_EditMethods::fileOpen(AV_View*, 
EV_EditMethodCallData*) ()   
#16 0x00651f44 in EV_Keyboard::invokeKeyboardMethod(AV_View*, 
EV_EditMethod*, unsigned int const*, unsigned int) ()   
  
#17 0x00654e28 in ev_UnixKeyboard::charDataEvent(AV_View*, unsigned 
int, char const*, unsigned long) () 

#18 0x00654f29 in ev_UnixKeyboard::keyPressEvent(AV_View*, 
_GdkEventKey*) ()  
#19 0x00621f92 in XAP_UnixFrameImpl::_fe::key_press_event(_GtkWidget*, 
_GdkEventKey*) ()   
 
#20 0x772e3218 in ?? () from /usr/lib/libgtk-x11-2.0.so.0   
  
#21 0x754c43ed in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 
  
---Type return to continue, or q return to quit---  
  
#22 0x754d7cdb in ?? () from /usr/lib/libgobject-2.0.so.0   
  
#23 0x754d8f18 in g_signal_emit_valist () from 
/usr/lib/libgobject-2.0.so.0   
#24 0x754d9553 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#25 0x773ec2de in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#26 0x772db8a2 in gtk_propagate_event () from 
/usr/lib/libgtk-x11-2.0.so.0
#27 0x772dc8ab in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#28 0x76bf51cc in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#29 0x7502a12a in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#30 0x7502d988 in ?? () from /lib/libglib-2.0.so.0
#31 0x7502de5d in g_main_loop_run () from /lib/libglib-2.0.so.0
#32 0x772dcca7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#33 0x0052354d in AP_UnixApp::main(char const*, int, char const**) ()
#34 0x7160ca8d in __libc_start_main () from /lib/libc.so.6
#35 0x00520e79 in _start ()
(gdb) quit

I ran abiword like this : valgrind --leak-check=full --track-origins=yes 
--show-reachable=yes -v --error-limit=no --log-file=valgrind_abiword.log 
/usr/bin/abiword
I can send somehow the log which is 15.6 MB long, and also the culprit rtf file.

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500,