Bug 268782 - okteta replace: eat 100% of one core
Summary: okteta replace: eat 100% of one core
Status: RESOLVED WORKSFORME
Alias: None
Product: okteta
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Friedrich W. H. Kossebau
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-17 20:58 UTC by David Heidelberg
Modified: 2016-10-18 18:17 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 David Heidelberg 2011-03-17 20:58:44 UTC
Version:           unspecified (using KDE 4.6.1) 
OS:                Linux

When I request replace of for example ABCD with 00AA, it eating my cpu very long time with no responce, progress bar or reaction.

Reproducible: Always

Steps to Reproduce:
run replace in okteta (of course that pattern must exist)

Actual Results:  
Program received signal SIGINT, Interrupt.
0x00007ffff485abb1 in KDE::NumberRange<int, int>::width (this=0x12fcca0)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/core/numberrange.h:141
141     /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/core/numberrange.h: No such file or directory.
        in /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/core/numberrange.h
(gdb) bt
#0  0x00007ffff485abb1 in KDE::NumberRange<int, int>::width (this=0x12fcca0)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/core/numberrange.h:141
#1  0x00007ffff485a744 in KPieceTable::PieceTable::getStorageData (this=<value optimized out>, storageId=0x7fffffffc10c, 
    storageOffset=0x7fffffffc108, dataOffset=501039)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/core/piecetable/piecetable.cpp:55
#2  0x00007ffff4864895 in Okteta::PieceTableByteArrayModelPrivate::byte (this=0x126e7c0, offset=<value optimized out>)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/core/piecetablebytearraymodel_p.cpp:57
#3  0x00007ffff4860430 in Okteta::AbstractByteArrayModel::indexOf (this=0x119ca10, pattern=0x11d3678 "va", patternLength=2, fromOffset=501039, 
    toOffset=14067251) at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/core/abstractbytearraymodel.cpp:85
#4  0x00007ffff7b37f23 in Kasten::SearchJob::exec (this=0x1350080)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/kasten/controllers/view/search/searchjob.cpp:64
#5  0x00007ffff7b39c0e in Kasten::ReplaceTool::doReplace (this=0x7123a0, direction=Kasten::FindForward, startIndex=500588)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/kasten/controllers/view/replace/replacetool.cpp:186
#6  0x00007ffff7b39e8c in Kasten::ReplaceTool::replace (this=0x7123a0, direction=Kasten::FindForward, fromCursor=false, 
    inSelection=<value optimized out>)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/kasten/controllers/view/replace/replacetool.cpp:168
#7  0x00007ffff7b39167 in Kasten::KReplaceDialog::slotButtonClicked (this=0x11b05b0, button=<value optimized out>)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/kasten/controllers/view/replace/kreplacedialog.cpp:115
#8  0x00007ffff6ae5d32 in KDialog::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#9  0x00007ffff7b14177 in Kasten::KAbstractFindDialog::qt_metacall (this=0x11b05b0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, 
    _a=0x7fffffffc470) at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1_build/okteta/kasten/controllers/moc_kabstractfinddialog.cpp:72
#10 0x00007ffff54cf897 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#11 0x00007ffff54d420e in QSignalMapper::mapped(int) () from /usr/lib64/qt4/libQtCore.so.4
#12 0x00007ffff54d4316 in QSignalMapper::map(QObject*) () from /usr/lib64/qt4/libQtCore.so.4
#13 0x00007ffff54d4a18 in QSignalMapper::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#14 0x00007ffff54cf897 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#15 0x00007ffff64d85e2 in QAbstractButton::clicked(bool) () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007ffff621f4bb in ?? () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007ffff6220a4b in ?? () from /usr/lib64/qt4/libQtGui.so.4
#18 0x00007ffff6220cac in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#19 0x00007ffff5eddae3 in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#20 0x00007ffff5e8ce44 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#21 0x00007ffff5e921a4 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#22 0x00007ffff6b88d06 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#23 0x00007ffff54bb483 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#24 0x00007ffff5e8de06 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /usr/lib64/qt4/libQtGui.so.4
#25 0x00007ffff5f0b4d0 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#26 0x00007ffff5f09bb9 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#27 0x00007ffff5f309ea in ?? () from /usr/lib64/qt4/libQtGui.so.4
#28 0x00007ffff0922cf2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#29 0x00007ffff09234a0 in ?? () from /usr/lib/libglib-2.0.so.0
#30 0x00007ffff092373d in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#31 0x00007ffff54e5a7f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#32 0x00007ffff5f3069e in ?? () from /usr/lib64/qt4/libQtGui.so.4
#33 0x00007ffff54ba8a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#34 0x00007ffff54baae4 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#35 0x00007ffff54bee63 in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#36 0x0000000000409404 in Kasten::OktetaProgram::execute (this=0x7fffffffdcf0)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/program/program.cpp:139
#37 0x0000000000408e87 in main (argc=<value optimized out>, argv=<value optimized out>)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/program/main.cpp:31
(gdb) 
#0  0x00007ffff485abb1 in KDE::NumberRange<int, int>::width (this=0x12fcca0)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/core/numberrange.h:141
#1  0x00007ffff485a744 in KPieceTable::PieceTable::getStorageData (this=<value optimized out>, storageId=0x7fffffffc10c, 
    storageOffset=0x7fffffffc108, dataOffset=501039)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/core/piecetable/piecetable.cpp:55
#2  0x00007ffff4864895 in Okteta::PieceTableByteArrayModelPrivate::byte (this=0x126e7c0, offset=<value optimized out>)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/core/piecetablebytearraymodel_p.cpp:57
#3  0x00007ffff4860430 in Okteta::AbstractByteArrayModel::indexOf (this=0x119ca10, pattern=0x11d3678 "va", patternLength=2, fromOffset=501039, 
    toOffset=14067251) at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/core/abstractbytearraymodel.cpp:85
#4  0x00007ffff7b37f23 in Kasten::SearchJob::exec (this=0x1350080)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/kasten/controllers/view/search/searchjob.cpp:64
#5  0x00007ffff7b39c0e in Kasten::ReplaceTool::doReplace (this=0x7123a0, direction=Kasten::FindForward, startIndex=500588)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/kasten/controllers/view/replace/replacetool.cpp:186
#6  0x00007ffff7b39e8c in Kasten::ReplaceTool::replace (this=0x7123a0, direction=Kasten::FindForward, fromCursor=false, 
    inSelection=<value optimized out>)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/kasten/controllers/view/replace/replacetool.cpp:168
#7  0x00007ffff7b39167 in Kasten::KReplaceDialog::slotButtonClicked (this=0x11b05b0, button=<value optimized out>)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/kasten/controllers/view/replace/kreplacedialog.cpp:115
#8  0x00007ffff6ae5d32 in KDialog::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#9  0x00007ffff7b14177 in Kasten::KAbstractFindDialog::qt_metacall (this=0x11b05b0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, 
    _a=0x7fffffffc470) at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1_build/okteta/kasten/controllers/moc_kabstractfinddialog.cpp:72
#10 0x00007ffff54cf897 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#11 0x00007ffff54d420e in QSignalMapper::mapped(int) () from /usr/lib64/qt4/libQtCore.so.4
#12 0x00007ffff54d4316 in QSignalMapper::map(QObject*) () from /usr/lib64/qt4/libQtCore.so.4
#13 0x00007ffff54d4a18 in QSignalMapper::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#14 0x00007ffff54cf897 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#15 0x00007ffff64d85e2 in QAbstractButton::clicked(bool) () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007ffff621f4bb in ?? () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007ffff6220a4b in ?? () from /usr/lib64/qt4/libQtGui.so.4
#18 0x00007ffff6220cac in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#19 0x00007ffff5eddae3 in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#20 0x00007ffff5e8ce44 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#21 0x00007ffff5e921a4 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#22 0x00007ffff6b88d06 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#23 0x00007ffff54bb483 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#24 0x00007ffff5e8de06 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /usr/lib64/qt4/libQtGui.so.4
#25 0x00007ffff5f0b4d0 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#26 0x00007ffff5f09bb9 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#27 0x00007ffff5f309ea in ?? () from /usr/lib64/qt4/libQtGui.so.4
#28 0x00007ffff0922cf2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#29 0x00007ffff09234a0 in ?? () from /usr/lib/libglib-2.0.so.0
#30 0x00007ffff092373d in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#31 0x00007ffff54e5a7f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#32 0x00007ffff5f3069e in ?? () from /usr/lib64/qt4/libQtGui.so.4
#33 0x00007ffff54ba8a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#34 0x00007ffff54baae4 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#35 0x00007ffff54bee63 in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#36 0x0000000000409404 in Kasten::OktetaProgram::execute (this=0x7fffffffdcf0)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/program/program.cpp:139
#37 0x0000000000408e87 in main (argc=<value optimized out>, argv=<value optimized out>)
    at /var/tmp/portage/kde-base/okteta-4.6.1/work/okteta-4.6.1/okteta/program/main.cpp:31


Expected Results:  
search & replace

1.5G RAM, Gentoo ~amd64
Comment 1 Friedrich W. H. Kossebau 2011-03-23 18:46:30 UTC
Thanks for the report. But sorry, can't reproduce here with Okteta 0.6.1 (on KDE Platform 4.6.1, but with 32bit, so could be a 64bit problem).

Could you sent me an example file with which this happens for you (ideally as small as possible)? Where is your cursor, what are the settings when you press the "Replace" button?