Bug 355806 - Lokalize crashes opening .po file with 0 real entries (empty)
Summary: Lokalize crashes opening .po file with 0 real entries (empty)
Status: RESOLVED FIXED
Alias: None
Product: lokalize
Classification: Applications
Component: general (show other bugs)
Version: 2.0
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Nick Shaforostoff
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-11-23 19:39 UTC by Lasse Liehu
Modified: 2015-12-08 01:14 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
File that crashes Lokalize when it's opened (8.12 KB, text/plain)
2015-12-04 19:17 UTC, Lasse Liehu
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lasse Liehu 2015-11-23 19:39:01 UTC
Application: lokalize (2.0)
 (Compiled from sources)
Qt Version: 5.5.1
Operating System: Linux 4.2.5-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
- What I was doing when the application crashed:

Clicked on "Open file containing this entry" menu entry on the context menu on a translation memory suggestion item inside the Translation Memory tool view.

The crash can be reproduced every time.

-- Backtrace:
Application: Lokalize (lokalize), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f77e9a96840 (LWP 2709))]

Thread 5 (Thread 0x7f77c477e700 (LWP 2711)):
#0  0x00007f77e05cd07f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f77e80dc5e4 in ?? () from /usr/lib/libQt5Script.so.5
#2  0x00007f77e80dc629 in ?? () from /usr/lib/libQt5Script.so.5
#3  0x00007f77e05c74a4 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f77e21e613d in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f7743a6d700 (LWP 2712)):
#0  0x00007f77e05cd07f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f77e2df3bfb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f77e46b2a9a in ?? () from /usr/lib/libQt5Widgets.so.5
#3  0x00007f77e2df296e in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f77e05c74a4 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f77e21e613d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f774326c700 (LWP 2714)):
#0  0x00007f77e05cd07f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f77e2df3bfb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f77e2def5f3 in ?? () from /usr/lib/libQt5Core.so.5
#3  0x00007f77e2df296e in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f77e05c74a4 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f77e21e613d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f7741f1c700 (LWP 2718)):
#0  0x00007f77e05cd07f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f77e2df3bfb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f77e2def5f3 in ?? () from /usr/lib/libQt5Core.so.5
#3  0x00007f77e2df296e in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f77e05c74a4 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f77e21e613d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f77e9a96840 (LWP 2709)):
[KCrash Handler]
#6  0x00000000004e4035 in QVector<QString>::size() const ()
#7  0x00000000005c5211 in GettextCatalog::CatalogItemPrivate::msgid(int) const ()
#8  0x00000000005c541c in GettextCatalog::CatalogItem::msgid(int) const ()
#9  0x00000000005c3116 in GettextCatalog::GettextStorage::source(DocPosition const&) const ()
#10 0x00000000005b2bc9 in Catalog::msgid(DocPosition const&) const ()
#11 0x0000000000501973 in Catalog::source(DocPosition const&) const ()
#12 0x00000000004ff421 in EditorTab::findEntryBySourceContext(QString const&, QString const&) ()
#13 0x00000000004e749f in LokalizeMainWindow::fileOpen(QString const&, QString const&, QString const&) ()
#14 0x00000000005f004d in LokalizeMainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#15 0x00007f77e300212a in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#16 0x00000000005ebecd in EditorTab::fileOpenRequested(QString const&, QString const&, QString const&) ()
#17 0x00000000005ea2c1 in EditorTab::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#18 0x00007f77e300212a in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#19 0x00000000005f6d23 in TM::TMView::fileOpenRequested(QString const&, QString const&, QString const&) ()
#20 0x000000000057d503 in TM::TMView::contextMenu(QPoint const&) ()
#21 0x00000000005f69f0 in TM::TMView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#22 0x00007f77e300212a in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#23 0x00007f77e44a8c15 in QWidget::customContextMenuRequested(QPoint const&) () from /usr/lib/libQt5Widgets.so.5
#24 0x00007f77e44c2a2e in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#25 0x00007f77e45c0e4e in QFrame::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#26 0x00007f77e2fd379c in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#27 0x00007f77e447effc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#28 0x00007f77e4485e89 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#29 0x00007f77e2fd39ab in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#30 0x00007f77e44dc6d2 in ?? () from /usr/lib/libQt5Widgets.so.5
#31 0x00007f77e44deb5b in ?? () from /usr/lib/libQt5Widgets.so.5
#32 0x00007f77e447f01c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#33 0x00007f77e44844f6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#34 0x00007f77e2fd39ab in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#35 0x00007f77e3ca8111 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5
#36 0x00007f77e3ca9de5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5
#37 0x00007f77e3c8f208 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#38 0x00007f77d46fc3c0 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#39 0x00007f77de80fdc7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#40 0x00007f77de810020 in ?? () from /usr/lib/libglib-2.0.so.0
#41 0x00007f77de8100cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#42 0x00007f77e302a34f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#43 0x00007f77e2fd137a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#44 0x00007f77e2fd933c in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#45 0x00000000004e2b3d in main ()

Reported using DrKonqi
Comment 1 Lasse Liehu 2015-11-23 19:44:25 UTC
Noticed that there is no crash when the file exists. When I was able to reproduce this crash, I always clicked on the same suggestion and it was from a file that no longer existed.
Comment 2 Lasse Liehu 2015-11-23 19:57:04 UTC
Also noticed that the same crash seems to occur when clicking a search result in Translation Memory tab.
Comment 3 Nick Shaforostoff 2015-11-29 22:52:41 UTC
this is very strange. when i rename the file that would be opened by "Open file containing this entry" this entry just doesn't show up (only "remove this entry" is there)
Comment 4 Lasse Liehu 2015-12-04 19:15:58 UTC
I was actually wrong that the file didn't exist. I just didn't see it on the project overview. Anyway, opening that po file crashes Lokalize every time. Attaching it.
Comment 5 Lasse Liehu 2015-12-04 19:17:17 UTC
Created attachment 95899 [details]
File that crashes Lokalize when it's opened
Comment 6 Nick Shaforostoff 2015-12-08 01:14:44 UTC
Git commit 2c7614772b8c8a9d427131c2925392e9b1fbdb7f by Nick Shaforostoff.
Committed on 08/12/2015 at 01:13.
Pushed by shaforo into branch 'Applications/15.12'.

add sanity checks, fix build on osx

M  +1    -0    src/completionstorage.cpp
M  +1    -1    src/main.cpp
M  +1    -0    src/xlifftextedit.cpp

http://commits.kde.org/lokalize/2c7614772b8c8a9d427131c2925392e9b1fbdb7f