Bug 505364 - RKWard crashed when selecting Use Wizard in Scatterplot window
Summary: RKWard crashed when selecting Use Wizard in Scatterplot window
Status: RESOLVED FIXED
Alias: None
Product: rkward
Classification: Applications
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: RKWard Team
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2025-06-09 04:18 UTC by Matt Fagnani
Modified: 2025-06-09 08:36 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/195598/events/0a2a02bd34de4242ac14b44c28444874/


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Fagnani 2025-06-09 04:18:02 UTC
Application: rkward (0.8.1)

ApplicationNotResponding [ANR]: false
Qt Version: 6.9.0
Frameworks Version: 6.14.0
Operating System: Linux 6.14.10-300.fc42.x86_64 x86_64
Windowing System: Wayland
Distribution: "Fedora Linux 42 (KDE Plasma Desktop Edition)"
DrKonqi: 6.3.5 [KCrashBackend]

-- Information about the crash:
I ran RKWard in Plasma 6.3.5 on Wayland in a Fedora 42 KDE Plasma installation. The version is a 0.8.1 prerelease rkward-0.8.1~pre^1.git5226b33a-1.fc42. I imported a csv data set using the File menu > Import > Import format > Import Stata / CSV data. I selected the csv file name, renamed the data set and selected Submit. I selected the Plots menu, then Scatterplot. I selected a Y variable from the data set. I clicked Use Wizard, and RKWard crashed. A crash notification was shown by drkonqi. RKWard crashed in QFlags<Qt::WindowType>::operator& according to the trace. The crash looked like it might've happened when a window preview for the wizard was being created.

I reproduced this crash in a new workspace with no data sets by selecting the Plots menu, then Scatterplot, then Use Wizard.

The crash can be reproduced every time.

-- Backtrace:
Application: RKWard (rkward), signal: Segmentation fault

[KCrash Handler]
#7  QFlags<Qt::WindowType>::operator& (this=<optimized out>, other=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/global/qflags.h:77
#8  QWidget::windowType (this=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qwidget.h:806
#9  QWidget::setParent (this=this@entry=0x559ea3899010, parent=parent@entry=0x28, f=...) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qwidget.cpp:10734
#10 0x00007f9dbf6a81b6 in QWidgetPrivate::init (this=<optimized out>, parentWidget=0x28, f=...) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qwidget.cpp:998
#11 0x00007f9dbf6a8877 in QWidget::QWidget (this=<optimized out>, parent=<optimized out>, f=...) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qwidget.cpp:859
#12 0x0000559e79321f74 in RKComponent::RKComponent (this=0x559ea3899010, parent_component=0x559ea3843f90, parent_widget=0x28, this=<optimized out>, parent_component=<optimized out>, parent_widget=<optimized out>) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkcomponent.cpp:256
#13 0x0000559e7935107e in RKPreviewBox::RKPreviewBox (this=this@entry=0x559ea3899010, element=..., parent_component=0x559ea3843f90, parent_widget=parent_widget@entry=0x28, this=<optimized out>, element=<optimized out>, parent_component=<optimized out>, parent_widget=<optimized out>) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkpreviewbox.cpp:28
#14 0x0000559e7932b13f in RKComponentBuilder::buildElement (this=this@entry=0x559ea3859950, element=..., xml=..., parent_widget=0x28, parent_widget@entry=0x559ea382d150, allow_pages=allow_pages@entry=false) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkstandardcomponent.h:144
#15 0x0000559e7932b70f in RKStandardComponent::buildAndInitialize (this=0x559ea3843f90, doc_element=..., gui_element=..., parent_widget=0x559ea382d150, build_wizard=false, enslaved=false) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkstandardcomponent.cpp:338
#16 0x0000559e79322ead in RKStandardComponent::RKStandardComponent (this=this@entry=0x559ea3843f90, parent_component=parent_component@entry=0x559ea262c310, parent_widget=parent_widget@entry=0x559ea382d150, filename=..., id=..., this=<optimized out>, parent_component=<optimized out>, parent_widget=<optimized out>, filename=<optimized out>, id=<optimized out>) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkstandardcomponent.cpp:156
#17 0x0000559e792fe973 in RKComponentHandle::invoke (this=0x559ea1369420, parent_component=0x559ea262c310, parent_widget=0x559ea382d150) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkcomponentmap.cpp:793
#18 0x0000559e7932b44f in RKComponentBuilder::buildElement (this=this@entry=0x559ea37813a0, element=..., xml=..., parent_widget=<optimized out>, parent_widget@entry=0x559ea382d150, allow_pages=allow_pages@entry=false) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkstandardcomponent.cpp:681
#19 0x0000559e79329b68 in RKComponentBuilder::buildElement (this=this@entry=0x559ea37813a0, element=..., xml=..., parent_widget=<optimized out>, parent_widget@entry=0x559ea372faa0, allow_pages=allow_pages@entry=false) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkstandardcomponent.cpp:616
#20 0x0000559e7932b70f in RKStandardComponent::buildAndInitialize (this=this@entry=0x559ea262c310, doc_element=..., gui_element=..., parent_widget=0x559ea372faa0, build_wizard=build_wizard@entry=false, enslaved=enslaved@entry=true) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkstandardcomponent.cpp:338
#21 0x0000559e7932cbb3 in RKStandardComponent::createTopLevel(QDomElement const&, int, bool) [clone .isra.0] (this=this@entry=0x559ea262c310, doc_element=..., force_mode=<optimized out>, enslaved=enslaved@entry=true) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkstandardcomponent.cpp:272
#22 0x0000559e793233e7 in RKStandardComponent::RKStandardComponent (this=this@entry=0x559ea262c310, parent_component=parent_component@entry=0x559ea040e7a0, parent_widget=parent_widget@entry=0x0, filename=..., id=..., this=<optimized out>, parent_component=<optimized out>, parent_widget=<optimized out>, filename=<optimized out>, id=<optimized out>) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkstandardcomponent.cpp:128
#23 0x0000559e792fe973 in RKComponentHandle::invoke (this=0x559ea1315340, parent_component=0x559ea040e7a0, parent_widget=0x0) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkcomponentmap.cpp:793
#24 0x0000559e7932b2ea in RKComponentBuilder::buildElement (this=this@entry=0x559ea35a31e0, element=..., xml=..., parent_widget=<optimized out>, parent_widget@entry=0x559ea36ab0d0, allow_pages=allow_pages@entry=false) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkstandardcomponent.h:144
#25 0x0000559e7932931d in RKComponentBuilder::buildElement (this=this@entry=0x559ea35a31e0, element=..., xml=..., parent_widget=<optimized out>, parent_widget@entry=0x559ea35d92a0, allow_pages=allow_pages@entry=true) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkstandardcomponent.cpp:585
#26 0x0000559e7932b70f in RKStandardComponent::buildAndInitialize (this=this@entry=0x559ea040e7a0, doc_element=..., gui_element=..., parent_widget=0x559ea35d92a0, build_wizard=build_wizard@entry=true, enslaved=enslaved@entry=false) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkstandardcomponent.cpp:338
#27 0x0000559e7932c231 in RKStandardComponent::createTopLevel(QDomElement const&, int, bool) [clone .isra.0] (this=this@entry=0x559ea040e7a0, doc_element=..., force_mode=force_mode@entry=2, enslaved=enslaved@entry=false) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkstandardcomponent.cpp:268
#28 0x0000559e7932d33a in RKStandardComponent::switchInterface (this=0x559ea040e7a0) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/plugin/rkstandardcomponent.cpp:295
#29 0x00007f9dbd36033a in QtPrivate::QSlotObjectBase::call (this=0x559ea2be5b20, r=0x559ea2bae5c0, a=0x7ffc6f852ba0) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#30 doActivate<false> (sender=0x559ea2be5af0, signal_index=9, argv=argv@entry=0x7ffc6f852ba0) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:4138
#31 0x00007f9dbd356d09 in QMetaObject::activate (sender=sender@entry=0x559ea2be5af0, m=m@entry=0x7f9dbfd9cf20, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffc6f852ba0) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:4198
#32 0x00007f9dbf7872da in QMetaObject::activate<void, bool> (sender=0x559ea2be5af0, mo=0x7f9dbfd9cf20, local_signal_index=2, ret=0x0) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobjectdefs.h:306
#33 QAbstractButton::clicked (this=this@entry=0x559ea2be5af0, _t1=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/redhat-linux-build/src/widgets/Widgets_autogen/include/moc_qabstractbutton.cpp:252
#34 0x00007f9dbf787563 in QAbstractButtonPrivate::emitClicked (this=0x559ea277d610) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/widgets/qabstractbutton.cpp:381
#35 0x00007f9dbf788c35 in QAbstractButtonPrivate::click (this=0x559ea277d610) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/widgets/qabstractbutton.cpp:374
#36 0x00007f9dbf788e5d in QAbstractButton::mouseReleaseEvent (this=0x559ea2be5af0, e=0x7ffc6f8531e0) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/widgets/qabstractbutton.cpp:976
#37 0x00007f9dbf6a5898 in QWidget::event (this=0x559ea2be5af0, event=0x7ffc6f8531e0) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qwidget.cpp:9354
#38 0x00007f9dbf63d7af in QApplicationPrivate::notify_helper (this=this@entry=0x559ea033d4b0, receiver=receiver@entry=0x559ea2be5af0, e=e@entry=0x7ffc6f8531e0) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3301
#39 0x00007f9dbf6481a3 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7ffc6f8531e0) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qapplication.cpp:2778
#40 0x00007f9dbd2f5fa8 in QCoreApplication::notifyInternal2 (receiver=0x559ea2be5af0, event=0x7ffc6f8531e0) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#41 0x00007f9dbd2f621d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1560
#42 0x00007f9dbf646677 in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x559ea2be5af0, event=event@entry=0x7ffc6f8531e0, alienWidget=<optimized out>, nativeWidget=nativeWidget@entry=0x559ea2bae5c0, buttonDown=buttonDown@entry=0x7f9dbfde09d0 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qapplication.cpp:2359
#43 0x00007f9dbf6bb025 in QWidgetWindow::handleMouseEvent (this=0x559ea27597f0, event=0x7ffc6f853470) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qwidgetwindow.cpp:669
#44 0x00007f9dbf6bdb1b in QWidgetWindow::event (this=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qwidgetwindow.cpp:292
#45 0x00007f9dbf63d7af in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x559ea27597f0, e=0x7ffc6f853470) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3301
#46 0x00007f9dbd2f5fa8 in QCoreApplication::notifyInternal2 (receiver=0x559ea27597f0, event=0x7ffc6f853470) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#47 0x00007f9dbd2f621d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1560
#48 0x00007f9dbdaeeebb in QGuiApplicationPrivate::processMouseEvent (e=0x7f9d90025360) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/gui/kernel/qguiapplication.cpp:2483
#49 0x00007f9dbdb5862c in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:1113
#50 0x00007f9dbdb58848 in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:1082
#51 0x00007f9dbd350fec in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:1431
#52 0x00007f9dbf63d7af in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x559ea0388f60, e=0x7f9d90037730) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3301
#53 0x00007f9dbd2f5fa8 in QCoreApplication::notifyInternal2 (receiver=0x559ea0388f60, event=0x7f9d90037730) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#54 0x00007f9dbd2f620d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1546
#55 0x00007f9dbd2f9cd6 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x559ea036ee00) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1879
#56 0x00007f9dbd5ffd2f in postEventSourceDispatch (s=0x559ea0384c60) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#57 0x00007f9dbbae9880 in g_main_context_dispatch_unlocked.lto_priv () at /lib64/libglib-2.0.so.0
#58 0x00007f9dbbaf27a8 in g_main_context_iterate_unlocked.isra () at /lib64/libglib-2.0.so.0
#59 0x00007f9dbbaf2953 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#60 0x00007f9dbd5ff56d in QEventDispatcherGlib::processEvents (this=0x559ea031c9c0, flags=...) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#61 0x00007f9dbd303783 in QEventLoop::exec (this=this@entry=0x7ffc6f853af0, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/global/qflags.h:77
#62 0x00007f9dbd2ff229 in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1449
#63 0x00007f9dbdadac3d in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/gui/kernel/qguiapplication.cpp:1993
#64 0x00007f9dbf63d719 in QApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qapplication.cpp:2568
#65 0x0000559e79223cb5 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/rkward-0.8.1~pre^1.git5226b33a-1.fc42.x86_64/rkward/main.cpp:299
[Inferior 1 (process 14138) detached]

Reported using DrKonqi
Comment 1 Matt Fagnani 2025-06-09 05:02:15 UTC
QWidget::setParent and QWidgetPrivate::init had the argument parent=parent@entry=0x28 which looked like an invalid pointer. Similarly, RKComponent::RKComponent, RKPreviewBox::RKPreviewBox, and lower functions in the trace had parent_widget=0x28. RKStandardComponent::RKStandardComponent had parent_widget=parent_widget@entry=0x0. The parent widget might've been invalid (null + 0x28).
Comment 2 Thomas Friedrichsmeier 2025-06-09 08:30:15 UTC
Thanks for the detailed report and your (correct) observation about the invalid parent pointer. Will be fixed, in a minute.
Comment 3 Thomas Friedrichsmeier 2025-06-09 08:36:11 UTC
Git commit 6d48c00e07f6e316f5265bb0be4a5d8347a2b824 by Thomas Friedrichsmeier.
Committed on 09/06/2025 at 08:35.
Pushed by tfry into branch 'master'.

Fix crash when switching from dialog to wizard with nested components and preview

M  +1    -0    ChangeLog
M  +3    -5    rkward/plugin/rkstandardcomponent.cpp

https://invent.kde.org/education/rkward/-/commit/6d48c00e07f6e316f5265bb0be4a5d8347a2b824