Bug 232775 - Okteta SEGV in KPieceTable::GroupPieceTableChange::appendChange if you reload file then modify
Summary: Okteta SEGV in KPieceTable::GroupPieceTableChange::appendChange if you reload...
Status: RESOLVED FIXED
Alias: None
Product: okteta
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Friedrich W. H. Kossebau
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-31 00:23 UTC by Joe Harvell
Modified: 2010-03-31 15:28 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joe Harvell 2010-03-31 00:23:49 UTC
Application: okteta (0.4.0)
KDE Platform Version: 4.4.1 (KDE 4.4.1) (Compiled from sources)
Qt Version: 4.6.2
Operating System: Linux 2.6.31-gentoo-r4-x86_64-gcc4.2.2 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
Open a small text file with okteta.  Change the value of one character.  Choose Reload from file menu.  Select the same character as before and try to change the value again.

The crash can be reproduced every time.

 -- Backtrace:
Application: Okteta (okteta), signal: Segmentation fault
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.2200.4-gdb.py", line 9, in <module>
    from gobject import register
  File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module>
    import gdb.backtrace
ImportError: No module named backtrace
The current source language is "auto; currently asm".
[KCrash Handler]
#5  KPieceTable::GroupPieceTableChange::appendChange (this=0x10000008b, change=0x1d27260)
    at /var/tmp/portage/kde-base/okteta-4.4.1/work/okteta-4.4.1/okteta/core/piecetable/grouppiecetablechange.cpp:92
#6  0x00007fef7efb6b18 in KPieceTable::PieceTableChangeHistory::appendChange (this=0x192e678, change=0x1d27260)
    at /var/tmp/portage/kde-base/okteta-4.4.1/work/okteta-4.4.1/okteta/core/piecetable/piecetablechangehistory.cpp:108
#7  0x00007fef7efb6cd8 in KPieceTable::PieceTableChangeHistory::openGroupedChange (this=0x192e678, description=...)
    at /var/tmp/portage/kde-base/okteta-4.4.1/work/okteta-4.4.1/okteta/core/piecetable/piecetablechangehistory.cpp:65
#8  0x00007fef7efbbe09 in KPieceTable::RevertablePieceTable::openGroupedChange (this=0x192e650, description=...)
    at /var/tmp/portage/kde-base/okteta-4.4.1/work/okteta-4.4.1/okteta/core/piecetable/revertablepiecetable.h:141
#9  Okteta::PieceTableByteArrayModelPrivate::openGroupedChange (this=0x192e650, description=...)
    at /var/tmp/portage/kde-base/okteta-4.4.1/work/okteta-4.4.1/okteta/core/piecetablebytearraymodel_p.cpp:240
#10 0x00007fef7f1e5563 in Okteta::KValueEditor::startEdit (this=0x19ba730, description=...) at /var/tmp/portage/kde-base/okteta-4.4.1/work/okteta-4.4.1/okteta/gui/controller/kvalueeditor.cpp:63
#11 0x00007fef7f1e56fe in Okteta::KValueEditor::doValueEditAction (this=0x19ba730, Action=Okteta::KValueEditor::ValueEdit, input=10)
    at /var/tmp/portage/kde-base/okteta-4.4.1/work/okteta-4.4.1/okteta/gui/controller/kvalueeditor.cpp:210
#12 0x00007fef7f1e5d3d in Okteta::KValueEditor::handleKeyPress (this=0x19ba730, keyEvent=<value optimized out>)
    at /var/tmp/portage/kde-base/okteta-4.4.1/work/okteta-4.4.1/okteta/gui/controller/kvalueeditor.cpp:163
#13 0x00007fef7f1e98e2 in Okteta::AbstractByteArrayView::keyPressEvent (this=0x1728f40, keyEvent=0x1d27260)
    at /var/tmp/portage/kde-base/okteta-4.4.1/work/okteta-4.4.1/okteta/gui/abstractbytearrayview.cpp:530
#14 0x00007fef80117ded in QWidget::event (this=0x1728f40, event=0x7fff5baecd30) at kernel/qwidget.cpp:8033
#15 0x00007fef804ba306 in QFrame::event (this=0x1728f40, e=0x7fff5baecd30) at widgets/qframe.cpp:557
#16 0x00007fef8054524b in QAbstractScrollArea::event (this=0x1728f40, e=0x7fff5baecd30) at widgets/qabstractscrollarea.cpp:989
#17 0x00007fef800c204c in QApplicationPrivate::notify_helper (this=0x10f9b40, receiver=0x1728f40, e=0x7fff5baecd30) at kernel/qapplication.cpp:4300
#18 0x00007fef800c9e48 in QApplication::notify (this=<value optimized out>, receiver=0x1728f40, e=0x7fff5baecd30) at kernel/qapplication.cpp:3763
#19 0x00007fef81dcab36 in KApplication::notify (this=0x7fff5baedc60, receiver=0x1728f40, event=0x7fff5baecd30)
    at /var/tmp/portage/kde-base/kdelibs-4.4.1-r1/work/kdelibs-4.4.1/kdeui/kernel/kapplication.cpp:302
#20 0x00007fef8117661b in QCoreApplication::notifyInternal (this=0x7fff5baedc60, receiver=0x1728f40, event=0x7fff5baecd30) at kernel/qcoreapplication.cpp:704
#21 0x00007fef8016c39a in QKeyMapper::sendKeyEvent (keyWidget=0x1728f40, grab=<value optimized out>, type=QEvent::KeyPress, code=65, modifiers=<value optimized out>, text=..., autorepeat=false, 
    count=1, nativeScanCode=38, nativeVirtualKey=97, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1861
#22 0x00007fef8016e8d1 in QKeyMapperPrivate::translateKeyEvent (this=0x112b860, keyWidget=0x1728f40, event=<value optimized out>, grab=96) at kernel/qkeymapper_x11.cpp:1831
#23 0x00007fef801467b4 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fff5baed8e0) at kernel/qapplication_x11.cpp:3394
#24 0x00007fef80171a52 in x11EventSourceDispatch (s=0x10fd900, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#25 0x00007fef7b3fc4cd in g_main_dispatch (context=0x10fc510) at gmain.c:1960
#26 IA__g_main_context_dispatch (context=0x10fc510) at gmain.c:2513
#27 0x00007fef7b3ffe88 in g_main_context_iterate (context=0x10fc510, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591
#28 0x00007fef7b3fffb0 in IA__g_main_context_iteration (context=0x10fc510, may_block=1) at gmain.c:2654
#29 0x00007fef8119f9d3 in QEventDispatcherGlib::processEvents (this=0x10f9ad0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#30 0x00007fef8017164e in QGuiEventDispatcherGlib::processEvents (this=0x10000008b, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#31 0x00007fef81174f72 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#32 0x00007fef81175344 in QEventLoop::exec (this=0x7fff5baedc00, flags=) at kernel/qeventloop.cpp:201
#33 0x00007fef8117902b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#34 0x0000000000408b3c in Kasten::OktetaProgram::execute (this=0x7fff5baedd50) at /var/tmp/portage/kde-base/okteta-4.4.1/work/okteta-4.4.1/okteta/program/program.cpp:139
#35 0x0000000000408863 in main (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/kde-base/okteta-4.4.1/work/okteta-4.4.1/okteta/program/main.cpp:31

Reported using DrKonqi
Comment 1 Friedrich W. H. Kossebau 2010-03-31 01:16:21 UTC
Thanks for the report, could reproduce the problem. Will have a look the next days.
Comment 2 Friedrich W. H. Kossebau 2010-03-31 15:28:36 UTC
SVN commit 1109567 by kossebau:

fixed: crashed after a reload while editing a value, because the current group was not reset to 0
BUG: 232775


 M  +2 -0      piecetablechangehistory.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1109567