Bug 120200

Summary: kbabel crashes on this particular po-file
Product: [Unmaintained] kbabel Reporter: Leo Savernik <l.savernik>
Component: KBabel editorAssignee: Stanislav Visnovsky <visnovsky>
Status: RESOLVED FIXED    
Severity: crash CC: nicolasg
Priority: NOR    
Version: 1.11   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: po-file
po-file -- this one crashes kbabel for real

Description Leo Savernik 2006-01-15 20:53:13 UTC
Version:            (using KDE KDE 3.5.0)
Installed from:    Compiled From Sources
OS:                Linux

At least since KDE 3.5, KBabel crashes on this particular PO-file. KBabel for KDE 3.2 works flawlessly.

Backtrace (sorry, no debug info. I'll come up with some later):

[New Thread 1024 (LWP 1853)]
[KCrash handler]
#6  0x80adcde in KBCatalogListView::~KBCatalogListView ()
#7  0x8090400 in KBabelView::update ()
#8  0x8095770 in KBabelView::update ()
#9  0x808cff1 in KBabelView::update ()
#10 0x809c841 in KBabelView::staticMetaObject ()
#11 0x40c7f604 in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#12 0x40c7fc0e in QObject::activate_signal_bool ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#13 0x4019a3f4 in KBabel::Catalog::signalFileOpened ()
   from /opt/kde3/lib/libkbabelcommon.so.3
#14 0x4018d9ca in KBabel::Catalog::openURL ()
   from /opt/kde3/lib/libkbabelcommon.so.3
#15 0x808d4ec in KBabelView::update ()
#16 0x80a89e3 in KBabelMW::~KBabelMW ()
#17 0x8074fe1 in KDialog::marginHint ()
#18 0x4089f997 in KUniqueApplication::processDelayed ()
   from /opt/kde3/lib/libkdecore.so.4
#19 0x4089fdc9 in KUniqueApplication::qt_invoke ()
   from /opt/kde3/lib/libkdecore.so.4
#20 0x40c7f547 in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#21 0x40f21665 in QSignal::signal () from /usr/lib/qt3/lib/libqt-mt.so.3
#22 0x40c94c89 in QSignal::activate () from /usr/lib/qt3/lib/libqt-mt.so.3
#23 0x40c9a540 in QSingleShotTimer::event ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#24 0x40c39f24 in QApplication::internalNotify ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#25 0x40c39ba4 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#26 0x4080d07a in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#27 0x40c2ce8c in QEventLoop::activateTimers ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#28 0x40bf4682 in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#29 0x40c481e1 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
#30 0x40c48127 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#31 0x40c3a096 in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#32 0x80769da in KDialog::marginHint ()
#33 0x41343baf in __libc_start_main () from /lib/libc.so.6

-- last lines of output --

kbabel: WARNING: Old project format assumed
kbabel: WARNING: KDataTool desktop file error (0x83fa810). 1 commands and 2 descriptions.
kbabel: WARNING: KDataTool desktop file error (0x8409958). 1 commands and 2 descriptions.
kbabel: WARNING: KDataTool desktop file error (0x8409958). 1 commands and 2 descriptions.
kbabel: WARNING: KDataTool desktop file error (0x8409958). 1 commands and 2 descriptions.
kbabel: WARNING: KGenericFactory: instance requested but no instance name or about data passed to the constructor!
QGVector::operator[]: Index 0 out of range
KCrash: Application 'kbabel' crashing...
Comment 1 Leo Savernik 2006-01-15 20:59:20 UTC
Created attachment 14262 [details]
po-file

KBabel 3.5.0 crashes reproduceably on this PO-file. The PO-file is valid as far
as it was generated by msgmerge, so it *must* be considered valid input for
kbabel (although it's "empty").
Comment 2 Nicolas Goutte 2006-02-05 22:42:35 UTC
Sorry, I cannot reproduce. For me, the file can be loaded.

Have a nice day!
Comment 3 Leo Savernik 2006-02-06 17:29:09 UTC
Whoops, I submitted the wrong file. One bug resolved by stupidity.
Comment 4 Leo Savernik 2006-02-06 17:37:16 UTC
Created attachment 14577 [details]
po-file -- this one crashes kbabel for real

But wait! Though the original offending po-file is lost, I managed to recreate
a similar one that exhibits the same bug.

This time I double-checked it's the right file.
Comment 5 Nicolas Goutte 2006-02-06 17:52:33 UTC
Superb! The whole file is "outdated"!

If you want to fix such a file, use msgattrib:

msgattrib -o out.po --clear-obsolete in.po

Otherwise I suppose that part of the problem is the same as in bug #117968 or even bug #121236 (as here too there is no header).

Have a nice day!
Comment 6 Nicolas Goutte 2006-02-11 11:44:53 UTC
Attachment 14577 [details] loads now with an error. 

(As KBabel does not actively handle obsolete entries (but only keeps them as comment of the end of the document), there is nothing else that can be done.)

Have a nice day!