Bug 325053 - KAlgebra crashed when plot a very hard Maths expressions
Summary: KAlgebra crashed when plot a very hard Maths expressions
Status: RESOLVED DUPLICATE of bug 325077
Alias: None
Product: analitza
Classification: Frameworks and Libraries
Component: analitzaplot (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Aleix Pol
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2013-09-18 12:28 UTC by Keyu Tao
Modified: 2013-10-28 11:53 UTC (History)
2 users (show)

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 Keyu Tao 2013-09-18 12:28:00 UTC
Application: kalgebra (0.11)
KDE Platform Version: 4.10.5
Qt Version: 4.8.5
Operating System: Linux 3.10.11-200.fc19.x86_64 x86_64
Distribution: "Fedora release 19 (Schrödinger’s Cat)"

-- Information about the crash:
- What I was doing when the application crashed:

When I make KAlgebra show the plot of 'y=sin(x^10000)', it crashed.
I think KAlgebra should make a limit.

The crash can be reproduced every time.

-- Backtrace:
Application: KAlgebra (kalgebra), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f33d34668c0 (LWP 4064))]

Thread 3 (Thread 0x7f33c0a13700 (LWP 4065)):
#0  0x00007f33d2e34575 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f33c26edc9b in radeon_drm_cs_emit_ioctl () from /usr/lib64/dri/r600_dri.so
#2  0x00007f33d2e30c53 in start_thread () from /lib64/libpthread.so.0
#3  0x00007f33d285bd3d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f33bf618700 (LWP 4066)):
#0  0x00007f33d2e32b11 in pthread_mutex_lock () from /lib64/libpthread.so.0
#1  0x0000003db5087251 in g_mutex_lock () from /lib64/libglib-2.0.so.0
#2  0x0000003db5047fe5 in g_main_context_iterate.isra.22 () from /lib64/libglib-2.0.so.0
#3  0x0000003db50481fc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#4  0x0000003dbd1a7166 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#5  0x0000003dbd178ecf in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#6  0x0000003dbd1791c5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#7  0x0000003dbd07866f in QThread::exec() () from /lib64/libQtCore.so.4
#8  0x0000003dbd15a733 in QInotifyFileSystemWatcherEngine::run() () from /lib64/libQtCore.so.4
#9  0x0000003dbd07ad0f in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#10 0x00007f33d2e30c53 in start_thread () from /lib64/libpthread.so.0
#11 0x00007f33d285bd3d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f33d34668c0 (LWP 4064)):
[KCrash Handler]
#5  0x0000003dc26122bf in QList<QPointF>::append(QPointF const&) () from /lib64/libanalitzaplot.so.4
#6  0x0000003dc2610ed6 in MarchingSquares::tipo01(QList<sArista2D>) () from /lib64/libanalitzaplot.so.4
#7  0x0000003dc2611249 in MarchingSquares::identificar_tipo(sMarching_Square) () from /lib64/libanalitzaplot.so.4
#8  0x0000003dc261142b in MarchingSquares::buildGeometry() () from /lib64/libanalitzaplot.so.4
#9  0x0000003dc2621564 in FunctionImplicit::update(QRectF const&) () from /lib64/libanalitzaplot.so.4
#10 0x0000003dc262cccd in Analitza::Plotter2D::updateFunctions(QModelIndex const&, int, int) () from /lib64/libanalitzaplot.so.4
#11 0x0000003dc6410715 in Analitza::PlotsView2D::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.5] () from /lib64/libanalitzagui.so.4
#12 0x0000003dbd18df78 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /lib64/libQtCore.so.4
#13 0x0000003dbd1d7ed4 in QAbstractItemModel::rowsInserted(QModelIndex const&, int, int) () from /lib64/libQtCore.so.4
#14 0x0000003dbd17327e in QAbstractItemModel::endInsertRows() () from /lib64/libQtCore.so.4
#15 0x0000003dc262ae91 in Analitza::PlotsModel::addPlot(Analitza::PlotItem*) () from /lib64/libanalitzaplot.so.4
#16 0x00000000004218a0 in FunctionEdit::edit() ()
#17 0x0000003dbd18df78 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /lib64/libQtCore.so.4
#18 0x0000003dbd18df78 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /lib64/libQtCore.so.4
#19 0x0000003dc0007305 in QTextControl::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.66] () from /lib64/libQtGui.so.4
#20 0x0000003dc000a1c5 in QTextControl::qt_metacall(QMetaObject::Call, int, void**) () from /lib64/libQtGui.so.4
#21 0x0000003dbd18e172 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /lib64/libQtCore.so.4
#22 0x0000003dc003e24a in QTextDocumentPrivate::finishEdit() () from /lib64/libQtGui.so.4
#23 0x0000003dc003e4f6 in QTextDocumentPrivate::insert(int, int, int, int) () from /lib64/libQtGui.so.4
#24 0x0000003dc006908f in QTextCursor::insertText(QString const&, QTextCharFormat const&) () from /lib64/libQtGui.so.4
#25 0x0000003dc00691a7 in QTextCursor::insertText(QString const&) () from /lib64/libQtGui.so.4
#26 0x0000003dc0006430 in QTextControlPrivate::keyPressEvent(QKeyEvent*) () from /lib64/libQtGui.so.4
#27 0x0000003dc000986b in QTextControl::processEvent(QEvent*, QMatrix const&, QWidget*) () from /lib64/libQtGui.so.4
#28 0x0000003dbfffefab in QTextControl::processEvent(QEvent*, QPointF const&, QWidget*) () from /lib64/libQtGui.so.4
#29 0x0000003dc024cb78 in QPlainTextEdit::keyPressEvent(QKeyEvent*) () from /lib64/libQtGui.so.4
#30 0x0000003dc6417df7 in Analitza::ExpressionEdit::keyPressEvent(QKeyEvent*) () from /lib64/libanalitzagui.so.4
#31 0x0000003dbfe179ea in QWidget::event(QEvent*) () from /lib64/libQtGui.so.4
#32 0x0000003dc01b3cde in QFrame::event(QEvent*) () from /lib64/libQtGui.so.4
#33 0x0000003dc02300db in QAbstractScrollArea::event(QEvent*) () from /lib64/libQtGui.so.4
#34 0x0000003dc024c435 in QPlainTextEdit::event(QEvent*) () from /lib64/libQtGui.so.4
#35 0x0000003dbfdc84dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#36 0x0000003dbfdcfcf1 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#37 0x0000003dc20415ba in KApplication::notify(QObject*, QEvent*) () from /lib64/libkdeui.so.5
#38 0x0000003dbd17a26d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib64/libQtCore.so.4
#39 0x0000003dbfe623f9 in QKeyMapper::sendKeyEvent(QWidget*, bool, QEvent::Type, int, QFlags<Qt::KeyboardModifier>, QString const&, bool, int, unsigned int, unsigned int, unsigned int, bool*) () from /lib64/libQtGui.so.4
#40 0x0000003dbfe62799 in QKeyMapperPrivate::translateKeyEvent(QWidget*, _XEvent const*, bool) () from /lib64/libQtGui.so.4
#41 0x0000003dbfe3e6ef in QApplication::x11ProcessEvent(_XEvent*) () from /lib64/libQtGui.so.4
#42 0x00007f33bfa93763 in ProcessKeyWatcher::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.3] () from /usr/lib64/qt4/plugins/inputmethods/qtim-fcitx.so
#43 0x0000003dbd19232e in QObject::event(QEvent*) () from /lib64/libQtCore.so.4
#44 0x0000003dbfdc84dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#45 0x0000003dbfdceaa0 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#46 0x0000003dc20415ba in KApplication::notify(QObject*, QEvent*) () from /lib64/libkdeui.so.5
#47 0x0000003dbd17a26d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib64/libQtCore.so.4
#48 0x0000003dbd17d1df in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQtCore.so.4
#49 0x0000003dbd1a7883 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQtCore.so.4
#50 0x0000003db5047e06 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#51 0x0000003db5048158 in g_main_context_iterate.isra.22 () from /lib64/libglib-2.0.so.0
#52 0x0000003db50481fc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#53 0x0000003dbd1a7145 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#54 0x0000003dbfe64fc6 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtGui.so.4
#55 0x0000003dbd178ecf in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#56 0x0000003dbd1791c5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#57 0x0000003dbd17e45b in QCoreApplication::exec() () from /lib64/libQtCore.so.4
#58 0x0000000000414ed9 in main ()

Reported using DrKonqi
Comment 1 Keyu Tao 2013-09-18 13:17:02 UTC
By the way, using KmPlot to plot 'f(x)=sin(x^10000)' is NOT crashed. It's really the problem of Analitza? I don't know clearly if KmPlot is using Analitza or if KAlgebra is using Analitza.
Comment 2 Christoph Feck 2013-09-18 22:24:15 UTC
KAlgebra indeed uses Analitza, KmPlot does not.
Comment 3 Keyu Tao 2013-09-19 01:21:25 UTC
I want provide some information. If just type 'y=sin(x^10000)', it will not crash. But if type 'y=sin(x)' then add '^10000' before the ')', it crashed. I think it the problem of the plot preview.
Comment 4 Aleix Pol 2013-10-28 11:53:24 UTC

*** This bug has been marked as a duplicate of bug 325077 ***