https://bugs.kde.org/show_bug.cgi?id=433891

            Bug ID: 433891
           Summary: KDE Partition Manager crash when trying to configure
                    usb flash disk
           Product: partitionmanager
           Version: 4.1.0
          Platform: Ubuntu Packages
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: andr...@stikonas.eu
          Reporter: m.hassani...@gmail.com
  Target Milestone: ---

Application: partitionmanager (4.1.0)

Qt Version: 5.12.8
Frameworks Version: 5.68.0
Operating System: Linux 5.4.0-65-generic x86_64
Windowing system: X11
Distribution: Ubuntu 20.04.2 LTS

-- Information about the crash:
I formatted flash with xbox 360 and try to view it in Partition...

The crash can be reproduced every time.

-- Backtrace:
Application: KDE Partition Manager (partitionmanager), signal: Floating point
exception
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa366b6e800 (LWP 277540))]

Thread 10 (Thread 0x7fa35576a700 (LWP 277550)):
#0  __GI___libc_read (nbytes=16, buf=0x7fa355769cd0, fd=17) at
../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=17, buf=0x7fa355769cd0, nbytes=16) at
../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007fa368c2789f in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa368bdecde in g_main_context_check () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa368bdf132 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fa368bdf513 in g_main_loop_run () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fa35c21beda in  () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#7  0x00007fa368c08911 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007fa369426609 in start_thread (arg=<optimized out>) at
pthread_create.c:477
#9  0x00007fa369f19293 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7fa355f6b700 (LWP 277549)):
#0  __GI___libc_read (nbytes=16, buf=0x7fa355f6ace0, fd=15) at
../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=15, buf=0x7fa355f6ace0, nbytes=16) at
../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007fa368c2789f in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa368bdecde in g_main_context_check () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa368bdf132 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fa368bdf2c3 in g_main_context_iteration () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fa368bdf311 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007fa368c08911 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007fa369426609 in start_thread (arg=<optimized out>) at
pthread_create.c:477
#9  0x00007fa369f19293 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7fa3567fc700 (LWP 277548)):
#0  0x00007fa368c2c278 in g_mutex_unlock () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fa368bde701 in g_main_context_prepare () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa368bdf0bb in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa368bdf2c3 in g_main_context_iteration () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa36a4aa583 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa36a4514db in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fa36bc7405f in  () at /lib/x86_64-linux-gnu/libkpmcore.so.9
#7  0x00007fa36a28a9d2 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa369426609 in start_thread (arg=<optimized out>) at
pthread_create.c:477
#9  0x00007fa369f19293 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fa356ffd700 (LWP 277547)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x55ea1b7f5188) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55ea1b7f5138,
cond=0x55ea1b7f5160) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55ea1b7f5160, mutex=0x55ea1b7f5138) at
pthread_cond_wait.c:638
#3  0x00007fa35d2dae6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007fa35d2daa6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007fa369426609 in start_thread (arg=<optimized out>) at
pthread_create.c:477
#6  0x00007fa369f19293 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fa3577fe700 (LWP 277546)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x55ea1b7f5188) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55ea1b7f5138,
cond=0x55ea1b7f5160) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55ea1b7f5160, mutex=0x55ea1b7f5138) at
pthread_cond_wait.c:638
#3  0x00007fa35d2dae6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007fa35d2daa6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007fa369426609 in start_thread (arg=<optimized out>) at
pthread_create.c:477
#6  0x00007fa369f19293 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fa357fff700 (LWP 277545)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x55ea1b7f5188) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55ea1b7f5138,
cond=0x55ea1b7f5160) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55ea1b7f5160, mutex=0x55ea1b7f5138) at
pthread_cond_wait.c:638
#3  0x00007fa35d2dae6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007fa35d2daa6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007fa369426609 in start_thread (arg=<optimized out>) at
pthread_create.c:477
#6  0x00007fa369f19293 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fa35cbe0700 (LWP 277544)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x55ea1b7f5188) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55ea1b7f5138,
cond=0x55ea1b7f5160) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55ea1b7f5160, mutex=0x55ea1b7f5138) at
pthread_cond_wait.c:638
#3  0x00007fa35d2dae6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007fa35d2daa6b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007fa369426609 in start_thread (arg=<optimized out>) at
pthread_create.c:477
#6  0x00007fa369f19293 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fa35ffff700 (LWP 277543)):
#0  __GI___libc_read (nbytes=16, buf=0x7fa35fffeb60, fd=7) at
../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=7, buf=0x7fa35fffeb60, nbytes=16) at
../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007fa368c2789f in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa368bdecde in g_main_context_check () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fa368bdf132 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fa368bdf2c3 in g_main_context_iteration () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fa36a4aa583 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fa36a4514db in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fa36a289785 in QThread::exec() () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fa369cf7efa in  () at /lib/x86_64-linux-gnu/libQt5DBus.so.5
#10 0x00007fa36a28a9d2 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007fa369426609 in start_thread (arg=<optimized out>) at
pthread_create.c:477
#12 0x00007fa369f19293 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fa3659ed700 (LWP 277542)):
#0  0x00007fa369f0caff in __GI___poll (fds=0x7fa3659ecca8, nfds=1, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fa368b1bc1a in  () at /lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fa368b1d90a in xcb_wait_for_event () at
/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fa3661f1298 in  () at /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007fa36a28a9d2 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fa369426609 in start_thread (arg=<optimized out>) at
pthread_create.c:477
#6  0x00007fa369f19293 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fa366b6e800 (LWP 277540)):
[KCrash Handler]
#6  0x00007fa36bc7f4e5 in PartWidget::paintEvent(QPaintEvent*) () at
/lib/x86_64-linux-gnu/libkpmcore.so.9
#7  0x00007fa36aead2b6 in QWidget::event(QEvent*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007fa36ae6aa66 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007fa36ae740f0 in QApplication::notify(QObject*, QEvent*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007fa36a45293a in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007fa36aea5f4a in QWidgetPrivate::sendPaintEvent(QRegion const&) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007fa36aea6799 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion
const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007fa36aea7423 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*,
QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*,
QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007fa36aea64a4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion
const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007fa36aea7423 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*,
QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*,
QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007fa36aea7306 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*,
QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*,
QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007fa36aea64a4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion
const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007fa36aea7423 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*,
QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*,
QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007fa36aea7306 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*,
QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*,
QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007fa36aea7306 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*,
QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*,
QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007fa36aea7306 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*,
QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*,
QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007fa36aea64a4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion
const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007fa36ae7cbfc in  () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007fa36ae7cdc1 in  () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007fa36ae95385 in QWidgetPrivate::syncBackingStore() () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007fa36aeadcac in QWidget::event(QEvent*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007fa36afc2148 in QMainWindow::event(QEvent*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007fa36b9c39ab in KMainWindow::event(QEvent*) () at
/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#29 0x00007fa36ba0e5bb in KXmlGuiWindow::event(QEvent*) () at
/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#30 0x00007fa36ae6aa66 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007fa36ae740f0 in QApplication::notify(QObject*, QEvent*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007fa36a45293a in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007fa36ae7de53 in  () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007fa36ae7edb0 in  () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007fa36ae97231 in QWidget::repaint(QRect const&) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#36 0x00007fa36ae972a0 in QWidget::repaint() () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#37 0x000055ea19bd309b in  ()
#38 0x000055ea19bc9d91 in  ()
#39 0x000055ea19bca2a0 in  ()
#40 0x00007fa36a47e458 in QMetaObject::activate(QObject*, int, int, void**) ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x000055ea19b90e26 in  ()
#42 0x000055ea19bb48f2 in  ()
#43 0x000055ea19b91285 in  ()
#44 0x000055ea19b919f1 in  ()
#45 0x00007fa36a47e3bc in QMetaObject::activate(QObject*, int, int, void**) ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#46 0x00007fa36a47e300 in QMetaObject::activate(QObject*, int, int, void**) ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#47 0x00007fa36a40dfb4 in QItemSelectionModel::selectionChanged(QItemSelection
const&, QItemSelection const&) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#48 0x00007fa36a4133a4 in
QItemSelectionModel::emitSelectionChanged(QItemSelection const&, QItemSelection
const&) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#49 0x00007fa36a415fc7 in QItemSelectionModel::select(QItemSelection const&,
QFlags<QItemSelectionModel::SelectionFlag>) () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#50 0x00007fa36b1156c4 in QListView::setSelection(QRect const&,
QFlags<QItemSelectionModel::SelectionFlag>) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#51 0x00007fa36b0d950a in QAbstractItemView::mousePressEvent(QMouseEvent*) ()
at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#52 0x00007fa36aead2d1 in QWidget::event(QEvent*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#53 0x00007fa36af5ad52 in QFrame::event(QEvent*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#54 0x00007fa36b0df482 in QAbstractItemView::viewportEvent(QEvent*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#55 0x00007fa36a45264b in
QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#56 0x00007fa36ae6aa55 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#57 0x00007fa36ae74343 in QApplication::notify(QObject*, QEvent*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#58 0x00007fa36a45293a in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /lib/x86_64-linux-gnu/libQt5Core.so.5
#59 0x00007fa36ae73457 in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#60 0x00007fa36aec935d in  () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#61 0x00007fa36aecc1ec in  () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#62 0x00007fa36ae6aa66 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#63 0x00007fa36ae740f0 in QApplication::notify(QObject*, QEvent*) () at
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#64 0x00007fa36a45293a in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /lib/x86_64-linux-gnu/libQt5Core.so.5
#65 0x00007fa36a83b7d3 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
() at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#66 0x00007fa36a83d10b in
QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)
() at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#67 0x00007fa36a81735b in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#68 0x00007fa3661f232e in  () at /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#69 0x00007fa368bdef9d in g_main_context_dispatch () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#70 0x00007fa368bdf220 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#71 0x00007fa368bdf2c3 in g_main_context_iteration () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#72 0x00007fa36a4aa565 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#73 0x00007fa36a4514db in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#74 0x00007fa36a459246 in QCoreApplication::exec() () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#75 0x000055ea19b90b99 in main ()
[Inferior 1 (process 277540) detached]

Possible duplicates by query: bug 433533, bug 433524, bug 433252, bug 432704,
bug 432496.

Reported using DrKonqi

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to