Bug 2374870

Summary: RKWard crashed in RKVariable::setNumericFromR when running lines which replaced a variable set to Numeric with a Date object
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: i.ucar86, kevin, r-maint-sig
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: rkward-0.8.2~pre^1.gitcb3c2dd3-1.fc43 rkward-0.8.2~pre^3.gitbee78f2b-1.fc42 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-08-05 13:43:17 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-06-26 03:26:23 UTC
I was running a RKWard 0.8.2 pre-release version rkward-0.8.2~pre^1.gitc45a3696-1.fc42.x86_64 in Plasma 6.4.0 on Wayland in a Fedora 42 KDE installation. I opened a saved workspace with a data set named bp. The data contained a variable Days which was shown as type Unknown in the data set viewer. I changed the type of Days to 1: Numeric in the data set viewer. I opened an R script file which had lines that calculated Days in a way that I think created it as type Unknown or Date again. 

dates = as.Date(paste(bp$Month,bp$Day,bp$Year,sep="-"),tryFormats="%m-%d-%Y");
bp$Days = dates -dates[1]

I ran Run all the first time I saw this problem. RKWard crashed. The first time RKWard ran drkonqi couldn't find the core dump file. A second drkonqi notification was shown, but the full trace couldn't be created. I reproduced the crash running each of the two lines one at a time. RKWard crashed in RKVariable::setNumericFromR after the second line of my program. The crash was a segmentation fault when that function was on row 0 of the data set. The pointers in data->cell_doubles were null, but they might not have been initialized yet.

(gdb) frame 5
#5  0x0000562fa47095a8 in RKVariable::setNumericFromR (this=0x562fdb3adde0, to_row=65, numdata=..., from_row=0)
    at /usr/src/debug/rkward-0.8.2~pre^1.gitc45a3696-1.fc42.x86_64/rkward/core/rkvariable.cpp:583
583                                     data->cell_doubles[row] = numdata[i];
(gdb) p data
$1 = (RKVariable::RKVarEditData *) 0x562fdbc64220

(gdb) p data->cell_doubles
$2 = {<QListSpecialMethods<double>> = {<QListSpecialMethodsBase<double>> = {<No data fields>}, <No data fields>}, d = {
    d = 0x0, ptr = 0x0, size = 0}}
(gdb) p numdata
$3 = (const QVector &) @0x7fffdf7032a0: {<QListSpecialMethods<double>> = {<QListSpecialMethodsBase<double>> = {<No data fields>}, <No data fields>}, d = {d = 0x7f27c41d6e60, ptr = 0x7f27c41d6e70, size = 66}}
(gdb) p i
$4 = 0
(gdb) l
578
579                             if (std::isnan(numdata[i])) {
580                                     data->cell_states[row] |= RKVarEditData::NA;
581                             } else {
582                                     data->cell_states[row] |= RKVarEditData::Valid;
583                                     data->cell_doubles[row] = numdata[i];
584                             }
585                             ++i;
586                     }
587             }
(gdb) p row
$5 = 0

This crash didn't seem to happen if I didn't change Days to Numeric in the data set viewer before running the script lines.

-- Backtrace (Reduced):
#4  0x000056119e7175a8 in RKVariable::setNumericFromR (this=0x5611b5f45080, to_row=65, numdata=..., from_row=0) at /usr/src/debug/rkward-0.8.2~pre^1.gitc45a3696-1.fc42.x86_64/rkward/core/rkvariable.cpp:583
#5  0x000056119e719201 in operator() (__closure=0x5611b6b80fe8, command=<optimized out>) at /usr/src/debug/rkward-0.8.2~pre^1.gitc45a3696-1.fc42.x86_64/rkward/core/rkvariable.cpp:240
#6  0x000056119e7264b1 in std::function<void(RCommand*)>::operator() (this=0x5611b6b80fe8, __args#0=<optimized out>) at /usr/include/c++/15/bits/std_function.h:593
#7  RObjectLifeTimeGuard::addCommandFinishedCallback(RCommand*, std::function<void (RCommand*)>)::{lambda(RCommand*)#1}::operator()(RCommand*) const (__closure=0x5611b6b80fe0, command=<optimized out>) at /usr/src/debug/rkward-0.8.2~pre^1.gitc45a3696-1.fc42.x86_64/rkward/core/robject.cpp:47
#8  QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<RCommand*>, void, RObjectLifeTimeGuard::addCommandFinishedCallback(RCommand*, std::function<void (RCommand*)>)::{lambda(RCommand*)#1}>::call(RObjectLifeTimeGuard::addCommandFinishedCallback(RCommand*, std::function<void (RCommand*)>)::{lambda(RCommand*)#1}&, void**)::{lambda()#1}::operator()() const (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:116
#9  QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<RCommand*>, void, RObjectLifeTimeGuard::addCommandFinishedCallback(RCommand*, std::function<void (RCommand*)>)::{lambda(RCommand*)#1}>::call(RObjectLifeTimeGuard::addCommandFinishedCallback(RCommand*, std::function<void (RCommand*)>)::{lambda(RCommand*)#1}&, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<RCommand*>, void, RObjectLifeTimeGuard::addCommandFinishedCallback(RCommand*, std::function<void (RCommand*)>)::{lambda(RCommand*)#1}>::call(RObjectLifeTimeGuard::addCommandFinishedCallback(RCommand*, std::function<void (RCommand*)>)::{lambda(RCommand*)#1}&, void**)::{lambda()#1}&&) (args=<optimized out>, fn=...) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65
#10 QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<RCommand*>, void, RObjectLifeTimeGuard::addCommandFinishedCallback(RCommand*, std::function<void (RCommand*)>)::{lambda(RCommand*)#1}>::call(RObjectLifeTimeGuard::addCommandFinishedCallback(RCommand*, std::function<void (RCommand*)>)::{lambda(RCommand*)#1}&, void**) (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:115
#11 QtPrivate::FunctorCallable<RObjectLifeTimeGuard::addCommandFinishedCallback(RCommand*, std::function<void (RCommand*)>)::{lambda(RCommand*)#1}, RCommand*>::call<QtPrivate::List<RCommand*>, void>(RObjectLifeTimeGuard::addCommandFinishedCallback(RCommand*, std::function<void (RCommand*)>)::{lambda(RCommand*)#1}&, void*, void**) (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:337
#12 QtPrivate::QCallableObject<RObjectLifeTimeGuard::addCommandFinishedCallback(RCommand*, std::function<void (RCommand*)>)::{lambda(RCommand*)#1}, QtPrivate::List<RCommand*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=<optimized out>, this_=0x5611b6b80fd0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:547
#13 0x00007f0d36f657ba in QtPrivate::QSlotObjectBase::call (this=0x5611b6b80fd0, r=0x5611b66f7590, a=0x7ffca321a5f0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#14 doActivate<false> (sender=0x5611b66f7590, signal_index=3, argv=argv@entry=0x7ffca321a5f0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
[...]
#17 RCommandNotifier::commandFinished (this=<optimized out>, _t1=0x5611b72f7c90) at /usr/src/debug/rkward-0.8.2~pre^1.gitc45a3696-1.fc42.x86_64/redhat-linux-build/rkward/rbackend/rbackend_autogen/EWIEGA46WW/moc_rcommand.cpp:138
#18 RCommandNotifier::emitFinished (this=<optimized out>, command=0x5611b72f7c90) at /usr/src/debug/rkward-0.8.2~pre^1.gitc45a3696-1.fc42.x86_64/rkward/rbackend/rcommand.h:81
#19 RCommand::finished (this=0x5611b72f7c90) at /usr/src/debug/rkward-0.8.2~pre^1.gitc45a3696-1.fc42.x86_64/rkward/rbackend/rcommand.cpp:71
#21 0x000056119e751f08 in RInterface::handleRequest (this=0x5611b49f1780, request=<optimized out>) at /usr/src/debug/rkward-0.8.2~pre^1.gitc45a3696-1.fc42.x86_64/rkward/rbackend/rkrinterface.cpp:355
#22 0x00007f0d36f565b5 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:1461

When I ran bp$Days = as.numeric(dates -dates[1]) , the problem didn't happen. The problem seemed to be due to assigning a Date object to a numeric variable.

I reproduced the problem in a simpler way by creating a new workspace and data set my.data which had a numeric variable var by default, then running my.data$var = as.Date("1-1-2025",tryFormats="%m-%d-%Y") in the R console.
The first time I tried this, the crash had the same sort of trace, but the second time, the trace was different. 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, and I did use a context menu to copy the line from a script file to the R console before changing it. I'm not sure if this is the same problem.

(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0)
    at pthread_kill.c:44
#1  0x00007fc1d687c1e3 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:89
#2  0x00007fc1d6822afe in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007fc1e4f9e533 in KCrash::defaultCrashHandler(int) () at /lib64/libKF6Crash.so.6
#4  0x00007fc1d6822c30 in <signal handler called> () at /lib64/libc.so.6
#5  0x00007fc1d898f1be 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
#6  std::unique_ptr<KXMLGUIFactoryPrivate, std::default_delete<KXMLGUIFactoryPrivate> >::get (this=<optimized out>)
    at /usr/include/c++/15/bits/unique_ptr.h:473
#7  std::unique_ptr<KXMLGUIFactoryPrivate, std::default_delete<KXMLGUIFactoryPrivate> >::operator->
    (this=<optimized out>) at /usr/include/c++/15/bits/unique_ptr.h:466
#8  KXMLGUIFactory::container
    (this=0x0, containerName=..., client=client@entry=0x55620da95180, useTagName=useTagName@entry=false)
    at /usr/src/debug/kf6-kxmlgui-6.15.0-1.fc42.x86_64/src/kxmlguifactory.cpp:450
#9  0x00005561e42d0c90 in TwinTable::contextMenu
    (this=0x55620da95080, row=<optimized out>, col=<optimized out>, pos=...)
    at /usr/src/debug/rkward-0.8.2~pre^1.gitc45a3696-1.fc42.x86_64/rkward/dataeditor/twintable.cpp:325
#10 0x00007fc1d57657ba in QtPrivate::QSlotObjectBase::call (this=0x55620daa6c50, r=0x55620da95080, a=0x7ffe187352f0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#11 doActivate<false> (sender=0x7fc1b000b0b0, signal_index=15, argv=argv@entry=0x7ffe187352f0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
#12 0x00007fc1d575c089 in QMetaObject::activate
    (sender=sender@entry=0x7fc1b000b0b0, m=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe187352f0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4206
#13 0x00005561e42d8fa6 in QMetaObject::activate<void, int, int, QPoint>
    (sender=<optimized out>, mo=<optimized out>, local_signal_index=<optimized out>, ret=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--c
    at /usr/include/qt6/QtCore/qobjectdefs.h:306
#14 TwinTableMember::contextMenuRequest
    (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>)
    at /usr/src/debug/rkward-0.8.2~pre^1.gitc45a3696-1.fc42.x86_64/redhat-linux-build/rkward/dataeditor/dataeditor_autogen/EWIEGA46WW/moc_twintablemember.cpp:162
#15 TwinTableMember::handleContextMenuRequest (this=0x7fc1b000b0b0, pos=...)
    at /usr/src/debug/rkward-0.8.2~pre^1.gitc45a3696-1.fc42.x86_64/rkward/dataeditor/twintablemember.cpp:160
#16 0x00007fc1d57657ba in QtPrivate::QSlotObjectBase::call (this=0x55620da86c60, r=0x7fc1b000b0b0, a=0x7ffe18735430)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#17 doActivate<false> (sender=0x7fc1b000b0b0, signal_index=6, argv=argv@entry=0x7ffe18735430)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
#18 0x00007fc1d575c089 in QMetaObject::activate
    (sender=sender@entry=0x7fc1b000b0b0, m=m@entry=0x7fc1d83a31c0, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7ffe18735430) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4206
#19 0x00007fc1d7c83632 in QMetaObject::activate<void, QPoint>
    (sender=0x7fc1b000b0b0, mo=0x7fc1d83a31c0, local_signal_index=3, ret=0x0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs.h:306
#20 QWidget::customContextMenuRequested (this=this@entry=0x7fc1b000b0b0, _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
#21 0x00007fc1d7ca79c2 in QWidget::event (this=this@entry=0x7fc1b000b0b0, event=event@entry=0x7ffe187358c0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qwidget.cpp:9174
#22 0x00007fc1d7d010f6 in QFrame::event (this=0x7fc1b000b0b0, e=0x7ffe187358c0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/widgets/qframe.cpp:521
#23 0x00007fc1d56f9caa in QCoreApplicationPrivate::sendThroughObjectEventFilters
    (receiver=receiver@entry=0x55620da6fde0, event=event@entry=0x7ffe187358c0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1243
#24 0x00007fc1d7c3d96f in QApplicationPrivate::notify_helper
    (this=this@entry=0x55620b5264b0, receiver=receiver@entry=0x55620da6fde0, e=e@entry=0x7ffe187358c0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3297
#25 0x00007fc1d7c494cb in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7ffe187358c0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:2921
#26 0x00007fc1d56f9f38 in QCoreApplication::notifyInternal2 (receiver=0x55620da6fde0, event=0x7ffe187358c0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#27 0x00007fc1d56f9f6a in QCoreApplication::forwardEvent
    (receiver=<optimized out>, event=<optimized out>, originatingEvent=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1121
#28 0x00007fc1d7cbebed in QWidgetWindow::handleContextMenuEvent (this=<optimized out>, e=0x7ffe18735b00)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qwidgetwindow.cpp:1221
#29 0x00007fc1d7cbeff0 in QWidgetWindow::event (this=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qwidgetwindow.cpp:369
#30 0x00007fc1d7c3d97f in QApplicationPrivate::notify_helper
    (this=<optimized out>, receiver=0x55620ba0de50, e=0x7ffe18735b00)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3303
#31 0x00007fc1d56f9f38 in QCoreApplication::notifyInternal2 (receiver=0x55620ba0de50, event=0x7ffe18735b00)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#32 0x00007fc1d56f9f6a in QCoreApplication::forwardEvent
    (receiver=<optimized out>, event=<optimized out>, originatingEvent=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1121
#33 0x00007fc1d5f588a4 in QWindowPrivate::maybeSynthesizeContextMenuEvent (this=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qwindow_p.h:35
#34 QWindowPrivate::maybeSynthesizeContextMenuEvent (this=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qwindow.cpp:2802
#35 0x00007fc1d7cbc402 in QWidgetWindow::handleMouseEvent (this=0x55620ba0de50, event=0x7ffe18735ed0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qwidgetwindow.cpp:683
#36 0x00007fc1d7cbeeb3 in QWidgetWindow::event (this=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qwidgetwindow.cpp:292
#37 0x00007fc1d7c3d97f in QApplicationPrivate::notify_helper
    (this=<optimized out>, receiver=0x55620ba0de50, e=0x7ffe18735ed0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3303
#38 0x00007fc1d56f9f38 in QCoreApplication::notifyInternal2 (receiver=0x55620ba0de50, event=0x7ffe18735ed0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#39 0x00007fc1d56fa1ad in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1560
#40 0x00007fc1d5ef22a9 in QGuiApplicationPrivate::processMouseEvent (e=0x7fc1a4008780)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qguiapplication.cpp:2476
#41 0x00007fc1d5f5c76c in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:1113
#42 0x00007fc1d5f5c988 in QWindowSystemInterface::flushWindowSystemEvents (flags=...)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:1082
#43 0x00007fc1d575662c in QObject::event (this=<optimized out>, e=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:1431
#44 0x00007fc1d7c3d97f in QApplicationPrivate::notify_helper
    (this=<optimized out>, receiver=0x55620b5727c0, e=0x7fc1ac003bc0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3303
#45 0x00007fc1d56f9f38 in QCoreApplication::notifyInternal2 (receiver=0x55620b5727c0, event=0x7fc1ac003bc0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#46 0x00007fc1d56fa19d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1546
#47 0x00007fc1d56fdd26 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55620b557e00)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1879
#48 0x00007fc1d5a1016f in postEventSourceDispatch (s=0x55620b56dfc0)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#49 0x00007fc1d40e9880 in g_main_dispatch (context=0x7fc1b0000f00) at ../glib/gmain.c:3398
#50 g_main_context_dispatch_unlocked (context=0x7fc1b0000f00) at ../glib/gmain.c:4249
#51 0x00007fc1d40f27a8 in g_main_context_iterate_unlocked
    (context=context@entry=0x7fc1b0000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/gmain.c:4314
#52 0x00007fc1d40f2953 in g_main_context_iteration (context=0x7fc1b0000f00, may_block=1) at ../glib/gmain.c:4379
#53 0x00007fc1d5a0f9ad in QEventDispatcherGlib::processEvents (this=0x55620b505800, flags=...)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#54 0x00007fc1d5707b03 in QEventLoop::exec (this=this@entry=0x7ffe18736550, flags=..., flags@entry=...)
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/global/qflags.h:77
#55 0x00007fc1d5703419 in QCoreApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1449
#56 0x00007fc1d5eddbad in QGuiApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qguiapplication.cpp:1986
#57 0x00007fc1d7c3d8e9 in QApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:2570
#58 0x00005561e413ddce in main (argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/rkward-0.8.2~pre^1.gitc45a3696-1.fc42.x86_64/rkward/main.cpp:294


Reproducible: Always

Steps to Reproduce:
1. Start RKWard
2. create a new workspace and data set my.data which has a numeric variable var by default
3. In the R console, run my.data$var = as.Date("1-1-2025",tryFormats="%m-%d-%Y") To see the first type of trace, enter the line above without using a context menu to copy and paste it.

Actual Results:
RKWard crashed in RKVariable::setNumericFromR when running lines which replaced a variable set to Numeric with a Date object

Expected Results:
RKWard should've assigned the Date values to the numeric variable without crashing

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

Application: rkward (0.8.1z+0.8.2+devel1)

ApplicationNotResponding [ANR]: false
Qt Version: 6.9.1
Frameworks Version: 6.15.0
Operating System: Linux 6.15.3-200.fc42.x86_64 x86_64
Windowing System: Wayland
Distribution: "Fedora Linux 42 (KDE Plasma Desktop Edition)"
DrKonqi: 6.4.0 [CoredumpBackend]

Comment 1 Iñaki Ucar 2025-06-27 16:10:07 UTC
Thansk for reporting this upstream. Please let us know when they have a fix so that we can build another pre-release (or, better yet, a new release).

Comment 2 Matt Fagnani 2025-07-10 17:56:09 UTC
(In reply to Iñaki Ucar from comment #1)
> Thansk for reporting this upstream. Please let us know when they have a fix
> so that we can build another pre-release (or, better yet, a new release).

Thomas Friedrichsmeier wrote a patch for this problem https://bugs.kde.org/show_bug.cgi?id=505955#c4 https://invent.kde.org/education/rkward/-/commit/dfac743c6e8894ea8383ee5be939d9e87283d8e5 Thanks.

Comment 3 Fedora Update System 2025-08-05 13:40:48 UTC
FEDORA-2025-21ffeee966 (rkward-0.8.2~pre^1.gitcb3c2dd3-1.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-21ffeee966

Comment 4 Fedora Update System 2025-08-05 13:41:17 UTC
FEDORA-2025-9c469359a4 (rkward-0.8.2~pre^1.gitcb3c2dd3-1.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-9c469359a4

Comment 5 Fedora Update System 2025-08-05 13:43:17 UTC
FEDORA-2025-21ffeee966 (rkward-0.8.2~pre^1.gitcb3c2dd3-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 6 Fedora Update System 2025-08-06 02:36:40 UTC
FEDORA-2025-9c469359a4 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-9c469359a4`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-9c469359a4

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

Comment 7 Fedora Update System 2025-08-09 04:08:32 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 8 Fedora Update System 2025-08-17 01:12:33 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.