Created attachment 132066 [details] Video showing the reported. labplot crash >>>>> SUMMARY See bug title >>>>> STEPS TO REPRODUCE 1. Start Labplot 2. Create new empty project 3. Add a worksheet 4. Add an xy-plot (Box plot, four axes, for instance) 5. Try to add an xy-curve from a mathematical equation. Labplot crashes. (see attached video) >>>>> SOFTWARE/OS VERSIONS Linux/KDE Plasma: Operating System: Debian GNU/Linux 10 KDE Plasma Version: 5.14.5 Qt Version: 5.11.3 KDE Frameworks Version: 5.54.0 Kernel Version: 4.19.0-10-amd64 OS Type: 64-bit Processors: 8 × Intel® Core™ i7-7700K CPU @ 4.20GHz Memory: 31.4 GiB of RAM Labplot: Debug build of master branch commit 57e1522a2573f531db988d5fcfee5671b3f38693 Oct 2 2020, 11:12:08 System: Debian GNU/Linux 10 (buster) Locale: Catalan,Spain (Decimal point ',', Group separator '.') Number settings: Decimal point ',', Group separator '.', Exponential 'e', Zero digit '0', Percent '%', Positive/Negative sign '+'/'-' (Updated on restart) Architecture: x86_64-little_endian-lp64 Kernel: linux 4.19.0-10-amd64 C++ Compiler: GNU 8.3.0 C++ Compiler Flags: -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -Wall -Wextra -Wundef -Wpointer-arith -Wunreachable-code -Wunused -Wdeprecated-declarations -fno-omit-frame-pointer -fstack-protector -fexceptions -O2 -Wcast-align -Wswitch-enum -fvisibility=default >>>>> ADDITIONAL INFORMATION Seems a regression introduced after latest work on xy-curve. Perhaps related to https://bugs.kde.org/show_bug.cgi?id=426442 ?? >>>>> STACK TRACE (gdb) Thread 1 "labplot2" received signal SIGSEGV, Segmentation fault. __GI_____strtod_l_internal (nptr=0x5555588ab720 "0\n", endptr=0x7fffffffab38, group=0, loc=0x0) at strtod_l.c:561 561 strtod_l.c: El fitxer o directori no existeix. (gdb) bt #0 __GI_____strtod_l_internal (nptr=0x5555588ab720 "0\n", endptr=0x7fffffffab38, group=0, loc=0x0) at strtod_l.c:561 #1 0x00005555558eacae in yylex () #2 0x00005555558eb40a in yyparse () #3 0x00005555558eb9f3 in parse () #4 0x0000555555b1df04 in ExpressionParser::isValid(QString const&, QStringList const&) () #5 0x0000555555ab0444 in ExpressionTextEdit::validateExpression(bool) () #6 0x00007ffff5af1933 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #7 0x00007ffff6803d2d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #8 0x00007ffff5af17f6 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #9 0x00007ffff681e543 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #10 0x00007ffff67ffb21 in QTextEdit::setPlainText(QString const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #11 0x0000555555a0e90d in XYEquationCurveDock::initGeneralTab() () #12 0x0000555555a0f33c in XYEquationCurveDock::setCurves(QList<XYCurve*>) () #13 0x000055555592a89e in GuiObserver::selectedAspectsChanged(QList<AbstractAspect*>&) const () #14 0x00007ffff5af1933 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #15 0x00005555558eeb19 in ProjectExplorer::selectedAspectsChanged(QList<AbstractAspect*>&) () #16 0x00005555558d74aa in ProjectExplorer::selectionChanged(QItemSelection const&, QItemSelection const&) () #17 0x00007ffff5af1933 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #18 0x00007ffff5a89708 in QItemSelectionModel::selectionChanged(QItemSelection const&, QItemSelection const&) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #19 0x00007ffff5a91f65 in QItemSelectionModel::emitSelectionChanged(QItemSelection const&, QItemSelection const&) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #20 0x00007ffff5a9261b in QItemSelectionModel::select(QItemSelection const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #21 0x00007ffff5a8c4ac in QItemSelectionModel::select(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #22 0x00007ffff5a89adc in QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #23 0x00007ffff68916cd in QAbstractItemView::setCurrentIndex(QModelIndex const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #24 0x00005555558d2ea2 in ProjectExplorer::aspectAdded(AbstractAspect const*) () #25 0x00007ffff5af1933 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #26 0x00005555558f0511 in AbstractAspect::aspectAdded(AbstractAspect const*) () #27 0x00007ffff5af1933 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #28 0x00005555558f0511 in AbstractAspect::aspectAdded(AbstractAspect const*) () #29 0x00007ffff5af1933 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #30 0x00005555558f0511 in AbstractAspect::aspectAdded(AbstractAspect const*) () #31 0x00007ffff69ace93 in QUndoStack::push(QUndoCommand*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #32 0x00005555556cfc5e in AbstractAspect::exec(QUndoCommand*) () #33 0x00005555556d2025 in AbstractAspect::addChild(AbstractAspect*) () #34 0x00005555557a9f5c in CartesianPlot::addEquationCurve() () #35 0x00007ffff5af1933 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #36 0x00007ffff6643f02 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #37 0x00007ffff6646520 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #38 0x00007ffff67b6a4c in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #39 0x00007ffff67bdf70 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #40 0x00007ffff67beedb in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #41 0x00007ffff66884d8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #42 0x00007ffff67c136b in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 --Type <RET> for more, q to quit, c to continue without paging-- #43 0x00007ffff664a4c1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #44 0x00007ffff6651bb8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #45 0x00007ffff5ac8489 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #46 0x00007ffff6650ee9 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #47 0x00007ffff66a3393 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #48 0x00007ffff66a5b5e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #49 0x00007ffff664a4c1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #50 0x00007ffff6651970 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #51 0x00007ffff5ac8489 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #52 0x00007ffff5e73ff3 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #53 0x00007ffff5e75e75 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #54 0x00007ffff5e5006b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #55 0x00007ffff013840b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #56 0x00007ffff5ac715b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #57 0x00007ffff67bbc1d in QMenu::exec(QPoint const&, QAction*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #58 0x00005555558d7006 in ProjectExplorer::contextMenuEvent(QContextMenuEvent*) () #59 0x00007ffff66884d8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #60 0x00007ffff664a4c1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #61 0x00007ffff6651e1e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #62 0x00007ffff5ac8489 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #63 0x00007ffff66a37c1 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #64 0x00007ffff66a5b5e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #65 0x00007ffff664a4c1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #66 0x00007ffff6651970 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #67 0x00007ffff5ac8489 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #68 0x00007ffff5e73ff3 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #69 0x00007ffff5e75e75 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #70 0x00007ffff5e5006b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #71 0x00007ffff013840b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #72 0x00007ffff5ac715b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #73 0x00007ffff5acf132 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #74 0x000055555567fb50 in main ()
Not reproducable on OpenSUSE 15.1.
(In reply to Stefan Gerlach from comment #1) > Not reproducable on OpenSUSE 15.1. Bad news, then. I just tried it on my office desktop computer (Kubuntu). Same crash. Maybe it's Debian-related? Operating System: Kubuntu 20.04 KDE Plasma Version: 5.18.5 KDE Frameworks Version: 5.68.0 Qt Version: 5.12.8 Kernel Version: 5.4.0-48-generic OS Type: 64-bit Processors: 8 × Intel® Core™ i7-4790 CPU @ 3.60GHz Memory: 7,7 GiB
Git commit 884dbe91f787e61d6d9c5e7467c8bbc4f42565a5 by Stefan Gerlach. Committed on 02/10/2020 at 14:57. Pushed by sgerlach into branch 'master'. [parser] Fix crash in parser when used locale is not installed FIXED-IN: 2.8.1 M +17 -3 src/backend/gsl/parser.y https://invent.kde.org/education/labplot/commit/884dbe91f787e61d6d9c5e7467c8bbc4f42565a5
(In reply to Stefan Gerlach from comment #3) > Git commit 884dbe91f787e61d6d9c5e7467c8bbc4f42565a5 by Stefan Gerlach. > Committed on 02/10/2020 at 14:57. > Pushed by sgerlach into branch 'master'. > > [parser] Fix crash in parser when used locale is not installed > FIXED-IN: 2.8.1 > > M +17 -3 src/backend/gsl/parser.y > > https://invent.kde.org/education/labplot/commit/ > 884dbe91f787e61d6d9c5e7467c8bbc4f42565a5 Works for me. The fastest fix in the world: you guys are amazing :-)