Hi. On openSUSE Tumbleweed, after the recent update to KDE Plasma 6.4(.1) I had weird slowdown issues, so reinstalled an older snapshot from snapper, then after the 20250630 update, updated again and it was fine until one time was in a fullscreen app, wanted to use Spectacle and it didn’t launch. When I closed the fullscreen app, I realized Plasma has crashed. Rebooted, and since then every time I start my computer, Plasma crashes immediately. Both on X11 and Wayland. The system deleted older snapshots so right now I can only use IceWM.
I use nVidia with proprietary drivers but they seemed to work before.
Maybe most of what I said now is red herring but maybe it helps.
I have a plasmashell.kcrash file:
Application: plasmashell (plasmashell), signal: Segmentation fault
This GDB supports auto-downloading debuginfo from the following URLs:
<https://debuginfod.opensuse.org/>
Enable debuginfod for this session? (y or [n]) [answered N; input not from terminal]
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
warning: Can't open file /home/kalevi/.cache/plasmashell/qmlcache/5b7bbfd96267d74c2fdae847420d463d51481b0a.qmlc (deleted) during file-backed mapping note processing
warning: Can't open file /memfd:wayland-shm (deleted) during file-backed mapping note processing
warning: Can't open file /memfd:/.glXXXXXX (deleted) during file-backed mapping note processing
warning: Can't open file /memfd:kwin-dmabuf-feedback-table (deleted) during file-backed mapping note processing
warning: Can't open file /memfd:JSGCHeap:QtQml (deleted) during file-backed mapping note processing
warning: Can't open file /memfd:unknown-usage:QtQml (deleted) during file-backed mapping note processing
warning: Can't open file /memfd:JITCode:QtQml (deleted) during file-backed mapping note processing
warning: Can't open file /memfd:pulseaudio (deleted) during file-backed mapping note processing
warning: Can't open file /home/kalevi/.cache/plasmashell/qmlcache/ceea0ef8d55135e6277d50918e758bf1836b1f55.qmlc (deleted) during file-backed mapping note processing
warning: Can't open file /memfd:JSVMStack:QtQml (deleted) during file-backed mapping note processing
[New LWP 17285]
[New LWP 17293]
[New LWP 17349]
[New LWP 17326]
[New LWP 17347]
[New LWP 17292]
[New LWP 17311]
[New LWP 17330]
[New LWP 17325]
[New LWP 17327]
[New LWP 17346]
[New LWP 17328]
[New LWP 17323]
[New LWP 17291]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/plasmashell --no-respawn'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f383389c5fc in __pthread_kill_implementation () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7f383006c4c0 (LWP 17285))]
python sentry-sdk not installed :(
Cannot QML trace cores :(
[Current thread is 12 (Thread 0x7f37fc9fe6c0 (LWP 17328))]
Thread 14 (Thread 0x7f382fbff6c0 (LWP 17291)):
#0 0x00007f38338a30b2 in __syscall_cancel_arch () at /lib64/libc.so.6
#1 0x00007f38338969e8 in __internal_syscall_cancel () at /lib64/libc.so.6
#2 0x00007f3833896a41 in __syscall_cancel () at /lib64/libc.so.6
#3 0x00007f3833911522 in ppoll () at /lib64/libc.so.6
#4 0x00007f3832c55ddf in ??? () at /lib64/libglib-2.0.so.0
#5 0x00007f3832c5652c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#6 0x00007f383441de83 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#7 0x00007f38341c3afb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#8 0x00007f38342b771c in QThread::exec() () at /lib64/libQt6Core.so.6
#9 0x00007f383525257e in ??? () at /lib64/libQt6DBus.so.6
#10 0x00007f3834332eae in ??? () at /lib64/libQt6Core.so.6
#11 0x00007f383389a7be in start_thread () at /lib64/libc.so.6
#12 0x00007f383391edcc in __clone3 () at /lib64/libc.so.6
Thread 13 (Thread 0x7f38077ff6c0 (LWP 17323)):
#0 0x00007f38338a30b2 in __syscall_cancel_arch () at /lib64/libc.so.6
#1 0x00007f38338969e8 in __internal_syscall_cancel () at /lib64/libc.so.6
#2 0x00007f3833896a41 in __syscall_cancel () at /lib64/libc.so.6
#3 0x00007f3833911522 in ppoll () at /lib64/libc.so.6
#4 0x00007f3832c55ddf in ??? () at /lib64/libglib-2.0.so.0
#5 0x00007f3832c5652c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#6 0x00007f383441de83 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#7 0x00007f38341c3afb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#8 0x00007f38342b771c in QThread::exec() () at /lib64/libQt6Core.so.6
#9 0x00007f3835e275f1 in ??? () at /lib64/libQt6Quick.so.6
#10 0x00007f3834332eae in ??? () at /lib64/libQt6Core.so.6
#11 0x00007f383389a7be in start_thread () at /lib64/libc.so.6
#12 0x00007f383391edcc in __clone3 () at /lib64/libc.so.6
Thread 12 (Thread 0x7f37fc9fe6c0 (LWP 17328)):
#0 0x00007f38338a30b2 in __syscall_cancel_arch () at /lib64/libc.so.6
#1 0x00007f38338969e8 in __internal_syscall_cancel () at /lib64/libc.so.6
#2 0x00007f38338971bc in __futex_abstimed_wait_common () at /lib64/libc.so.6
#3 0x00007f3833899ee5 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libc.so.6
#4 0x00007f3834339325 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib64/libQt6Core.so.6
#5 0x00007f3834334234 in ??? () at /lib64/libQt6Core.so.6
#6 0x00007f3834332eae in ??? () at /lib64/libQt6Core.so.6
#7 0x00007f383389a7be in start_thread () at /lib64/libc.so.6
#8 0x00007f383391edcc in __clone3 () at /lib64/libc.so.6
Thread 11 (Thread 0x7f37ede696c0 (LWP 17346)):
#0 0x00007f38338a30b2 in __syscall_cancel_arch () at /lib64/libc.so.6
#1 0x00007f38338969e8 in __internal_syscall_cancel () at /lib64/libc.so.6
#2 0x00007f3833896a41 in __syscall_cancel () at /lib64/libc.so.6
#3 0x00007f3833910f9a in poll () at /lib64/libc.so.6
#4 0x00007f37ed432451 in ??? () at /lib64/libpulse.so.0
#5 0x00007f37ed41c674 in pa_mainloop_poll () at /lib64/libpulse.so.0
#6 0x00007f37ed426bd6 in pa_mainloop_iterate () at /lib64/libpulse.so.0
#7 0x00007f37ed426c80 in pa_mainloop_run () at /lib64/libpulse.so.0
#8 0x00007f37ed437104 in ??? () at /lib64/libpulse.so.0
#9 0x00007f37ed3ceb5f in ??? () at /usr/lib64/pulseaudio/libpulsecommon-17.0.so
#10 0x00007f383389a7be in start_thread () at /lib64/libc.so.6
#11 0x00007f383391edcc in __clone3 () at /lib64/libc.so.6
Thread 10 (Thread 0x7f37fd1ff6c0 (LWP 17327)):
#0 0x00007f38338a30b2 in __syscall_cancel_arch () at /lib64/libc.so.6
#1 0x00007f38338969e8 in __internal_syscall_cancel () at /lib64/libc.so.6
#2 0x00007f38338971bc in __futex_abstimed_wait_common () at /lib64/libc.so.6
#3 0x00007f3833899ee5 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libc.so.6
#4 0x00007f3834339325 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib64/libQt6Core.so.6
#5 0x00007f3834334234 in ??? () at /lib64/libQt6Core.so.6
#6 0x00007f3834332eae in ??? () at /lib64/libQt6Core.so.6
#7 0x00007f383389a7be in start_thread () at /lib64/libc.so.6
#8 0x00007f383391edcc in __clone3 () at /lib64/libc.so.6
Thread 9 (Thread 0x7f3804fff6c0 (LWP 17325)):
#0 0x00007f38338a30b2 in __syscall_cancel_arch () at /lib64/libc.so.6
#1 0x00007f38338969e8 in __internal_syscall_cancel () at /lib64/libc.so.6
#2 0x00007f38338971bc in __futex_abstimed_wait_common () at /lib64/libc.so.6
#3 0x00007f3833899ee5 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libc.so.6
#4 0x00007f3834339325 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib64/libQt6Core.so.6
#5 0x00007f3834334234 in ??? () at /lib64/libQt6Core.so.6
#6 0x00007f3834332eae in ??? () at /lib64/libQt6Core.so.6
#7 0x00007f383389a7be in start_thread () at /lib64/libc.so.6
#8 0x00007f383391edcc in __clone3 () at /lib64/libc.so.6
Thread 8 (Thread 0x7f37eee6b6c0 (LWP 17330)):
#0 0x00007f38338a30b2 in __syscall_cancel_arch () at /lib64/libc.so.6
#1 0x00007f38338969e8 in __internal_syscall_cancel () at /lib64/libc.so.6
#2 0x00007f3833896a41 in __syscall_cancel () at /lib64/libc.so.6
#3 0x00007f3833911522 in ppoll () at /lib64/libc.so.6
#4 0x00007f3834327f51 in qt_safe_poll(pollfd*, unsigned long, QDeadlineTimer) () at /lib64/libQt6Core.so.6
#5 0x00007f38331af1a1 in ??? () at /lib64/libQt6Network.so.6
#6 0x00007f3833144771 in ??? () at /lib64/libQt6Network.so.6
#7 0x00007f383313b07c in QAbstractSocket::waitForReadyRead(int) () at /lib64/libQt6Network.so.6
#8 0x00007f38332c11f0 in ??? () at /lib64/libKF6KIOCore.so.6
#9 0x00007f38332fecb5 in ??? () at /lib64/libKF6KIOCore.so.6
#10 0x00007f38052d6012 in ??? () at /usr/lib64/qt6/plugins/kf6/kio/kio_file.so
#11 0x00007f3833308977 in ??? () at /lib64/libKF6KIOCore.so.6
#12 0x00007f3833304c68 in ??? () at /lib64/libKF6KIOCore.so.6
#13 0x00007f3833302e15 in ??? () at /lib64/libKF6KIOCore.so.6
#14 0x00007f3833399ff5 in ??? () at /lib64/libKF6KIOCore.so.6
#15 0x00007f3834332eae in ??? () at /lib64/libQt6Core.so.6
#16 0x00007f383389a7be in start_thread () at /lib64/libc.so.6
#17 0x00007f383391edcc in __clone3 () at /lib64/libc.so.6
Thread 7 (Thread 0x7f380f1ff6c0 (LWP 17311)):
#0 0x00007f38338a30b2 in __syscall_cancel_arch () at /lib64/libc.so.6
#1 0x00007f38338969e8 in __internal_syscall_cancel () at /lib64/libc.so.6
#2 0x00007f3833896a41 in __syscall_cancel () at /lib64/libc.so.6
#3 0x00007f3833911522 in ppoll () at /lib64/libc.so.6
#4 0x00007f3832c55ddf in ??? () at /lib64/libglib-2.0.so.0
#5 0x00007f3832c5652c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#6 0x00007f383441de83 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#7 0x00007f38341c3afb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#8 0x00007f38342b771c in QThread::exec() () at /lib64/libQt6Core.so.6
#9 0x00007f3834332eae in ??? () at /lib64/libQt6Core.so.6
#10 0x00007f383389a7be in start_thread () at /lib64/libc.so.6
#11 0x00007f383391edcc in __clone3 () at /lib64/libc.so.6
Thread 6 (Thread 0x7f382efff6c0 (LWP 17292)):
#0 0x00007f38338a30b2 in __syscall_cancel_arch () at /lib64/libc.so.6
#1 0x00007f38338969e8 in __internal_syscall_cancel () at /lib64/libc.so.6
#2 0x00007f38338971bc in __futex_abstimed_wait_common () at /lib64/libc.so.6
#3 0x00007f3833899d08 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libc.so.6
#4 0x00007f38343393a3 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib64/libQt6Core.so.6
#5 0x00007f3835367019 in ??? () at /lib64/libQt6WaylandClient.so.6
#6 0x00007f3834332eae in ??? () at /lib64/libQt6Core.so.6
#7 0x00007f383389a7be in start_thread () at /lib64/libc.so.6
#8 0x00007f383391edcc in __clone3 () at /lib64/libc.so.6
Thread 5 (Thread 0x7f37d3fff6c0 (LWP 17347)):
#0 0x00007f38338a30b2 in __syscall_cancel_arch () at /lib64/libc.so.6
#1 0x00007f38338969e8 in __internal_syscall_cancel () at /lib64/libc.so.6
#2 0x00007f3833896a41 in __syscall_cancel () at /lib64/libc.so.6
#3 0x00007f383391f0e1 in epoll_wait () at /lib64/libc.so.6
#4 0x00007f37ec18ed25 in ??? () at /usr/lib64/spa-0.2/support/libspa-support.so
#5 0x00007f37ec17cbfd in ??? () at /usr/lib64/spa-0.2/support/libspa-support.so
#6 0x00007f37ec39b9d4 in ??? () at /lib64/libpipewire-0.3.so.0
#7 0x00007f383389a7be in start_thread () at /lib64/libc.so.6
#8 0x00007f383391edcc in __clone3 () at /lib64/libc.so.6
Thread 4 (Thread 0x7f37fffff6c0 (LWP 17326)):
#0 0x00007f38338a30b2 in __syscall_cancel_arch () at /lib64/libc.so.6
#1 0x00007f38338969e8 in __internal_syscall_cancel () at /lib64/libc.so.6
#2 0x00007f38338971bc in __futex_abstimed_wait_common () at /lib64/libc.so.6
#3 0x00007f3833899ee5 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libc.so.6
#4 0x00007f3834339325 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib64/libQt6Core.so.6
#5 0x00007f3834334234 in ??? () at /lib64/libQt6Core.so.6
#6 0x00007f3834332eae in ??? () at /lib64/libQt6Core.so.6
#7 0x00007f383389a7be in start_thread () at /lib64/libc.so.6
#8 0x00007f383391edcc in __clone3 () at /lib64/libc.so.6
Thread 3 (Thread 0x7f37ee66a6c0 (LWP 17349)):
#0 0x00007f38338a30b2 in __syscall_cancel_arch () at /lib64/libc.so.6
#1 0x00007f38338969e8 in __internal_syscall_cancel () at /lib64/libc.so.6
#2 0x00007f3833896a41 in __syscall_cancel () at /lib64/libc.so.6
#3 0x00007f3833911522 in ppoll () at /lib64/libc.so.6
#4 0x00007f3832c55ddf in ??? () at /lib64/libglib-2.0.so.0
#5 0x00007f3832c5652c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#6 0x00007f383441de83 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#7 0x00007f38341c3afb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#8 0x00007f38342b771c in QThread::exec() () at /lib64/libQt6Core.so.6
#9 0x00007f37ed0af7c1 in KCupsConnection::run() () at /lib64/libkcupslib.so.6.4.1
#10 0x00007f3834332eae in ??? () at /lib64/libQt6Core.so.6
#11 0x00007f383389a7be in start_thread () at /lib64/libc.so.6
#12 0x00007f383391edcc in __clone3 () at /lib64/libc.so.6
Thread 2 (Thread 0x7f382e7fe6c0 (LWP 17293)):
#0 0x00007f38338a30b2 in __syscall_cancel_arch () at /lib64/libc.so.6
#1 0x00007f38338969e8 in __internal_syscall_cancel () at /lib64/libc.so.6
#2 0x00007f3833896a41 in __syscall_cancel () at /lib64/libc.so.6
#3 0x00007f3833910f9a in poll () at /lib64/libc.so.6
#4 0x00007f383536707b in ??? () at /lib64/libQt6WaylandClient.so.6
#5 0x00007f3834332eae in ??? () at /lib64/libQt6Core.so.6
#6 0x00007f383389a7be in start_thread () at /lib64/libc.so.6
#7 0x00007f383391edcc in __clone3 () at /lib64/libc.so.6
Thread 1 (Thread 0x7f383006c4c0 (LWP 17285)):
[KCrash Handler]
#4 0x00007f3835d2b095 in QSGSoftwareRenderableNode::update() () at /lib64/libQt6Quick.so.6
#5 0x00007f3835d37629 in ??? () at /lib64/libQt6Quick.so.6
#6 0x00007f3835d389dd in ??? () at /lib64/libQt6Quick.so.6
#7 0x00007f3835d6d1c5 in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#8 0x00007f3835d6d20b in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#9 0x00007f3835d6d1eb in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#10 0x00007f3835d6d1eb in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#11 0x00007f3835d6d1eb in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#12 0x00007f3835d6d1eb in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#13 0x00007f3835d6d1eb in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#14 0x00007f3835d6d1eb in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#15 0x00007f3835d6d1eb in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#16 0x00007f3835d6d1eb in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#17 0x00007f3835d6d1eb in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#18 0x00007f3835d6d1eb in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#19 0x00007f3835d6d1eb in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#20 0x00007f3835d6d1eb in QSGNodeVisitorEx::visitChildren(QSGNode*) () at /lib64/libQt6Quick.so.6
#21 0x00007f3835d385f4 in ??? () at /lib64/libQt6Quick.so.6
#22 0x00007f3835d2b8a5 in QSGAbstractSoftwareRenderer::nodeChanged(QSGNode*, QFlags<QSGNode::DirtyStateBit>) () at /lib64/libQt6Quick.so.6
#23 0x00007f3835d60638 in QSGRootNode::notifyNodeChange(QSGNode*, QFlags<QSGNode::DirtyStateBit>) () at /lib64/libQt6Quick.so.6
#24 0x00007f3835d606c0 in QSGNode::markDirty(QFlags<QSGNode::DirtyStateBit>) () at /lib64/libQt6Quick.so.6
#25 0x00007f3835d162dd in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) () at /lib64/libQt6Quick.so.6
#26 0x00007f3835d16834 in QQuickWindowPrivate::updateDirtyNodes() () at /lib64/libQt6Quick.so.6
#27 0x00007f3835d0bd46 in QQuickWindowPrivate::syncSceneGraph() () at /lib64/libQt6Quick.so.6
#28 0x00007f3835d3655e in ??? () at /lib64/libQt6Quick.so.6
#29 0x00007f3835d370e6 in ??? () at /lib64/libQt6Quick.so.6
#30 0x00007f3834a722fc in QWindow::event(QEvent*) () at /lib64/libQt6Gui.so.6
#31 0x0000562475fd141b in ??? ()
#32 0x00007f38365e0d9a in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt6Widgets.so.6
#33 0x00007f38341b8b28 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt6Core.so.6
#34 0x00007f3834a1f60d in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () at /lib64/libQt6Gui.so.6
#35 0x00007f3834a8052c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Gui.so.6
#36 0x00007f3834a806df in QWindowSystemInterface::flushWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Gui.so.6
#37 0x00007f38342056d7 in QObject::event(QEvent*) () at /lib64/libQt6Core.so.6
#38 0x00007f38365e0d9a in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt6Widgets.so.6
#39 0x00007f38341b8b28 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt6Core.so.6
#40 0x00007f38341b8ef6 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt6Core.so.6
#41 0x00007f3834420957 in ??? () at /lib64/libQt6Core.so.6
#42 0x00007f3832c53eb3 in ??? () at /lib64/libglib-2.0.so.0
#43 0x00007f3832c55ce8 in ??? () at /lib64/libglib-2.0.so.0
#44 0x00007f3832c5652c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#45 0x00007f383441de83 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#46 0x00007f38341c3afb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#47 0x00007f38341bc40c in QCoreApplication::exec() () at /lib64/libQt6Core.so.6
#48 0x0000562475fb61ea in ??? ()
#49 0x00007f383382b37b in __libc_start_call_main () at /lib64/libc.so.6
#50 0x00007f383382b44b in __libc_start_main_impl () at /lib64/libc.so.6
#51 0x0000562475fb66d5 in ??? ()