[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#914300: Bug #914300: kalgebra: Segfault when clearing empty calculator



Dear Maintainer,
I tried to have a look at this issue.


This is the stack with debug symbols:

(gdb) bt
#0  QByteArray::QByteArray (a=..., this=0x7fffffffd4e8) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:492
#1  QList<QByteArray>::takeLast (this=0x7fffffffd4e0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:565
#2  ConsoleHtml::updateView (this=0x555555ab9ac0) at ./src/consolehtml.cpp:182
#3  0x0000555555572dd6 in ConsoleHtml::clear (this=<optimized out>) at ./src/consolehtml.cpp:227
#4  0x0000555555577da5 in ConsoleHtml::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=0x7fffffffd6a0, _c=<optimized out>) at ./obj-x86_64-linux-gnu/src/kalgebra_autogen/EWIEGA46WW/moc_consolehtml.cpp:134
#5  0x00007ffff69df28b in QMetaObject::activate(QObject*, int, int, void**) () at kernel/qobject.cpp:3771
#6  0x00007ffff69df8a7 in QMetaObject::activate (sender=sender@entry=0x555555be7820, m=m@entry=0x7ffff77f5840 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fffffffd6a0) at kernel/qobject.cpp:3633
#7  0x00007ffff7325ee2 in QAction::triggered (this=this@entry=0x555555be7820, _t1=<optimized out>) at .moc/moc_qaction.cpp:376
#8  0x00007ffff73284f0 in QAction::activate (this=0x555555be7820, event=<optimized out>) at kernel/qaction.cpp:1166
#9  0x00007ffff7498e1c in QMenuPrivate::activateCausedStack (this=this@entry=0x555555be3bb0, causedStack={...}, action=action@entry=0x555555be7820, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1371
#10 0x00007ffff74a03f0 in QMenuPrivate::activateAction (this=this@entry=0x555555be3bb0, action=action@entry=0x555555be7820, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1448
#11 0x00007ffff74a141b in QMenu::mouseReleaseEvent (this=<optimized out>, e=0x7fffffffdcb0) at widgets/qmenu.cpp:2942
#12 0x00007ffff736a7c8 in QWidget::event (this=this@entry=0x555555bbd0a0, event=event@entry=0x7fffffffdcb0) at kernel/qwidget.cpp:8925
#13 0x00007ffff74a3aab in QMenu::event (this=0x555555bbd0a0, e=0x7fffffffdcb0) at widgets/qmenu.cpp:3064
#14 0x00007ffff732c491 in QApplicationPrivate::notify_helper (this=this@entry=0x555555784680, receiver=receiver@entry=0x555555bbd0a0, e=e@entry=0x7fffffffdcb0) at kernel/qapplication.cpp:3727
#15 0x00007ffff7333d18 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3203
#16 0x00007ffff69b6039 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at ../../include/QtCore/5.11.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:307
#17 0x00007ffff7333019 in QCoreApplication::sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#18 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x555555bbd0a0, event=event@entry=0x7fffffffdcb0, alienWidget=0x0, alienWidget@entry=0x555555bbd0a0, nativeWidget=0x555555bbd0a0, buttonDown=buttonDown@entry=0x7ffff7824870 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:2695
#19 0x00007ffff73856c3 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () at kernel/qwidgetwindow.cpp:556
#20 0x00007ffff7387e8e in QWidgetWindow::event (this=0x7fffd8007910, event=0x7fffffffe0b0) at kernel/qwidgetwindow.cpp:281
#21 0x00007ffff732c491 in QApplicationPrivate::notify_helper (this=this@entry=0x555555784680, receiver=receiver@entry=0x7fffd8007910, e=e@entry=0x7fffffffe0b0) at kernel/qapplication.cpp:3727
#22 0x00007ffff7333ad0 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3486
#23 0x00007ffff69b6039 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at ../../include/QtCore/5.11.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:307
#24 0x00007ffff6d5fb2b in QCoreApplication::sendSpontaneousEvent (event=0x7fffffffe0b0, receiver=0x7fffd8007910) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:237
#25 QGuiApplicationPrivate::processMouseEvent (e=0x555556940e70) at kernel/qguiapplication.cpp:2081
#26 0x00007ffff6d61a25 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x555556940e70) at kernel/qguiapplication.cpp:1816
#27 0x00007ffff6d3bd8b in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1032
#28 0x00007fffddc4985b in QPAEventDispatcherGlib::processEvents (this=0x555555800360, flags=...) at qeventdispatcher_glib.cpp:70
#29 0x00007ffff69b4d0b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#30 0x00007ffff69bce82 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#31 0x00005555555661a9 in main (argc=<optimized out>, argv=<optimized out>) at ./src/main.cpp:43


In ConsoleHtml::clear is unconditionally the last element retrieved,
even when the log is empty.

182         const auto newEntry = log.takeLast();


It looks like upstream have fixed this in commit [1].
This is contained in branch Applications/18.08.

Have not found a matching upstream bug.

Kind regards,
Bernhard

[1] https://cgit.kde.org/kalgebra.git/commit/src/consolehtml.cpp?id=aaf3ffd1e1e874ebadae29d846bee18ad0b912a7
apt update
apt dist-upgrade
apt install xserver-xorg lightdm openbox systemd-coredump gdb valgrind kalgebra

systemctl start lightdm


export LANG=C
export DISPLAY=:0

kalgebra


###########


benutzer@debian:~$ gdb -q --args kalgebra   
Reading symbols from kalgebra...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/kalgebra 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffdce9e700 (LWP 13068)]
...
[New Thread 0x7fff3b5ff700 (LWP 13119)]
[Thread 0x7fff3b5ff700 (LWP 13119) exited]

Thread 1 "kalgebra" received signal SIGSEGV, Segmentation fault.
0x0000555555572691 in ?? ()
(gdb) bt
#0  0x0000555555572691 in ?? ()
#1  0x0000555555577da5 in ?? ()
#2  0x00007ffff69e228b in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff7328ee2 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#4  0x00007ffff732b4f0 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5  0x00007ffff749be1c in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6  0x00007ffff74a33f0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7  0x00007ffff74a441b in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007ffff736d7c8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007ffff74a6aab in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff732f491 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff7336d18 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007ffff69b9039 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007ffff7336019 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff73886c3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff738ae8e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff732f491 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff7336ad0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff69b9039 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007ffff6d62b2b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#20 0x00007ffff6d64a25 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#21 0x00007ffff6d3ed8b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#22 0x00007fffddc4f85b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#23 0x00007ffff69b7d0b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007ffff69bfe82 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00005555555661a9 in ?? ()
#26 0x00007ffff6430b17 in __libc_start_main (main=0x555555565f00, argc=1, argv=0x7fffffffe648, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe638) at ../csu/libc-start.c:310
#27 0x000055555556622a in _start ()


###############


apt install xserver-xorg lightdm openbox systemd-coredump gdb valgrind git kalgebra kalgebra-dbgsym libqt5core5a-dbgsym libqt5gui5-dbgsym libqt5widgets5-dbgsym qtbase5-dev


mkdir .gdb
cd .gdb
git clone https://github.com/Lekensteyn/qt5printers.git
cat << EOF > qt5-gdbinit
python
import sys, os.path
sys.path.insert(0, os.path.expanduser('~/.gdb'))
import qt5printers
qt5printers.register_printers(gdb.current_objfile())
end
EOF
cd ..


mkdir kalgebra/orig -p
cd    kalgebra/orig
apt source kalgebra
cd ../..


benutzer@debian:~$ gdb -q --args kalgebra
Reading symbols from kalgebra...Reading symbols from /usr/lib/debug/.build-id/db/c25dd2c87a837265a5fccb742e0b65684c3166.debug...done.
done.
(gdb) set width 0
(gdb) set pagination off
(gdb) directory /home/benutzer/kalgebra/orig/kalgebra-17.08.3
Source directories searched: /home/benutzer/kalgebra/orig/kalgebra-17.08.3:$cdir:$cwd
(gdb) source .gdb/qt5-gdbinit
(gdb) display/i $pc
1: x/i $pc
<error: No registers.>
(gdb) run
Starting program: /usr/bin/kalgebra 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffdce9d700 (LWP 21893)]
[New Thread 0x7fffd3078700 (LWP 21894)]
[New Thread 0x7fffd2877700 (LWP 21895)]
[New Thread 0x7fffd2076700 (LWP 21896)]
[New Thread 0x7fffd1875700 (LWP 21897)]
[New Thread 0x7fffd1074700 (LWP 21898)]
[New Thread 0x7fffd0873700 (LWP 21899)]
[New Thread 0x7fffbbfff700 (LWP 21900)]
[New Thread 0x7fffbb7fe700 (LWP 21901)]
[New Thread 0x7fffbaffd700 (LWP 21902)]
[New Thread 0x7fffb9f92700 (LWP 21904)]
[New Thread 0x7fffb9791700 (LWP 21906)]
[New Thread 0x7fffb8f90700 (LWP 21907)]
[New Thread 0x7fff9bfff700 (LWP 21908)]
[New Thread 0x7fff9b7fe700 (LWP 21909)]
[New Thread 0x7fff9affd700 (LWP 21910)]
[New Thread 0x7fff9a7fc700 (LWP 21911)]
[New Thread 0x7fff99ffb700 (LWP 21912)]
[New Thread 0x7fff997fa700 (LWP 21913)]
[New Thread 0x7fff98ff9700 (LWP 21914)]
[New Thread 0x7fff83fff700 (LWP 21915)]
[New Thread 0x7fff837fe700 (LWP 21916)]
[New Thread 0x7fff82ffd700 (LWP 21917)]
[New Thread 0x7fff827fc700 (LWP 21918)]
[New Thread 0x7fff81ffb700 (LWP 21919)]
[New Thread 0x7fff817fa700 (LWP 21920)]
[New Thread 0x7fff80ff9700 (LWP 21921)]
[New Thread 0x7fff7bfff700 (LWP 21922)]
[New Thread 0x7fff7b7fe700 (LWP 21923)]
[New Thread 0x7fff7affd700 (LWP 21924)]
[New Thread 0x7fff7a7fc700 (LWP 21925)]
[New Thread 0x7fff79ffb700 (LWP 21926)]
[New Thread 0x7fff797fa700 (LWP 21934)]
[New Thread 0x7fff43fff700 (LWP 21943)]
[Thread 0x7fff43fff700 (LWP 21943) exited]

Thread 1 "kalgebra" received signal SIGSEGV, Segmentation fault.
QByteArray::QByteArray (a=..., this=0x7fffffffd4e8) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:492
warning: Source file is more recent than executable.
492     inline const char *QByteArray::constData() const
1: x/i $pc
=> 0x555555572691 <ConsoleHtml::updateView()+257>:      mov    (%rdx),%eax
(gdb) bt
#0  QByteArray::QByteArray (a=..., this=0x7fffffffd4e8) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:492
#1  QList<QByteArray>::takeLast (this=0x7fffffffd4e0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:565
#2  ConsoleHtml::updateView (this=0x555555ab9ac0) at ./src/consolehtml.cpp:182
#3  0x0000555555572dd6 in ConsoleHtml::clear (this=<optimized out>) at ./src/consolehtml.cpp:227
#4  0x0000555555577da5 in ConsoleHtml::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=0x7fffffffd6a0, _c=<optimized out>) at ./obj-x86_64-linux-gnu/src/kalgebra_autogen/EWIEGA46WW/moc_consolehtml.cpp:134
#5  0x00007ffff69df28b in QMetaObject::activate(QObject*, int, int, void**) () at kernel/qobject.cpp:3771
#6  0x00007ffff69df8a7 in QMetaObject::activate (sender=sender@entry=0x555555be7820, m=m@entry=0x7ffff77f5840 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fffffffd6a0) at kernel/qobject.cpp:3633
#7  0x00007ffff7325ee2 in QAction::triggered (this=this@entry=0x555555be7820, _t1=<optimized out>) at .moc/moc_qaction.cpp:376
#8  0x00007ffff73284f0 in QAction::activate (this=0x555555be7820, event=<optimized out>) at kernel/qaction.cpp:1166
#9  0x00007ffff7498e1c in QMenuPrivate::activateCausedStack (this=this@entry=0x555555be3bb0, causedStack={...}, action=action@entry=0x555555be7820, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1371
#10 0x00007ffff74a03f0 in QMenuPrivate::activateAction (this=this@entry=0x555555be3bb0, action=action@entry=0x555555be7820, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1448
#11 0x00007ffff74a141b in QMenu::mouseReleaseEvent (this=<optimized out>, e=0x7fffffffdcb0) at widgets/qmenu.cpp:2942
#12 0x00007ffff736a7c8 in QWidget::event (this=this@entry=0x555555bbd0a0, event=event@entry=0x7fffffffdcb0) at kernel/qwidget.cpp:8925
#13 0x00007ffff74a3aab in QMenu::event (this=0x555555bbd0a0, e=0x7fffffffdcb0) at widgets/qmenu.cpp:3064
#14 0x00007ffff732c491 in QApplicationPrivate::notify_helper (this=this@entry=0x555555784680, receiver=receiver@entry=0x555555bbd0a0, e=e@entry=0x7fffffffdcb0) at kernel/qapplication.cpp:3727
#15 0x00007ffff7333d18 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3203
#16 0x00007ffff69b6039 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at ../../include/QtCore/5.11.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:307
#17 0x00007ffff7333019 in QCoreApplication::sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#18 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x555555bbd0a0, event=event@entry=0x7fffffffdcb0, alienWidget=0x0, alienWidget@entry=0x555555bbd0a0, nativeWidget=0x555555bbd0a0, buttonDown=buttonDown@entry=0x7ffff7824870 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:2695
#19 0x00007ffff73856c3 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () at kernel/qwidgetwindow.cpp:556
#20 0x00007ffff7387e8e in QWidgetWindow::event (this=0x7fffd8007910, event=0x7fffffffe0b0) at kernel/qwidgetwindow.cpp:281
#21 0x00007ffff732c491 in QApplicationPrivate::notify_helper (this=this@entry=0x555555784680, receiver=receiver@entry=0x7fffd8007910, e=e@entry=0x7fffffffe0b0) at kernel/qapplication.cpp:3727
#22 0x00007ffff7333ad0 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3486
#23 0x00007ffff69b6039 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at ../../include/QtCore/5.11.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:307
#24 0x00007ffff6d5fb2b in QCoreApplication::sendSpontaneousEvent (event=0x7fffffffe0b0, receiver=0x7fffd8007910) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:237
#25 QGuiApplicationPrivate::processMouseEvent (e=0x555556940e70) at kernel/qguiapplication.cpp:2081
#26 0x00007ffff6d61a25 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x555556940e70) at kernel/qguiapplication.cpp:1816
#27 0x00007ffff6d3bd8b in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1032
#28 0x00007fffddc4985b in QPAEventDispatcherGlib::processEvents (this=0x555555800360, flags=...) at qeventdispatcher_glib.cpp:70
#29 0x00007ffff69b4d0b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#30 0x00007ffff69bce82 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#31 0x00005555555661a9 in main (argc=<optimized out>, argv=<optimized out>) at ./src/main.cpp:43

(gdb) print this
$1 = (QByteArray * const) 0x7fffffffd4e8
(gdb) print *this
$2 = <error reading variable: Cannot access memory at address 0x10>

(gdb) up
#1  QList<QByteArray>::takeLast (this=0x7fffffffd4e0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:565
warning: Source file is more recent than executable.
565     { T t = std::move(last()); removeLast(); return t; }
(gdb) print this
$3 = (QList<QByteArray> * const) 0x7fffffffd4e0
(gdb) print *this
$4 = <empty>

(gdb) up
#2  ConsoleHtml::updateView (this=0x555555ab9ac0) at ./src/consolehtml.cpp:182
182         const auto newEntry = log.takeLast();

(gdb) list ConsoleHtml::updateView
173     void ConsoleHtml::updateView()
174     {
175         QByteArray code;
176         code += "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n";
177         code += "<html xmlns=\"http://www.w3.org/1999/xhtml\"; xml:lang=\"en\">\n<head>\n\t<title> :) </title>\n";
178         code += m_model->css();
179         code += "</head>\n<body>";
180
181         auto log = m_model->htmlLog();
182         const auto newEntry = log.takeLast();
183         foreach(const QString &entry, log)
184             code += "<p class='normal'>" + entry + "</p>\n";
185
186         code += m_optionsString.toUtf8();
187         if (newEntry.startsWith("<ul class='error'>"))
188             code += newEntry;
189         else
190             code += "<p class='last'>" + newEntry + "</p>\n";
191         code += "</body></html>";
192
193         page()->setHtml(code);
194         
195         emit changed();
196
197         QObject* o = new QObject;
198         connect(this, &QWebEngineView::loadFinished, o, [this, o](){
199             page()->runJavaScript(QStringLiteral("window.scrollTo(0, document.body.scrollHeight);"));
200             delete o;
201         });
202     }
203



###########





set width 0
set pagination off
directory /home/benutzer/kalgebra/orig/kalgebra-17.08.3
source .gdb/qt5-gdbinit
display/i $pc
run

b ConsoleHtml::clear
record
cont



###########

https://cgit.kde.org/kalgebra.git/commit/src/consolehtml.cpp?id=aaf3ffd1e1e874ebadae29d846bee18ad0b912a7

Reply to: