Bug 2371311 - RKWard crashed when selecting Use Wizard in Scatterplot window
Summary: RKWard crashed when selecting Use Wizard in Scatterplot window
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: rkward
Version: 42
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Kevin Kofler
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-06-09 22:04 UTC by Matt Fagnani
Modified: 2025-06-19 01:59 UTC (History)
2 users (show)

Fixed In Version: rkward-0.8.2~pre^1.gitc45a3696-1.fc43 rkward-0.8.2~pre^1.gitc45a3696-1.fc42
Clone Of:
Environment:
Last Closed: 2025-06-10 12:11:01 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
KDE Software Compilation 505364 0 NOR RESOLVED RKWard crashed when selecting Use Wizard in Scatterplot window 2025-06-09 22:05:04 UTC

Description Matt Fagnani 2025-06-09 22:04:42 UTC
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. 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).

-- 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]

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


Reproducible: Always

Steps to Reproduce:
1. Start RKWard with a new workspace
2. Select Plots in the menu bar
3. Select Scatterplot in the Plots menu
4. Select Use Wizard in the Scatterplot window

Actual Results:
RKWard crashed when selecting Use Wizard in Scatterplot window 

Expected Results:
RKWard should've shown the Wizard for the scatterplots

Additional Information:
I reported this problem at https://bugs.kde.org/show_bug.cgi?id=505364 where Thomas Friedrichsmeier wrote a patch for it.

Comment 1 Kevin Kofler 2025-06-09 22:47:56 UTC
This is the upstream fix:
https://invent.kde.org/education/rkward/-/commit/6d48c00e07f6e316f5265bb0be4a5d8347a2b824

Looks like we should be able to backport that.

Comment 2 Fedora Update System 2025-06-10 12:06:47 UTC
FEDORA-2025-fced52fc2c (rkward-0.8.2~pre^1.gitc45a3696-1.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-fced52fc2c

Comment 3 Fedora Update System 2025-06-10 12:11:01 UTC
FEDORA-2025-fced52fc2c (rkward-0.8.2~pre^1.gitc45a3696-1.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 4 Fedora Update System 2025-06-10 12:11:27 UTC
FEDORA-2025-229e19d378 (rkward-0.8.2~pre^1.gitc45a3696-1.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-229e19d378

Comment 5 Fedora Update System 2025-06-11 04:01:10 UTC
FEDORA-2025-229e19d378 has been pushed to the Fedora 42 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-229e19d378`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-229e19d378

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2025-06-19 01:59:08 UTC
FEDORA-2025-229e19d378 (rkward-0.8.2~pre^1.gitc45a3696-1.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.