Bug 187219 - Lokalize freezes when translating po files
Summary: Lokalize freezes when translating po files
Status: RESOLVED FIXED
Alias: None
Product: lokalize
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Nick Shaforostoff
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-15 13:15 UTC by Łukasz Jernaś
Modified: 2009-03-16 22:34 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Fix freezing (790 bytes, patch)
2009-03-15 14:24 UTC, Łukasz Jernaś
Details
po file (drupal module) (19.97 KB, text/x-gettext-translation)
2009-03-15 18:18 UTC, Mark Ziegler
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Łukasz Jernaś 2009-03-15 13:15:32 UTC
Version:           4.2.1 (using KDE 4.2.1)
Compiler:          gcc version 4.3.3 20090307 (release) (PLD-Linux) Configured with: ../configure --prefix=/usr --with-local-prefix=/usr/local --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --x-libraries=/usr/lib --enable-shared --enable-threads=posix --enable-linux-futex --enable-languages=c,c++,fortran,objc,obj-c++,ada,java --enable-libgomp --enable-libmudflap --enable-c99 --enable-long-long --enable-decimal-float=yes --disable-multilib --enable-nls --disable-werror --disable-cld --with-gnu-as --with-gnu-ld --with-demangler-in-ld --with-system-zlib --with-slibdir=/lib --without-system-libunwind --enable-cmath --with-long-double-128 --with-gxx-include-dir=/usr/include/c++/4.3.3 --disable-libstdcxx-pch --enable-__cxa_atexit --enable-libstdcxx-allocator=new --enable-libjava-multilib=no --disable-gconf-peer --enable-java-awt=xlib,gtk --enable-plugin --enable-libgcj --enable-libgcj-multifile --enable-libgcj-database --enable-gtk-cairo --enable-jni --enable-xmlj --enable-bootstrap --with-pkgversion=PLD-Linux --with-bugurl=http://bugs.pld-linux.org i686-pld-linux
OS:                Linux
Installed from:    Unlisted Binary Package

When dealing with GNOME's po files lokalize freezes after doing some translating, I can find any specific string it happends on or anything like that.
Qt 4.5.0

Command line output:
lokalize(6895) Catalog::flushUpdateDBBuffer: updating!!
lokalize(6895) TM::TMView::slotSuggestionsCame: query other DBs 4
lokalize(6895) TM::TMView::slotSuggestionsCame: query other DBs 4
lokalize(6895) KAiderView::contentsChanged: !!!!!!!!!!!! offset 0 charsRemoved 150 _oldMsgstr "W celu zamknięcia połączenia, proszę wybrać z menu polecenie
<menuchoice><guimenu>Komputer</guimenu><guimenuitem>Zamknij</guimenuitem></
menuchoice>."
lokalize(6895) Catalog::flushUpdateDBBuffer: updating!!
lokalize(6895) KAiderView::toggleApprovement: called
lokalize(6895) KAiderView::approvedEntryDisplayed: approvedEntryDisplayed. entry: 53 approved: true
lokalize(6895) KAiderView::approvedEntryDisplayed: approvedEntryDisplayed. entry: 54 approved: true
lokalize(6895) Catalog::flushUpdateDBBuffer: updating!!
lokalize(6895) TM::TMView::slotSuggestionsCame: query other DBs 4
lokalize(6895) TM::TMView::slotSuggestionsCame: query other DBs 4
lokalize(6895) KAiderView::approvedEntryDisplayed: approvedEntryDisplayed. entry: 53 approved: true
lokalize(6895) Catalog::flushUpdateDBBuffer: updating!!
lokalize(6895) removeFromIndex: here for "If the connection has been used previously, you can also access it by
<menuchoice><guimenu>Machine</guimenu><guimenu>Recent connections...</
guimenu></menuchoice>."
lokalize(6895) TM::TMView::slotSuggestionsCame: query other DBs 4
lokalize(6895) TM::TMView::slotSuggestionsCame: query other DBs 4
lokalize(6895) KAiderView::toggleApprovement: called
lokalize(6895) KAiderView::approvedEntryDisplayed: approvedEntryDisplayed. entry: 53 approved: false
lokalize(6895) KAiderView::contentsChanged: !!!!!!!!!!!! offset 0 charsRemoved 1 _oldMsgstr ""
lokalize(6895) KAiderView::toggleApprovement: called
lokalize(6895) KAiderView::approvedEntryDisplayed: approvedEntryDisplayed. entry: 53 approved: true
lokalize(6895) KAiderView::contentsChanged: !!!!!!!!!!!! offset 0 charsRemoved 1 _oldMsgstr ""
lokalize(6895) KAiderView::toggleApprovement: called
lokalize(6895) KAiderView::approvedEntryDisplayed: approvedEntryDisplayed. entry: 53 approved: false
lokalize(6895) KAiderView::contentsChanged: !!!!!!!!!!!! offset 0 charsRemoved 1 _oldMsgstr ""
lokalize(6895) KAiderView::approvedEntryDisplayed: approvedEntryDisplayed. entry: 54 approved: true
lokalize(6895) Catalog::flushUpdateDBBuffer: updating!!
lokalize(6895) TM::TMView::slotSuggestionsCame: query other DBs 4
lokalize(6895) TM::TMView::slotSuggestionsCame: query other DBs 4
lokalize(6895) removeFromIndex: here for "If the connection has been used previously, you can also access it by
<menuchoice><guimenu>Machine</guimenu><guimenu>Recent connections...</
guimenu></menuchoice>."
lokalize(6895) KAiderView::toggleApprovement: called
lokalize(6895) Catalog::flushUpdateDBBuffer: updating!!
lokalize(6895) KAiderView::approvedEntryDisplayed: approvedEntryDisplayed. entry: 54 approved: false
lokalize(6895) KAiderView::contentsChanged: !!!!!!!!!!!! offset 0 charsRemoved 1 _oldMsgstr ""

GDB backtrace (after attaching remotely):
(gdb) bt full                                                                                                                                  
#0  0xb686966d in memset () from /lib/libc.so.6
No symbol table info available.
#1  0xb6abcac1 in ?? () from /usr/lib/libQtCore.so.4
No symbol table info available.
#2  0x092fb284 in ?? ()
No symbol table info available.
#3  0xffffffff in ?? ()
No symbol table info available.
#4  0x00000020 in ?? ()
No symbol table info available.
#5  0xb6ac50c5 in ?? () from /usr/lib/libQtCore.so.4
No symbol table info available.
#6  0xb6ac52a6 in QRegExp::indexIn(QString const&, int, QRegExp::CaretMode) const () from /usr/lib/libQtCore.so.4
No symbol table info available.
#7  0xb6acb798 in QString::indexOf(QRegExp const&, int) const () from /usr/lib/libQtCore.so.4
No symbol table info available.
#8  0x0808137a in SyntaxHighlighter::highlightBlock (this=0x81b8b18, text=@0xbf83abf8)
    at /usr/src/debug/kdesdk-4.2.1/lokalize/src/syntaxhighlighter.cpp:176
        length = -1
        f = {
          <QTextFormat> = {
            static staticMetaObject = {
              d = {
                superdata = 0x0,
                stringdata = 0xb741a720 "QTextFormat",
                data = 0xb741ac80,
                extradata = 0x0
              }
            },
            d = {
              d = 0x9167f28
            },
            format_type = 2
          }, <No data fields>}
        expression = {
          priv = 0x90842b8
        }
        index = 31
        _container_ = {
          c = {
            {
              p = 0x8212b08,
---Type <return> to continue, or q <return> to quit---
              d = 0x8212b08
            }
          },
          brk = 0,
          i = 0x8212b30,
          e = 0x8212b3c
        }
        f = {
          <QTextFormat> = {
            static staticMetaObject = {
              d = {
                superdata = 0x0,
                stringdata = 0xb741a720 "QTextFormat",
                data = 0xb741ac80,
                extradata = 0x0
              }
            },
            d = {
              d = 0x8bb5f48
            },
            format_type = 2
          }, <No data fields>}
#9  0xb700db5d in ?? () from /usr/lib/libQtGui.so.4
No symbol table info available.
#10 0xb700dd0a in ?? () from /usr/lib/libQtGui.so.4
No symbol table info available.
#11 0xb700defa in QSyntaxHighlighter::rehighlight() () from /usr/lib/libQtGui.so.4
No symbol table info available.
#12 0x0807e2d9 in KAiderView::gotoEntry (this=0x81feb98, pos=@0xbf83af08, selection=0)
    at /usr/src/debug/kdesdk-4.2.1/lokalize/src/kaiderview.cpp:730
        targetString = {
          static null = {<No data fields>},
          static shared_null = {
            ref = {
              _q_value = 21015
            },
            alloc = 0,
            size = 0,
            data = 0x80f6b52,
            clean = 0,
            simpletext = 0,
            righttoleft = 0,
---Type <return> to continue, or q <return> to quit---
            asciiCache = 0,
            capacity = 0,
            reserved = 0,
            array =               {0}
          },
          static shared_empty = {
            ref = {
              _q_value = 295
            },
            alloc = 0,
            size = 0,
            data = 0xb6c5c64e,
            clean = 0,
            simpletext = 0,
            righttoleft = 0,
            asciiCache = 0,
            capacity = 0,
            reserved = 0,
            array =               {0}
          },
          d = 0xbf83aecc,
          static codecForCStrings = 0x0
        }
        untrans = <value optimized out>
        msgEdit = <value optimized out>
        t = {
          d = {
            d = 0x3e
          }
        }
#13 0x08076940 in EditorWindow::gotoEntry (this=0x81fe3c8, pos=@0xbf83af08, selection=0)
    at /usr/src/debug/kdesdk-4.2.1/lokalize/src/kaider.cpp:900
        time = {
          mds = 40
        }
#14 0x08068641 in EditorWindow::qt_metacall (this=0x81fe3c8, _c=QMetaObject::InvokeMetaMethod, _id=21, _a=0xbf83aecc)
    at /usr/src/debug/kdesdk-4.2.1/build/lokalize/src/moc_kaider.cpp:219
No locals.
#15 0xb6b84799 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
No symbol table info available.
#16 0xb6b85394 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
No symbol table info available.
#17 0x08082395 in CatalogTreeView::gotoEntry (this=0x82901f0, _t1=@0xbf83af08, _t2=0)
    at /usr/src/debug/kdesdk-4.2.1/build/lokalize/src/cataloglistview.moc:87
        _a =           {0x0,
          0xbf83af08,
          0xbf83aee8}
#18 0x080823ef in CatalogTreeView::slotItemActivated (this=0x82901f0, idx=@0x90797c0)
    at /usr/src/debug/kdesdk-4.2.1/lokalize/src/cataloglistview/cataloglistview.cpp:119
No locals.
#19 0x08082664 in CatalogTreeView::qt_metacall (this=0x82901f0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbf83b00c)
    at /usr/src/debug/kdesdk-4.2.1/build/lokalize/src/cataloglistview.moc:75
No locals.
#20 0xb6b84799 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
No symbol table info available.
#21 0xb6b85394 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
No symbol table info available.
#22 0xb728fc45 in QAbstractItemView::clicked(QModelIndex const&) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#23 0xb729c875 in QAbstractItemView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#24 0xb72dcbcf in QTreeView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#25 0xb6db8a7e in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#26 0xb71616bb in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#27 0xb71f7483 in QAbstractScrollArea::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#28 0xb729f60d in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#29 0xb72d767e in QTreeView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#30 0xb71f982c in ?? () from /usr/lib/libQtGui.so.4
No symbol table info available.
#31 0xb6b6ef87 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
No symbol table info available.
#32 0xb6d6837e in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#33 0xb6d707ef in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#34 0xb7a4a805 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
No symbol table info available.
#35 0xb6b6fc12 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#24 0xb72dcbcf in QTreeView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#25 0xb6db8a7e in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#26 0xb71616bb in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#27 0xb71f7483 in QAbstractScrollArea::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#28 0xb729f60d in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#29 0xb72d767e in QTreeView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#30 0xb71f982c in ?? () from /usr/lib/libQtGui.so.4
No symbol table info available.
#31 0xb6b6ef87 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
No symbol table info available.
#32 0xb6d6837e in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#33 0xb6d707ef in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#34 0xb7a4a805 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
No symbol table info available.
#35 0xb6b6fc12 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#36 0xb6d6f935 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&) ()
   from /usr/lib/libQtGui.so.4
No symbol table info available.
#37 0xb6dd7b53 in ?? () from /usr/lib/libQtGui.so.4
No symbol table info available.
#38 0xb6dd7039 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
No symbol table info available.
#39 0xb6dfe028 in ?? () from /usr/lib/libQtGui.so.4
No symbol table info available.
#40 0xb62934d6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#41 0xb6296681 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#42 0x080ff8f8 in ?? ()
No symbol table info available.
#43 0x00000000 in ?? ()
No symbol table info available.
Comment 1 Pino Toscano 2009-03-15 13:24:33 UTC
(In reply to comment #0)
> #6  0xb6ac52a6 in QRegExp::indexIn(QString const&, int, QRegExp::CaretMode)
> const () from /usr/lib/libQtCore.so.4
> No symbol table info available.
> #7  0xb6acb798 in QString::indexOf(QRegExp const&, int) const () from
> /usr/lib/libQtCore.so.4

Sounds like the problem described in:
http://labs.trolltech.com/blogs/2008/11/04/910/
Comment 2 Łukasz Jernaś 2009-03-15 14:24:12 UTC
Created attachment 32137 [details]
Fix freezing

The patch is against the 4.2 branch, initial testing shows it fixes the problem for me.
Comment 3 Mark Ziegler 2009-03-15 18:18:00 UTC
Created attachment 32145 [details]
po file (drupal module)
Comment 4 Mark Ziegler 2009-03-15 18:18:41 UTC
Here it freezes as well.

Konsole output:
mark@smaug:~> lokalize
lokalize(6838) TM::OpenDBJob::run: db opened  2 "/home/mark/.kde4/share/apps/lokalize/kde-de.db"
lokalize(6838) LokalizeMainWindow::setupActions: finished 64
lokalize(6838) Project::load: Finishing jobs...
lokalize(6838) GettextCatalog::GettextImportPlugin::load: _trailingNewLines 1
lokalize(6838) Catalog::loadFromUrl: file opened  27
lokalize(6838) KAiderView::approvedEntryDisplayed: approvedEntryDisplayed. entry: 0 approved: true
lokalize(6838)/kross (kdelibs) Kross::Action::setInterpreter: interpreter not found: "python"
lokalize(6838): Attempt to use QAction "widget-text-capture" with KXMLGUIFactory!
lokalize(6838) main: showing LokalizeMainWindow
lokalize(6838): Attempt to use QAction "showmsgiddiff_action" with KXMLGUIFactory!
lokalize(6838): Attempt to use QAction "showmergeview_action" with KXMLGUIFactory!
lokalize(6838): Attempt to use QAction "showmergeviewsecondary_action" with KXMLGUIFactory!
lokalize(6838): Attempt to use QAction "showcatalogtreeview_action" with KXMLGUIFactory!
lokalize(6838): Attempt to use QAction "showmsgctxt_action" with KXMLGUIFactory!
lokalize(6838): Attempt to use QAction "showtmqueryview_action" with KXMLGUIFactory!
lokalize(6838): Attempt to use QAction "showglossaryview_action" with KXMLGUIFactory!
lokalize(6838): Attempt to use QAction "showwebqueryview_action" with KXMLGUIFactory!
lokalize(6838) LokalizeMainWindow::slotSubWindowActivated: finished 9
lokalize(6838) main: LokalizeMainWindow shown
lokalize(6838) TM::TMView::slotSuggestionsCame: query other DBs 3
lokalize(6838) TM::OpenDBJob::run: db opened  0 "/home/mark/.kde4/share/apps/lokalize/scripts.db"

lokalize --version
Qt: 4.5.0
KDE: 4.2.1 (KDE 4.2.1) "release 103"
Lokalize: 0.3

I uploaded po file (drupal module) which causes freeze
Comment 5 Jannick Kuhr 2009-03-16 12:18:51 UTC
Same here on openSUSE with 4.2.1. Downgrading Qt to 4.4.3 fixed it for me. Possibly a Qt 4.5 issue?
Comment 6 Nick Shaforostoff 2009-03-16 22:09:01 UTC
SVN commit 940206 by shaforo:

Qt 4.5 bug workaround. It must be fixed upstream when KDE 4.3 arrives so no changes in trunk.
BUG:187219




 M  +2 -2      syntaxhighlighter.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=940206
Comment 7 Pino Toscano 2009-03-16 22:20:44 UTC
(In reply to comment #6)
> Qt 4.5 bug workaround. It must be fixed upstream when KDE 4.3 arrives so no
> changes in trunk.

Actually, this is a documented behaviour change (see comment #1), so please forward port to trunk.
Comment 8 Nick Shaforostoff 2009-03-16 22:34:22 UTC
ok, thanks for pointing this out