Bug 2386761

Summary: RKWard crashed when using a context menu to paste a command in the console
Product: [Fedora] Fedora Reporter: Matt Fagnani <matt.fagnani>
Component: rkwardAssignee: Kevin Kofler <kevin>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 42CC: kevin, r-maint-sig
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: rkward-0.8.2~pre^3.gitbee78f2b-1.fc43 rkward-0.8.2~pre^3.gitbee78f2b-1.fc42 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-08-08 10:28:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Matt Fagnani 2025-08-06 04:46:54 UTC
I ran the RKWard 0.8.2 pre-release rkward-0.8.2~pre^1.gitcb3c2dd3-1.fc42 which should contain the patch for https://bugzilla.redhat.com/show_bug.cgi?id=2374870 https://bugs.kde.org/show_bug.cgi?id=505955  I created a new data set my.data with by clicking Enter new data. my.data contained a Numeric variable var by default. I copied the line my.data$var = as.Date("1-1-2025",tryFormats="%m-%d-%Y") from that report in Firefox. I right-clicked in the R console, then I clicked on Paste in the context menu (the data frame didn't need a row to be created for the crash to happen with the Fedora build.) RKWard crashed in std::__uniq_ptr_impl<KXMLGUIFactoryPrivate, std::default_delete<KXMLGUIFactoryPrivate> >::_M_ptr with a trace like I reported at https://bugzilla.redhat.com/show_bug.cgi?id=2374870 https://bugs.kde.org/show_bug.cgi?id=505955#c3 KXMLGUIFactory::container had this=0x0, which might've resulted in a null pointer dereference in std::__uniq_ptr_impl<KXMLGUIFactoryPrivate, std::default_delete<KXMLGUIFactoryPrivate> >::_M_ptr. The trace referred to a context menu such as in TwinTable::contextMenu.

I reproduced the crash again as above. In another run I copied and pasted the line x <- data.frame(1, 2) from https://bugs.kde.org/show_bug.cgi?id=505955#c4 using a context menu. RKWard crashed with the same type of trace which is the crash I reported here. The problem didn't happen if I used the Edit menu in the menu bar then selected Paste.

-- Backtrace (Reduced):
#4  0x00007f78d950e23e in std::__uniq_ptr_impl<KXMLGUIFactoryPrivate, std::default_delete<KXMLGUIFactoryPrivate> >::_M_ptr (this=<optimized out>) at /usr/include/c++/15/bits/unique_ptr.h:193
#5  std::unique_ptr<KXMLGUIFactoryPrivate, std::default_delete<KXMLGUIFactoryPrivate> >::get (this=<optimized out>) at /usr/include/c++/15/bits/unique_ptr.h:473
#6  std::unique_ptr<KXMLGUIFactoryPrivate, std::default_delete<KXMLGUIFactoryPrivate> >::operator-> (this=<optimized out>) at /usr/include/c++/15/bits/unique_ptr.h:466
#7  KXMLGUIFactory::container (this=0x0, containerName=..., client=client@entry=0x55e4410186e0, useTagName=useTagName@entry=false) at /usr/src/debug/kf6-kxmlgui-6.16.0-1.fc42.x86_64/src/kxmlguifactory.cpp:450
#8  0x000055e41a4b9d80 in TwinTable::contextMenu (this=0x55e4410185e0, row=<optimized out>, col=<optimized out>, pos=...) at /usr/src/debug/rkward-0.8.2~pre^1.gitcb3c2dd3-1.fc42.x86_64/rkward/dataeditor/twintable.cpp:325
#9  0x00007f78d61657ba in QtPrivate::QSlotObjectBase::call (this=0x55e440fb07e0, r=0x55e4410185e0, a=0x7ffe5be87070) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#10 doActivate<false> (sender=0x55e440f994e0, signal_index=15, argv=argv@entry=0x7ffe5be87070) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
[...]
#13 TwinTableMember::contextMenuRequest (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=...) at /usr/src/debug/rkward-0.8.2~pre^1.gitcb3c2dd3-1.fc42.x86_64/redhat-linux-build/rkward/dataeditor/dataeditor_autogen/EWIEGA46WW/moc_twintablemember.cpp:162
#14 TwinTableMember::handleContextMenuRequest (this=0x55e440f994e0, pos=...) at /usr/src/debug/rkward-0.8.2~pre^1.gitcb3c2dd3-1.fc42.x86_64/rkward/dataeditor/twintablemember.cpp:160
#15 0x00007f78d61657ba in QtPrivate::QSlotObjectBase::call (this=0x55e440fb0260, r=0x55e440f994e0, a=0x7ffe5be871b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#16 doActivate<false> (sender=0x55e440f994e0, signal_index=6, argv=argv@entry=0x7ffe5be871b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
[...]
#19 QWidget::customContextMenuRequested (this=this@entry=0x55e440f994e0, _t1=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/widgets/Widgets_autogen/include/moc_qwidget.cpp:603
#20 0x00007f78d86a79c2 in QWidget::event (this=this@entry=0x55e440f994e0, event=event@entry=0x7ffe5be87640) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qwidget.cpp:9174
#21 0x00007f78d87010f6 in QFrame::event (this=0x55e440f994e0, e=0x7ffe5be87640) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/widgets/qframe.cpp:521
#22 0x00007f78d60f9caa in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver@entry=0x55e440f9b770, event=event@entry=0x7ffe5be87640) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1243
#23 0x00007f78d863d96f in QApplicationPrivate::notify_helper (this=this@entry=0x55e43f00ca30, receiver=receiver@entry=0x55e440f9b770, e=e@entry=0x7ffe5be87640) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3297

Reproducible: Always

Steps to Reproduce:
1. Install or update to the RKWard 0.8.2 pre-release rkward-0.8.2~pre^1.gitcb3c2dd3-1.fc42 from updates-testing in a Fedora 42 KDE installation
2. Run RKWard
3. create a new data set my.data with by clicking Enter new data and OK
4. Run Firefox
5. Load the report https://bugs.kde.org/show_bug.cgi?id=505955 in Firefox
6. Copy x <- data.frame(1, 2) from that report's comment 4 https://bugs.kde.org/show_bug.cgi?id=505955#c4
7. In RKWard, switch to the R console
8. Right-click in the R console
9. Select Paste in the context menu

Actual Results:
RKWard crashed when using a context menu to paste a command in the console

Expected Results:
RKWard should've pasted a command in the console without crashing

Additional Information:
I reported this problem at https://bugs.kde.org/show_bug.cgi?id=507923

Application: rkward (0.8.1z+0.8.2+devel1)

ApplicationNotResponding [ANR]: false
Qt Version: 6.9.1
Frameworks Version: 6.16.0
Operating System: Linux 6.15.9-201.fc42.x86_64 x86_64
Windowing System: Wayland
Distribution: "Fedora Linux 42 (KDE Plasma Desktop Edition)"
DrKonqi: 6.4.3 [CoredumpBackend]

Comment 2 Fedora Update System 2025-08-08 10:24:03 UTC
FEDORA-2025-a1bbf1cb86 (rkward-0.8.2~pre^3.gitbee78f2b-1.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-a1bbf1cb86

Comment 3 Fedora Update System 2025-08-08 10:28:12 UTC
FEDORA-2025-a1bbf1cb86 (rkward-0.8.2~pre^3.gitbee78f2b-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-08-08 10:32:53 UTC
FEDORA-2025-32934af39a (rkward-0.8.2~pre^3.gitbee78f2b-1.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-32934af39a

Comment 5 Fedora Update System 2025-08-09 04:08:35 UTC
FEDORA-2025-32934af39a 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-32934af39a`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-32934af39a

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

Comment 6 Fedora Update System 2025-08-17 01:12:36 UTC
FEDORA-2025-32934af39a (rkward-0.8.2~pre^3.gitbee78f2b-1.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.