Summary: | Lokalize crashes | ||
---|---|---|---|
Product: | [Applications] lokalize | Reporter: | Balachandran S <balachandran> |
Component: | general | Assignee: | Nick Shaforostoff <shafff> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | adrian, eugene.shatokhin |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Balachandran S
2013-03-29 18:00:56 UTC
the backtrace is not really useful unfortunately. did you run any KDE apps during system update before? please install dbg packages for the case when the crash repeats (as i understand it is a one-timer and you don't have a way to reproduce it) We have observed a similar bug on our systems. Application: lokalize KDE Platform Version: 4.9.5 (4.9.5) Qt Version: 4.8.4 Operating System: ROSA Desktop Fresh 2012 i586 How to reproduce: 1. Open lokalize, preferably without file open. 2. Open any .po file in lokalize. On some of our systems, segfault happens at this stage, almost each time. 3. If lokalize did not crash, close that .po file. A portion of the output of lokalize before the crash: -------------------------------------------- lokalize(12967) Catalog::loadFromUrl: file opened in 19 Enchant dict for "ru" 0x9b0a8b0 Enchant dict for "en_US" 0xa429b78 Enchant dict for "ru" 0x9b0a8b0 Enchant dict for "ru_RU" 0xa4326c0 lokalize(12967)/kdeui (kdelibs): Attempt to use QAction "showmsgiddiff_action" with KXMLGUIFactory! lokalize(12967)/kdeui (kdelibs): Attempt to use QAction "showmergeview_action" with KXMLGUIFactory! lokalize(12967)/kdeui (kdelibs): Attempt to use QAction "showmergeviewsecondary_action" with KXMLGUIFactory! lokalize(12967)/kdeui (kdelibs): Attempt to use QAction "showcatalogtreeview_action" with KXMLGUIFactory! lokalize(12967)/kdeui (kdelibs): Attempt to use QAction "showmsgctxt_action" with KXMLGUIFactory! lokalize(12967)/kdeui (kdelibs): Attempt to use QAction "showtmqueryview_action" with KXMLGUIFactory! lokalize(12967)/kdeui (kdelibs): Attempt to use QAction "showglossaryview_action" with KXMLGUIFactory! lokalize(12967)/kdeui (kdelibs): Attempt to use QAction "showbinunitsview_action" with KXMLGUIFactory! lokalize(12967) CompletionStorage::scanCatalog: indexed KUrl("file:///home/rosauser/svn_trunk/ru/messages/extragear-kdevelop/kdevclassbrowser.po") for word completion in 0 msecs lokalize(12967) TM::TMView::slotCacheSuggestions: 7 lokalize(12967) TM::TMView::slotCacheSuggestions: 8 lokalize(12967)/lokalize (TM) TM::ScanJob::run: started "/home/rosauser/svn_trunk/ru/messages/extragear-kdevelop/kdevclassbrowser.po" "kde-ru" lokalize(12967) Catalog::loadFromUrl: file opened in 3 X Error: BadWindow (invalid Window parameter) 3 Major opcode: 20 (X_GetProperty) Resource id: 0x3800130 lokalize(12967)/lokalize (TM) TM::ScanJob::run: ScanJob: done 255 lokalize(12967)/lokalize (TM) TM::ScanJob::~ScanJob: KUrl("file:///home/rosauser/svn_trunk/ru/messages/extragear-kdevelop/kdevclassbrowser.po") Segmentation fault (core dumped) -------------------------------------------- On those our machines where lokalize did not crash, the following was output after "TM::ScanJob::~ScanJob" message: -------------------------------------------- lokalize(5207)/kdeui (kdelibs) KXMLGUIClient::~KXMLGUIClient: 0x8a3eb58 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes. -------------------------------------------- Not sure if that warning is related to the crash but still. Here are the backtraces (debug symbols for Qt are missing but I have resolved the relevant addresses manually, see below). Thread 1 (Thread 0xb5071a00 (LWP 12751)): // This thread crashed. #0 0xb6742ba7 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #1 0xb6dc3881 in QGtkStyleUpdateScheduler::updateTheme () from /usr/lib/libQtGui.so.4 #2 0xb70f26ab in QGtkStyleUpdateScheduler::qt_static_metacall () from /usr/lib/libQtGui.so.4 #3 0xb67545ba in QMetaCallEvent::placeMetaCall () from /usr/lib/libQtCore.so.4 #4 0xb675929b in QObject::event () from /usr/lib/libQtCore.so.4 #5 0xb69e66ec in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #6 0xb69e871f in QApplication::notify () from /usr/lib/libQtGui.so.4 #7 0xb798ed01 in KApplication::notify (this=0xbfffec64, receiver=0x9ed65a8, event=0x82c8e88) at /usr/src/debug/kdelibs-4.9.5/kdeui/kernel/kapplication.cpp:311 #8 0xb6742bbe in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #9 0xb67466b0 in QCoreApplicationPrivate::sendPostedEvents () from /usr/lib/libQtCore.so.4 #10 0xb6746a9c in QCoreApplication::sendPostedEvents () from /usr/lib/libQtCore.so.4 #11 0xb6773db4 in postEventSourceDispatch () from /usr/lib/libQtCore.so.4 #12 0xb584b8b3 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #13 0xb584bc50 in ?? () from /lib/libglib-2.0.so.0 #14 0xb584bd31 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #15 0xb6773f38 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #16 0xb6a92a8a in QGuiEventDispatcherGlib::processEvents () from /usr/lib/libQtGui.so.4 #17 0xb67416cc in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #18 0xb67419b9 in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #19 0xb6746b4d in QCoreApplication::exec () from /usr/lib/libQtCore.so.4 #20 0xb69e0804 in QApplication::exec () from /usr/lib/libQtGui.so.4 #21 0x08072c85 in main (argc=1, argv=0xbfffed34) at /usr/src/debug/kdesdk-4.9.5/lokalize/src/main.cpp:126 Thread 9 (Thread 0xa5debb40 (LWP 12769)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb63d3c61 in select () from /lib/i686/libc.so.6 #2 0xb671e993 in QProcessManager::run () from /usr/lib/libQtCore.so.4 #3 0xb6631628 in QThreadPrivate::start () from /usr/lib/libQtCore.so.4 #4 0xb5afaae6 in start_thread () from /lib/i686/libpthread.so.0 #5 0xb63db45e in clone () from /lib/i686/libc.so.6 Thread 8 (Thread 0xa69ffb40 (LWP 12765)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb5afe17c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libpthread.so.0 #2 0xb63e9e8c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libc.so.6 #3 0xb6631c00 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #4 0xb7791475 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x851a3b0, th=0x9111dc0) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/WeaverImpl.cpp:365 #5 0xb77942bb in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x851a618, th=0x9111dc0) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/WorkingHardState.cpp:80 #6 0xb7790fda in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x851a3b0, th=0x9111dc0) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/WeaverImpl.cpp:356 #7 0xb7794414 in ThreadWeaver::WorkingHardState::applyForWork (this=0x851a618, th=0x9111dc0) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/WorkingHardState.cpp:71 #8 0xb7790ed3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x851a3b0, th=0x9111dc0, previous=0x91968e8) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/WeaverImpl.cpp:351 #9 0xb7792e64 in ThreadWeaver::ThreadRunHelper::run (this=0xa69ff2c4, parent=0x851a3b0, th=0x9111dc0) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/Thread.cpp:87 #10 0xb7792f1a in ThreadWeaver::Thread::run (this=0x9111dc0) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/Thread.cpp:142 #11 0xb6631628 in QThreadPrivate::start () from /usr/lib/libQtCore.so.4 #12 0xb5afaae6 in start_thread () from /lib/i686/libpthread.so.0 #13 0xb63db45e in clone () from /lib/i686/libc.so.6 Thread 7 (Thread 0xa738eb40 (LWP 12764)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb63d0a9b in poll () from /lib/i686/libc.so.6 #2 0xb585a61b in g_poll () from /lib/libglib-2.0.so.0 #3 0xb584bbd0 in ?? () from /lib/libglib-2.0.so.0 #4 0xb584bd31 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #5 0xb6773f57 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #6 0xb67416cc in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #7 0xb67419b9 in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #8 0xb662e1bc in QThread::exec () from /usr/lib/libQtCore.so.4 #9 0xb67206bd in QInotifyFileSystemWatcherEngine::run () from /usr/lib/libQtCore.so.4 #10 0xb6631628 in QThreadPrivate::start () from /usr/lib/libQtCore.so.4 #11 0xb5afaae6 in start_thread () from /lib/i686/libpthread.so.0 #12 0xb63db45e in clone () from /lib/i686/libc.so.6 Thread 6 (Thread 0xae632b40 (LWP 12763)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb5afe17c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libpthread.so.0 #2 0xb63e9e8c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libc.so.6 #3 0xb60b907d in QTWTF::TCMalloc_PageHeap::scavengerThread () from /usr/lib/libQtScript.so.4 #4 0xb60b90af in QTWTF::TCMalloc_PageHeap::runScavengerThread () from /usr/lib/libQtScript.so.4 #5 0xb5afaae6 in start_thread () from /lib/i686/libpthread.so.0 #6 0xb63db45e in clone () from /lib/i686/libc.so.6 Thread 5 (Thread 0xaf5ffb40 (LWP 12761)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb5afe17c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libpthread.so.0 #2 0xb63e9e8c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libc.so.6 #3 0xb6631c00 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #4 0xb7791475 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8516f78, th=0x8d3b060) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/WeaverImpl.cpp:365 #5 0xb77942bb in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x84c81e0, th=0x8d3b060) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/WorkingHardState.cpp:80 #6 0xb7790fda in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8516f78, th=0x8d3b060) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/WeaverImpl.cpp:356 #7 0xb7794414 in ThreadWeaver::WorkingHardState::applyForWork (this=0x84c81e0, th=0x8d3b060) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/WorkingHardState.cpp:71 #8 0xb7790ed3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8516f78, th=0x8d3b060, previous=0x9089b18) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/WeaverImpl.cpp:351 #9 0xb7792e64 in ThreadWeaver::ThreadRunHelper::run (this=0xaf5ff2c4, parent=0x8516f78, th=0x8d3b060) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/Thread.cpp:87 #10 0xb7792f1a in ThreadWeaver::Thread::run (this=0x8d3b060) at /usr/src/debug/kdelibs-4.9.5/threadweaver/Weaver/Thread.cpp:142 #11 0xb6631628 in QThreadPrivate::start () from /usr/lib/libQtCore.so.4 #12 0xb5afaae6 in start_thread () from /lib/i686/libpthread.so.0 #13 0xb63db45e in clone () from /lib/i686/libc.so.6 Thread 4 (Thread 0xaffffb40 (LWP 12760)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb63d0a9b in poll () from /lib/i686/libc.so.6 #2 0xb585a61b in g_poll () from /lib/libglib-2.0.so.0 #3 0xb584bbd0 in ?? () from /lib/libglib-2.0.so.0 #4 0xb584bd31 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #5 0xb6773f38 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #6 0xb67416cc in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #7 0xb67419b9 in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #8 0xb662e1bc in QThread::exec () from /usr/lib/libQtCore.so.4 #9 0xb67206bd in QInotifyFileSystemWatcherEngine::run () from /usr/lib/libQtCore.so.4 #10 0xb6631628 in QThreadPrivate::start () from /usr/lib/libQtCore.so.4 #11 0xb5afaae6 in start_thread () from /lib/i686/libpthread.so.0 #12 0xb63db45e in clone () from /lib/i686/libc.so.6 Thread 3 (Thread 0xb093ab40 (LWP 12759)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb5afe17c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libpthread.so.0 #2 0xb63e9e8c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libc.so.6 #3 0xb6631c00 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #4 0xb6f59a9f in QFileInfoGatherer::run () from /usr/lib/libQtGui.so.4 #5 0xb6631628 in QThreadPrivate::start () from /usr/lib/libQtCore.so.4 #6 0xb5afaae6 in start_thread () from /lib/i686/libpthread.so.0 #7 0xb63db45e in clone () from /lib/i686/libc.so.6 Thread 2 (Thread 0xb26a7b40 (LWP 12758)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb63d0a9b in poll () from /lib/i686/libc.so.6 #2 0xb585a61b in g_poll () from /lib/libglib-2.0.so.0 #3 0xb584bbd0 in ?? () from /lib/libglib-2.0.so.0 #4 0xb584c0ab in g_main_loop_run () from /lib/libglib-2.0.so.0 #5 0xb307abfa in ?? () from /lib/libgio-2.0.so.0 #6 0xb58713c3 in ?? () from /lib/libglib-2.0.so.0 #7 0xb5afaae6 in start_thread () from /lib/i686/libpthread.so.0 #8 0xb63db45e in clone () from /lib/i686/libc.so.6 From the source and binary code of QCoreApplication::notifyInternal(), it looks like the crash happened here: http://qt.gitorious.org/qt/qt/blobs/4.8/src/corelib/kernel/qcoreapplication.cpp#line936 921 bool QCoreApplication::notifyInternal(QObject *receiver, QEvent *event) <...> 935 QObjectPrivate *d = receiver->d_func(); 936 QThreadData *threadData = d->threadData; 937 ++threadData->loopLevel; Most of the time crash happens at line 936, sometimes - at 937. I looked at the contents of the registers and it looks like QCoreApplication::notifyInternal() is called for a broken 'receiver' object. In one of the situations when lokalize crashed, d->threadData was 8. Valgrind's Memcheck did not show anything special, so perhaps it was unlikely that memory corruption was the cause. A kind of race between usage of an object and the destruction of this object, may be? If you need any other information, please let me know. looks like a KXMLGUIClient object deletion needs to be done properly. i'll have a look soon. Any news about this issue? Regarding the steps to reproduce:
> 1. Open lokalize, preferably without file open.
> 2. Open any .po file in lokalize. On some of our systems, segfault happens at this stage, almost each time.
> 3. If lokalize did not crash, close that .po file.
I cannot reproduce this with Lokalize 1.5. Can you?
(In reply to comment #5) > I cannot reproduce this with Lokalize 1.5. Can you? Sorry for late reply. No, the crash does not happen with Lokalize 1.5 (KDE 4.10.5). |