Bug 140226 - Find - okular crash in all documents
Summary: Find - okular crash in all documents
Status: RESOLVED FIXED
Alias: None
Product: okular
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash (vote)
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-18 08:01 UTC by Jiri Klement
Modified: 2007-08-02 11:36 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jiri Klement 2007-01-18 08:01:59 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
Compiler:          gcc 4.1.1-3 
OS:                Linux

Searching in documents (tested with pdf, chm and odt) always cause segmentation fault. Find dialog is correctly displayed, but after click on OK, okular crashes.

Backtrace from gdb:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1235499344 (LWP 6137)]
0xb7e9426f in QMetaObject::activate () from /usr/lib/qt4/libQtCore.so.4
(gdb) backtrace 
#0  0xb7e9426f in QMetaObject::activate () from /usr/lib/qt4/libQtCore.so.4
#1  0xb7e951bc in QMetaObject::activate () from /usr/lib/qt4/libQtCore.so.4
#2  0xb7a73b44 in KDialog::okClicked () from /usr/kde/4.0/lib/libkdeui.so.5
#3  0xb7c0320c in typeinfo for KBugReport ()
   from /usr/kde/4.0/lib/libkdeui.so.5
#4  0x00000008 in ?? ()
#5  0x00000000 in ?? ()

A slightly different backtrace:

#0  0xb7ddb782 in QThreadStorageData::~QThreadStorageData () from /usr/lib/qt4/libQtCore.so.4
#1  0xb7dd8c61 in QMutex::lock () from /usr/lib/qt4/libQtCore.so.4
#2  0xb7dd9199 in QReadWriteLock::lockForRead () from /usr/lib/qt4/libQtCore.so.4
#3  0xb7e92384 in QMetaObject::activate () from /usr/lib/qt4/libQtCore.so.4
#4  0xb7e931bc in QMetaObject::activate () from /usr/lib/qt4/libQtCore.so.4
#5  0xb7a6c1e4 in KDialog::okClicked () from /usr/kde/4.0/lib/libkdeui.so.5
#6  0xb7c02acc in typeinfo for KBugReport () from /usr/kde/4.0/lib/libkdeui.so.5
#7  0x00000008 in ?? ()
#8  0x00000000 in ?? ()

Tested with qt 4.2.2 and current kdelibs from svn.
Comment 1 Albert Astals Cid 2007-01-18 21:03:52 UTC
SVN commit 625053 by aacid:

okClicked is emitted by KDialog and this slot is connected to it, so if we emit it from there we end up in a infinite loop and we crash.
BUG: 140226


 M  +0 -1      kfinddialog.cpp  


--- trunk/KDE/kdelibs/kdeui/findreplace/kfinddialog.cpp #625052:625053
@@ -606,7 +606,6 @@
         }
     }
     m_find->addToHistory(pattern());
-    emit okClicked();
     if ( windowModality() != Qt::NonModal )
         accept();
 }