Bug 409466

Summary: Plasma crashes in KIO::DropJob::setApplicationActions() when I open a link newly dragged-and-dropped to the desktop
Product: [Plasma] plasmashell Reporter: Patrick Silva <bugseforuns>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: nate, sitter
Priority: NOR    
Version: 5.16.2   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Patrick Silva 2019-07-03 16:30:51 UTC
SUMMARY
I can reproduce this crash only on X11 session.

STEPS TO REPRODUCE
1. load the following url with your internet browser:

https://www.google.de/maps/dir/North+Pole,+AK,+United+States/Mexico+City,+Mexico/@49.9739648,-132.3287779,4z/data=!4m14!4m13!1m5!1m1!1s0x51324d51d5c5f2b9:0xda1a7714d9d98964!2m2!1d-147.3494444!2d64.7511111!1m5!1m1!1s0x85ce0026db097507:0x54061076265ee841!2m2!1d-99.133208!2d19.4326077!3e0

2. Drag and drop the URL by dragging the address bar icon to the desktop and choose "Link here" 

3. click on the link newly added to desktop

OBSERVED RESULT
plasma crashes

EXPECTED RESULT
no crash

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 5.16.2
KDE Frameworks Version: 5.59.0
Qt Version: 5.13.0


Thread 14 (Thread 0x7f65cffff700 (LWP 8409)):
#0  0x00007f66414d2415 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f66422045a0 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt5Core.so.5
#2  0x00007f6642204692 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#3  0x00007f6643fd27bd in  () at /usr/lib/libQt5Quick.so.5
#4  0x00007f6643fd2a6e in  () at /usr/lib/libQt5Quick.so.5
#5  0x00007f66421fe520 in  () at /usr/lib/libQt5Core.so.5
#6  0x00007f66414cc57f in start_thread () at /usr/lib/libpthread.so.0
#7  0x00007f6641e8d0e3 in clone () at /usr/lib/libc.so.6

Thread 13 (Thread 0x7f65f8f6c700 (LWP 8408)):
#0  0x00007f66414d2415 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f66422045a0 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt5Core.so.5
#2  0x00007f6642204692 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#3  0x00007f6643fd27bd in  () at /usr/lib/libQt5Quick.so.5
#4  0x00007f6643fd2a6e in  () at /usr/lib/libQt5Quick.so.5
#5  0x00007f66421fe520 in  () at /usr/lib/libQt5Core.so.5
#6  0x00007f66414cc57f in start_thread () at /usr/lib/libpthread.so.0
#7  0x00007f6641e8d0e3 in clone () at /usr/lib/libc.so.6

Thread 12 (Thread 0x7f65f9dd2700 (LWP 8305)):
#0  0x00007f6641e82667 in poll () at /usr/lib/libc.so.6
#1  0x00007f662869a8b3 in poll (__timeout=-1, __nfds=3, __fds=0x7f65e8197240) at /usr/include/bits/poll2.h:46
#2  0x00007f662869a8b3 in poll_func (ufds=0x7f65e8197240, nfds=3, timeout=-1, userdata=0x558b3fc0fea0) at pulse/thread-mainloop.c:69
#3  0x00007f662868bbd0 in pa_mainloop_poll (m=m@entry=0x558b3fb2c190) at pulse/mainloop.c:824
#4  0x00007f662868c220 in pa_mainloop_iterate (m=0x558b3fb2c190, block=<optimized out>, retval=0x0) at pulse/mainloop.c:926
#5  0x00007f662868c2d1 in pa_mainloop_run (m=0x558b3fb2c190, retval=retval@entry=0x0) at pulse/mainloop.c:945
#6  0x00007f662869a7ee in thread (userdata=0x558b4011dc30) at pulse/thread-mainloop.c:100
#7  0x00007f6628397cec in internal_thread_func (userdata=0x558b3fb2c510) at pulsecore/thread-posix.c:81
#8  0x00007f66414cc57f in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f6641e8d0e3 in clone () at /usr/lib/libc.so.6

Thread 11 (Thread 0x7f65fadd4700 (LWP 8154)):
[m#0  0x00007f6641e82667 in poll () at /usr/lib/libc.so.6
#1  0x00007f66404bb7c0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f66404bc7f2 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3  0x00007f66289ee508 in  () at /usr/lib/libgio-2.0.so.0
#4  0x00007f6640496f21 in  () at /usr/lib/libglib-2.0.so.0
#5  0x00007f66414cc57f in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f6641e8d0e3 in clone () at /usr/lib/libc.so.6

Thread 10 (Thread 0x7f65fb5f2700 (LWP 8153)):
#0  0x00007f6641e82667 in poll () at /usr/lib/libc.so.6
#1  0x00007f66404bb7c0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f66404bb8ae in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f66404bb902 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f6640496f21 in  () at /usr/lib/libglib-2.0.so.0
#5  0x00007f66414cc57f in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f6641e8d0e3 in clone () at /usr/lib/libc.so.6

Thread 9 (Thread 0x7f6611594700 (LWP 8111)):
#0  0x00007f66414d2415 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f66422045a0 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt5Core.so.5
#2  0x00007f6642204692 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#3  0x00007f6643fd27bd in  () at /usr/lib/libQt5Quick.so.5
#4  0x00007f6643fd2a6e in  () at /usr/lib/libQt5Quick.so.5
#5  0x00007f66421fe520 in  () at /usr/lib/libQt5Core.so.5
#6  0x00007f66414cc57f in start_thread () at /usr/lib/libpthread.so.0
#7  0x00007f6641e8d0e3 in clone () at /usr/lib/libc.so.6

Thread 8 (Thread 0x7f66132bb700 (LWP 8107)):
#0  0x00007f6641e82667 in poll () at /usr/lib/libc.so.6
#1  0x00007f66404bb7c0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f66404bb8ae in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f66424239a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f66423ca5ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f66421fd2f5 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f66421fe520 in  () at /usr/lib/libQt5Core.so.5
#7  0x00007f66414cc57f in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f6641e8d0e3 in clone () at /usr/lib/libc.so.6

Thread 7 (Thread 0x7f6621740700 (LWP 8096)):
#0  0x00007f6641e82667 in poll () at /usr/lib/libc.so.6
#1  0x00007f66404bb7c0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f66404bb8ae in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f66424239a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f66423ca5ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f66421fd2f5 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f6643f4761b in  () at /usr/lib/libQt5Quick.so.5
#7  0x00007f66421fe520 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f66414cc57f in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f6641e8d0e3 in clone () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7f662303b700 (LWP 8095)):
#0  0x00007f66414d2415 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f66422045a0 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt5Core.so.5
#2  0x00007f6642204692 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#3  0x00007f6643fd27bd in  () at /usr/lib/libQt5Quick.so.5
#4  0x00007f6643fd2a6e in  () at /usr/lib/libQt5Quick.so.5
#5  0x00007f66421fe520 in  () at /usr/lib/libQt5Core.so.5
#6  0x00007f66414cc57f in start_thread () at /usr/lib/libpthread.so.0
#7  0x00007f6641e8d0e3 in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7f662b412700 (LWP 8087)):
#0  0x00007f66414d2415 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f662b57cf7c in  () at /usr/lib/dri/i965_dri.so
#2  0x00007f662b57cb78 in  () at /usr/lib/dri/i965_dri.so
#3  0x00007f66414cc57f in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f6641e8d0e3 in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f663a52b700 (LWP 8085)):
#0  0x00007f6641e82667 in poll () at /usr/lib/libc.so.6
#1  0x00007f66404bb7c0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f66404bb8ae in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f66424239a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f66423ca5ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f66421fd2f5 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f6643c698f9 in  () at /usr/lib/libQt5Qml.so.5
#7  0x00007f66421fe520 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f66414cc57f in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f6641e8d0e3 in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f663b75b700 (LWP 8083)):
#0  0x00007f6641e82667 in poll () at /usr/lib/libc.so.6
#1  0x00007f66404bb7c0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f66404bb8ae in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f66424239a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f66423ca5ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f66421fd2f5 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f6642c98b37 in  () at /usr/lib/libQt5DBus.so.5
#7  0x00007f66421fe520 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f66414cc57f in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f6641e8d0e3 in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f663c540700 (LWP 8082)):
#0  0x00007f6641e82667 in poll () at /usr/lib/libc.so.6
#1  0x00007f66443d7630 in  () at /usr/lib/libxcb.so.1
#2  0x00007f66443d92db in xcb_wait_for_event () at /usr/lib/libxcb.so.1
#3  0x00007f663cebc049 in  () at /usr/lib/libQt5XcbQpa.so.5
#4  0x00007f66421fe520 in  () at /usr/lib/libQt5Core.so.5
#5  0x00007f66414cc57f in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f6641e8d0e3 in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f663d314880 (LWP 8080)):
#0  0x00007f66419cffb1 in KIO::DropJob::setApplicationActions(QList<QAction*> const&) () at /usr/lib/libKF5KIOWidgets.so.5
#1  0x00007f66392c9d0d in  () at /usr/lib/qt/plugins/plasma/scriptengines/plasma_appletscript_declarative.so
#2  0x00007f66392caf25 in  () at /usr/lib/qt/plugins/plasma/scriptengines/plasma_appletscript_declarative.so
#3  0x00007f66423f7a11 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#4  0x00007f6640371c58 in KIO::TransferJob::mimetype(KIO::Job*, QString const&) () at /usr/lib/libKF5KIOCore.so.5
#5  0x00007f6640371e84 in KIO::TransferJob::slotMimetype(QString const&) () at /usr/lib/libKF5KIOCore.so.5
#6  0x00007f66423f7b70 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#7  0x00007f66403357b6 in KIO::SlaveInterface::mimeType(QString const&) () at /usr/lib/libKF5KIOCore.so.5
#8  0x00007f664033960d in KIO::SlaveInterface::dispatch(int, QByteArray const&) () at /usr/lib/libKF5KIOCore.so.5
#9  0x00007f6640335939 in KIO::SlaveInterface::dispatch() () at /usr/lib/libKF5KIOCore.so.5
#10 0x00007f664033dfca in KIO::Slave::gotInput() () at /usr/lib/libKF5KIOCore.so.5
#11 0x00007f66423f7b70 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#12 0x00007f66402bf494 in  () at /usr/lib/libKF5KIOCore.so.5
#13 0x00007f66423f844a in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#14 0x00007f6642f034d5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#15 0x00007f6642f0ca21 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#16 0x00007f66423cb9c2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#17 0x00007f66423ce739 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#18 0x00007f66424243a4 in  () at /usr/lib/libQt5Core.so.5
#19 0x00007f66404b990f in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#20 0x00007f66404bb869 in  () at /usr/lib/libglib-2.0.so.0
#21 0x00007f66404bb8ae in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#22 0x00007f66424239a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#23 0x00007f66423ca5ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#24 0x00007f66423d2326 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#25 0x0000558b38f1adf6 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-5.16.2/shell/main.cpp:215
Detaching from program: /usr/bin/plasmashell, process 8080
[Inferior 1 (process 8080) detached]
Comment 1 Harald Sitter 2019-11-07 15:44:48 UTC
Trace with symbols. At a glance it looks like the DropJob may have gotten deleted before that call happened.

Thread 1 (Thread 0x7f1dc8184800 (LWP 1968)):
[KCrash Handler]
#6  QHashData::firstNode (this=0x1c1) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:128
#7  QHash<KIO::DropMenu*, QHashDummyValue>::begin (this=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:459
#8  QSet<KIO::DropMenu*>::begin (this=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h:179
#9  KIO::DropJob::setApplicationActions (this=this@entry=0x559ceddbf390, actions=...) at ./src/widgets/dropjob.cpp:410
#10 0x00007f1daa79b1c4 in ContainmentInterface::mimeTypeRetrieved (this=<optimized out>, job=<optimized out>, mimetype=...) at ./src/scriptengines/qml/plasmoid/containmentinterface.cpp:797
#11 0x00007f1daa79c090 in ContainmentInterface::qt_static_metacall (_o=0x559ced4ad070, _c=<optimized out>, _id=<optimized out>, _a=0x7fffe97b7480) at ./obj-x86_64-linux-gnu/src/scriptengines/qml/plasma_appletscript_declarative_autogen/include/moc_containmentinterface.cpp:226
#12 0x00007f1dc1f6d715 in QMetaObject::activate (sender=0x559cedead7a0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3809
#13 0x00007f1dbac5f3c7 in KIO::TransferJob::mimetype(KIO::Job*, QString const&) () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#14 0x00007f1dbac5ffa2 in KIO::TransferJob::slotMimetype(QString const&) () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#15 0x00007f1dc1f6d82f in QtPrivate::QSlotObjectBase::call (a=0x7fffe97b7640, r=0x559cedead7a0, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#16 QMetaObject::activate (sender=0x559cef6fe010, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3789
#17 0x00007f1dbac2ad85 in KIO::SlaveInterface::mimeType(QString const&) () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#18 0x00007f1dbac2e46b in KIO::SlaveInterface::dispatch(int, QByteArray const&) () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#19 0x00007f1dbac2b418 in KIO::SlaveInterface::dispatch() () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#20 0x00007f1dbac311c1 in KIO::Slave::gotInput() () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#21 0x00007f1dc1f6d82f in QtPrivate::QSlotObjectBase::call (a=0x7fffe97b78c0, r=0x559cef6fe010, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#22 QMetaObject::activate (sender=0x559cef0a9920, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3789
#23 0x00007f1dc1f6e272 in QObject::event (this=0x559cef0a9920, e=<optimized out>) at kernel/qobject.cpp:1260
#24 0x00007f1dc3195eac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007f1dc319d4b0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007f1dc1f3cd48 in QCoreApplication::notifyInternal2 (receiver=0x559cef0a9920, event=0x559cef6fba40) at kernel/qcoreapplication.cpp:1095
#27 0x00007f1dc1f3cf1e in QCoreApplication::sendEvent (receiver=<optimized out>, event=event@entry=0x559cef6fba40) at kernel/qcoreapplication.cpp:1490
#28 0x00007f1dc1f3f667 in QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x559ced286b40) at kernel/qcoreapplication.cpp:1840
#29 0x00007f1dc1f3fbf8 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1694
#30 0x00007f1dc1f9b3a3 in postEventSourceDispatch (s=0x559ced2ea7b0) at kernel/qeventdispatcher_glib.cpp:277
#31 0x00007f1dbb580417 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007f1dbb580650 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007f1dbb5806dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007f1dc1f9a9bf in QEventDispatcherGlib::processEvents (this=0x559ced2f2c80, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#35 0x00007f1dc1f3aeaa in QEventLoop::exec (this=this@entry=0x7fffe97b7e90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#36 0x00007f1dc1f44220 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1403
#37 0x0000559cecd858cf in ?? ()
#38 0x00007f1dc1554b97 in __libc_start_main (main=0x559cecd84c20, argc=1, argv=0x7fffe97b8198, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffe97b8188) at ../csu/libc-start.c:310
#39 0x0000559cecd85b8a in _start ()
Comment 2 Nate Graham 2021-02-23 19:34:37 UTC
I can't reproduce the issue following your instructions anymore in Plasma 5.21. Can you?
Comment 3 Patrick Silva 2021-02-24 09:48:30 UTC
I can't reproduce this crash on Arch Linux (Plasma 5.21) or neon unstable.
Comment 4 Nate Graham 2021-02-24 14:19:32 UTC
Thanks for confirming!