Bug 256744

Summary: lokalize crash when editing (with Qt 4.7.1)
Product: [Applications] lokalize Reporter: Alexander Potashev <aspotashev>
Component: editorAssignee: Nick Shaforostoff <shafff>
Status: RESOLVED DUPLICATE    
Severity: crash CC: lpapp
Priority: NOR    
Version: 1.1   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Alexander Potashev 2010-11-12 22:32:25 UTC
Version:           1.1 (KDE 4.5) (using KDE 4.5.3) 
OS:                Linux

Lokalize started to crash after update from Qt-4.7.0 to Qt-4.7.1.

This was reported while builing Lokalize:
[ 37%] Building CXX object lokalize/src/CMakeFiles/lokalize.dir/editorview.o
/usr/include/qt4/QtCore/qstring.h: In member function 'void EditorView::gotoEntry(DocPosition, int)':
/usr/include/qt4/QtCore/qstring.h:426: warning: array subscript is above array bounds

Backtrace:
Application: Lokalize (lokalize), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f1b85ce7760 (LWP 26482))]

Thread 4 (Thread 0x7f1b7166f710 (LWP 26483)):
#0  0x00007f1b7fed12ac in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f1b8258b73b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007f1b84492be4 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#3  0x00007f1b84495d5b in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#4  0x00007f1b844942f7 in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#5  0x00007f1b84494848 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#6  0x00007f1b8258abae in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007f1b7fecc914 in start_thread () from /lib/libpthread.so.0
#8  0x00007f1b81cf619d in clone () from /lib/libc.so.6

Thread 3 (Thread 0x7f1b6ecc1710 (LWP 26491)):
#0  0x00007f1b7fed12ac in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f1b81671934 in QTWTF::TCMalloc_PageHeap::scavengerThread() () from /usr/lib64/qt4/libQtScript.so.4
#2  0x00007f1b81671969 in QTWTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/qt4/libQtScript.so.4
#3  0x00007f1b7fecc914 in start_thread () from /lib/libpthread.so.0
#4  0x00007f1b81cf619d in clone () from /lib/libc.so.6

Thread 2 (Thread 0x7f1b543cb710 (LWP 26492)):
#0  0x00007f1b7fed12ac in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f1b8258b73b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007f1b84492be4 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#3  0x00007f1b84495d5b in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#4  0x00007f1b844942f7 in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#5  0x00007f1b84494848 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#6  0x00007f1b8258abae in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007f1b7fecc914 in start_thread () from /lib/libpthread.so.0
#8  0x00007f1b81cf619d in clone () from /lib/libc.so.6

Thread 1 (Thread 0x7f1b85ce7760 (LWP 26482)):
[KCrash Handler]
#6  0x00007f1b82de1cb0 in QTextLayout::lineCount() const () from /usr/lib64/qt4/libQtGui.so.4
#7  0x00007f1b82e2ebfc in QTextCursorPrivate::blockLayout(QTextBlock&) const () from /usr/lib64/qt4/libQtGui.so.4
#8  0x00007f1b82e320b3 in QTextCursorPrivate::movePosition(QTextCursor::MoveOperation, QTextCursor::MoveMode) () from /usr/lib64/qt4/libQtGui.so.4
#9  0x00007f1b82e34435 in QTextCursor::movePosition(QTextCursor::MoveOperation, QTextCursor::MoveMode, int) () from /usr/lib64/qt4/libQtGui.so.4
#10 0x00007f1b82e3620c in QTextCursor::select(QTextCursor::SelectionType) () from /usr/lib64/qt4/libQtGui.so.4
#11 0x0000000000456e0e in TranslationUnitTextEdit::toPlainText() ()
#12 0x000000000045d14b in TranslationUnitTextEdit::contentsChanged(int, int, int) ()
#13 0x000000000045db51 in TranslationUnitTextEdit::qt_metacall(QMetaObject::Call, int, void**) ()
#14 0x00007f1b82690f7f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#15 0x00007f1b8320e1ca in QTextDocument::contentsChange(int, int, int) () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007f1b82e093f9 in QTextDocumentPrivate::finishEdit() () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007f1b82e0b76c in QTextDocumentPrivate::move(int, int, int, QTextUndoCommand::Operation) () from /usr/lib64/qt4/libQtGui.so.4
#18 0x00007f1b82e0b936 in QTextDocumentPrivate::remove(int, int, QTextUndoCommand::Operation) () from /usr/lib64/qt4/libQtGui.so.4
#19 0x00007f1b82e2f7c5 in QTextCursorPrivate::remove() () from /usr/lib64/qt4/libQtGui.so.4
#20 0x00007f1b82e34d0c in QTextCursor::deletePreviousChar() () from /usr/lib64/qt4/libQtGui.so.4
#21 0x00007f1b82dd178a in QTextControlPrivate::keyPressEvent(QKeyEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#22 0x00007f1b82dd5246 in QTextControl::processEvent(QEvent*, QMatrix const&, QWidget*) () from /usr/lib64/qt4/libQtGui.so.4
#23 0x00007f1b82dcaffc in QTextControl::processEvent(QEvent*, QPointF const&, QWidget*) () from /usr/lib64/qt4/libQtGui.so.4
#24 0x00007f1b82fe120b in QTextEditPrivate::sendControlEvent(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#25 0x00007f1b82fe0965 in QTextEdit::keyPressEvent(QKeyEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#26 0x00000000004579a1 in TranslationUnitTextEdit::keyPressEvent(QKeyEvent*) ()
#27 0x00007f1b82bc6359 in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#28 0x00007f1b82f69b66 in QFrame::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#29 0x00007f1b82ff54cb in QAbstractScrollArea::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#30 0x00007f1b82fe0ac5 in QTextEdit::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#31 0x000000000045db8b in TranslationUnitTextEdit::event(QEvent*) ()
#32 0x00007f1b82b7125c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#33 0x00007f1b82b790a1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#34 0x00007f1b848e5ab6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#35 0x00007f1b8267979b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#36 0x00007f1b82c1bd47 in QKeyMapper::sendKeyEvent(QWidget*, bool, QEvent::Type, int, QFlags<Qt::KeyboardModifier>, QString const&, bool, int, unsigned int, unsigned int, unsigned int, bool*) () from /usr/lib64/qt4/libQtGui.so.4
#37 0x00007f1b82c1e221 in QKeyMapperPrivate::translateKeyEvent(QWidget*, _XEvent const*, bool) () from /usr/lib64/qt4/libQtGui.so.4
#38 0x00007f1b82bf7604 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#39 0x00007f1b82c21732 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/qt4/libQtGui.so.4
#40 0x00007f1b7e2f7e21 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#41 0x00007f1b7e2fbd20 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#42 0x00007f1b7e2fbed4 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#43 0x00007f1b826a4f13 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#44 0x00007f1b82c210ae in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#45 0x00007f1b82678522 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#46 0x00007f1b8267890d in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#47 0x00007f1b8267c903 in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#48 0x0000000000438b9d in main ()


Reproducible: Always

Steps to Reproduce:
1. open a .po file
2. select a message without translation
3. type something
4. press Home
5. press End
6. press Backspace

Actual Results:  
crash


Qt 4.7.1
Comment 1 Alexander Potashev 2010-11-12 22:59:36 UTC

*** This bug has been marked as a duplicate of bug 249373 ***