Application: plasma-discover (5.11.95) Qt Version: 5.9.3 Frameworks Version: 5.42.0 Operating System: Linux 4.13.0-26-generic x86_64 Distribution: KDE neon Developer Edition -- Information about the crash: What I was doing when the application crashed: - Navigate to an Application page - Click in the search box, and type something - Hit return Custom settings of the application: - Discover compiled from source from git Plasma/5.12 branch with all backends The crash can be reproduced every time. -- Backtrace: Application: Discover (plasma-discover), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7fb1c425e8c0 (LWP 18952))] Thread 11 (Thread 0x7fb17269e700 (LWP 19027)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 #1 0x00007fb1c00d0596 in QWaitConditionPrivate::wait_relative (time=30000, this=0x7fb17c0087c0) at thread/qwaitcondition_unix.cpp:133 #2 QWaitConditionPrivate::wait (time=30000, this=0x7fb17c0087c0) at thread/qwaitcondition_unix.cpp:141 #3 QWaitCondition::wait (this=this@entry=0x7fb17c0083a0, mutex=mutex@entry=0x7fb17c005590, time=30000) at thread/qwaitcondition_unix.cpp:215 #4 0x00007fb1c00cbdea in QThreadPoolThread::run (this=0x7fb17c008390) at thread/qthreadpool.cpp:144 #5 0x00007fb1c00cf709 in QThreadPrivate::start (arg=0x7fb17c008390) at thread/qthread_unix.cpp:368 #6 0x00007fb1bc27c6ba in start_thread (arg=0x7fb17269e700) at pthread_create.c:333 #7 0x00007fb1bf6d53dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 10 (Thread 0x7fb182881700 (LWP 19023)): #0 0x00007fb1bf6c970d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fb1ba3f338c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fb1ba3f349c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fb1c02f96cb in QEventDispatcherGlib::processEvents (this=0x7fb1ac0046b0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #4 0x00007fb1c02a1e2a in QEventLoop::exec (this=this@entry=0x7fb182880d00, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #5 0x00007fb1c00ca8f4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515 #6 0x00007fb1c00cf709 in QThreadPrivate::start (arg=0x190e590) at thread/qthread_unix.cpp:368 #7 0x00007fb1bc27c6ba in start_thread (arg=0x7fb182881700) at pthread_create.c:333 #8 0x00007fb1bf6d53dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 9 (Thread 0x7fb170310700 (LWP 18967)): #0 0x00007fb1bf6c524d in read () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fb1ba4366f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fb1ba3f2e74 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fb1ba3f3330 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007fb1ba3f349c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007fb1ba3f34d9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #6 0x00007fb1ba419bb5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #7 0x00007fb1bc27c6ba in start_thread (arg=0x7fb170310700) at pthread_create.c:333 #8 0x00007fb1bf6d53dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 8 (Thread 0x7fb171e9d700 (LWP 18964)): #0 0x00007fff595f89be in ?? () #1 0x00007fff595f8cfe in clock_gettime () #2 0x00007fb1bf6e3836 in __GI___clock_gettime (clock_id=clock_id@entry=1, tp=tp@entry=0x7fb171e9cae0) at ../sysdeps/unix/clock_gettime.c:115 #3 0x00007fb1c02f8fd1 in qt_clock_gettime (ts=0x7fb171e9cae0, clock=<optimized out>) at kernel/qelapsedtimer_unix.cpp:111 #4 do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at kernel/qelapsedtimer_unix.cpp:166 #5 qt_gettime () at kernel/qelapsedtimer_unix.cpp:175 #6 0x00007fb1c02f77c9 in QTimerInfoList::updateCurrentTime (this=0x7fb178003450) at kernel/qtimerinfo_unix.cpp:91 #7 0x00007fb1c02f9e25 in timerSourceCheckHelper (src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:146 #8 timerSourceCheck (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:173 #9 0x00007fb1ba3f2dc1 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x00007fb1ba3f3330 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #11 0x00007fb1ba3f349c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #12 0x00007fb1c02f96cb in QEventDispatcherGlib::processEvents (this=0x7fb1780036c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #13 0x00007fb1c02a1e2a in QEventLoop::exec (this=this@entry=0x7fb171e9cd00, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #14 0x00007fb1c00ca8f4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515 #15 0x00007fb1c00cf709 in QThreadPrivate::start (arg=0x2ced540) at thread/qthread_unix.cpp:368 #16 0x00007fb1bc27c6ba in start_thread (arg=0x7fb171e9d700) at pthread_create.c:333 #17 0x00007fb1bf6d53dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 7 (Thread 0x7fb183082700 (LWP 18960)): #0 0x00007fff595f89be in ?? () #1 0x00007fff595f8cfe in clock_gettime () #2 0x00007fb1bf6e3836 in __GI___clock_gettime (clock_id=clock_id@entry=1, tp=tp@entry=0x7fb183081a60) at ../sysdeps/unix/clock_gettime.c:115 #3 0x00007fb1c02f8fd1 in qt_clock_gettime (ts=0x7fb183081a60, clock=<optimized out>) at kernel/qelapsedtimer_unix.cpp:111 #4 do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at kernel/qelapsedtimer_unix.cpp:166 #5 qt_gettime () at kernel/qelapsedtimer_unix.cpp:175 #6 0x00007fb1c02f77c9 in QTimerInfoList::updateCurrentTime (this=this@entry=0x7fb17c0030d0) at kernel/qtimerinfo_unix.cpp:91 #7 0x00007fb1c02f7d35 in QTimerInfoList::timerWait (this=0x7fb17c0030d0, tm=...) at kernel/qtimerinfo_unix.cpp:388 #8 0x00007fb1c02f943e in timerSourcePrepareHelper (timeout=0x7fb183081b34, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:132 #9 timerSourcePrepare (source=<optimized out>, timeout=0x7fb183081b34) at kernel/qeventdispatcher_glib.cpp:165 #10 0x00007fb1ba3f291d in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #11 0x00007fb1ba3f32bb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #12 0x00007fb1ba3f349c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #13 0x00007fb1c02f96cb in QEventDispatcherGlib::processEvents (this=0x7fb17c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #14 0x00007fb1c02a1e2a in QEventLoop::exec (this=this@entry=0x7fb183081d00, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #15 0x00007fb1c00ca8f4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515 #16 0x00007fb1c00cf709 in QThreadPrivate::start (arg=0x1c20cc0) at thread/qthread_unix.cpp:368 #17 0x00007fb1bc27c6ba in start_thread (arg=0x7fb183082700) at pthread_create.c:333 #18 0x00007fb1bf6d53dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 6 (Thread 0x7fb188eaa700 (LWP 18957)): #0 0x00007fb1c02f93f3 in timerSourcePrepare (source=<optimized out>, timeout=0x7fb188ea9b34) at kernel/qeventdispatcher_glib.cpp:166 #1 0x00007fb1ba3f291d in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fb1ba3f32bb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fb1ba3f349c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007fb1c02f96cb in QEventDispatcherGlib::processEvents (this=0x7fb1840008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #5 0x00007fb1c02a1e2a in QEventLoop::exec (this=this@entry=0x7fb188ea9d00, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #6 0x00007fb1c00ca8f4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515 #7 0x00007fb1c00cf709 in QThreadPrivate::start (arg=0x1b8bf50) at thread/qthread_unix.cpp:368 #8 0x00007fb1bc27c6ba in start_thread (arg=0x7fb188eaa700) at pthread_create.c:333 #9 0x00007fb1bf6d53dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 5 (Thread 0x7fb19341a700 (LWP 18956)): #0 0x00007fb1bf6c970d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fb1ba3f338c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fb1ba3f349c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fb1c02f96cb in QEventDispatcherGlib::processEvents (this=0x7fb18c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #4 0x00007fb1c02a1e2a in QEventLoop::exec (this=this@entry=0x7fb193419c90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #5 0x00007fb1c00ca8f4 in QThread::exec (this=this@entry=0x19e7110) at thread/qthread.cpp:515 #6 0x00007fb1c34d0046 in QQuickPixmapReader::run (this=0x19e7110) at util/qquickpixmapcache.cpp:868 #7 0x00007fb1c00cf709 in QThreadPrivate::start (arg=0x19e7110) at thread/qthread_unix.cpp:368 #8 0x00007fb1bc27c6ba in start_thread (arg=0x7fb19341a700) at pthread_create.c:333 #9 0x00007fb1bf6d53dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 4 (Thread 0x7fb1a6f56700 (LWP 18955)): #0 0x00007fb1bf6c970d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fb1ba3f338c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fb1ba3f349c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fb1c02f96cb in QEventDispatcherGlib::processEvents (this=0x7fb1980008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #4 0x00007fb1c02a1e2a in QEventLoop::exec (this=this@entry=0x7fb1a6f55ce0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #5 0x00007fb1c00ca8f4 in QThread::exec (this=this@entry=0x16abe00) at thread/qthread.cpp:515 #6 0x00007fb1c0ccbd25 in QQmlThreadPrivate::run (this=0x16abe00) at qml/ftw/qqmlthread.cpp:147 #7 0x00007fb1c00cf709 in QThreadPrivate::start (arg=0x16abe00) at thread/qthread_unix.cpp:368 #8 0x00007fb1bc27c6ba in start_thread (arg=0x7fb1a6f56700) at pthread_create.c:333 #9 0x00007fb1bf6d53dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3 (Thread 0x7fb1a8167700 (LWP 18954)): #0 __libc_disable_asynccancel () at ../sysdeps/unix/sysv/linux/x86_64/cancellation.S:98 #1 0x00007fb1bf6c9719 in poll () at ../sysdeps/unix/syscall-template.S:84 #2 0x00007fb1ba3f338c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fb1ba3f349c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007fb1c02f96cb in QEventDispatcherGlib::processEvents (this=0x7fb1a00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #5 0x00007fb1c02a1e2a in QEventLoop::exec (this=this@entry=0x7fb1a8166cd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #6 0x00007fb1c00ca8f4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515 #7 0x00007fb1c1fa9315 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #8 0x00007fb1c00cf709 in QThreadPrivate::start (arg=0x7fb1c221dd40) at thread/qthread_unix.cpp:368 #9 0x00007fb1bc27c6ba in start_thread (arg=0x7fb1a8167700) at pthread_create.c:333 #10 0x00007fb1bf6d53dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 2 (Thread 0x7fb1b126d700 (LWP 18953)): #0 0x00007fb1bf6c970d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fb1ba190c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007fb1ba1928d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007fb1b37c41f9 in QXcbEventReader::run (this=0x16242a0) at qxcbconnection.cpp:1330 #4 0x00007fb1c00cf709 in QThreadPrivate::start (arg=0x16242a0) at thread/qthread_unix.cpp:368 #5 0x00007fb1bc27c6ba in start_thread (arg=0x7fb1b126d700) at pthread_create.c:333 #6 0x00007fb1bf6d53dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (Thread 0x7fb1c425e8c0 (LWP 18952)): [KCrash Handler] #6 0x00007fb1c3581bd4 in QQuickItem::isVisible (this=this@entry=0x46a9f20) at items/qquickitem.cpp:5768 #7 0x00007fb1c3586705 in QQuickKeysAttached::inputMethodQuery (this=0x3836b50, query=Qt::ImHints) at items/qquickitem.cpp:1474 #8 0x00007fb1c35873f4 in QQuickItem::inputMethodQuery (this=<optimized out>, query=<optimized out>) at items/qquickitem.cpp:4196 #9 0x00007fb1c358e276 in QQuickItem::event (this=0x1a2a380, ev=0x7fff59519060) at items/qquickitem.cpp:7704 #10 0x00007fb1c1890b9c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x1a2a380, e=0x7fff59519060) at kernel/qapplication.cpp:3722 #11 0x00007fb1c18985a7 in QApplication::notify (this=0x7fff5951ea10, receiver=0x1a2a380, e=0x7fff59519060) at kernel/qapplication.cpp:3481 #12 0x00007fb1c02a3df8 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x1a2a380, event=event@entry=0x7fff59519060) at kernel/qcoreapplication.cpp:1018 #13 0x00007fb1c112427a in QCoreApplication::sendEvent (event=0x7fff59519060, receiver=0x1a2a380) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:233 #14 QGuiApplicationPrivate::_q_updateFocusObject (this=<optimized out>, object=0x1a2a380) at kernel/qguiapplication.cpp:3746 #15 0x00007fb1c1124b20 in QGuiApplication::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qguiapplication.cpp:179 #16 0x00007fb1c02d0279 in QMetaObject::activate (sender=sender@entry=0x17434f0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=16, argv=argv@entry=0x7fff59519220) at kernel/qobject.cpp:3766 #17 0x00007fb1c02d0b87 in QMetaObject::activate (sender=sender@entry=0x17434f0, m=m@entry=0x7fb1c1728440 <QWindow::staticMetaObject>, local_signal_index=local_signal_index@entry=16, argv=argv@entry=0x7fff59519220) at kernel/qobject.cpp:3628 #18 0x00007fb1c1127152 in QWindow::focusObjectChanged (this=this@entry=0x17434f0, _t1=0x1a2a380) at .moc/moc_qwindow.cpp:769 #19 0x00007fb1c35a13fd in QQuickWindowPrivate::setFocusInScope (this=0x17435c0, scope=scope@entry=0x1743970, item=item@entry=0x17493e0, reason=reason@entry=Qt::OtherFocusReason, options=..., options@entry=...) at items/qquickwindow.cpp:975 #20 0x00007fb1c358d988 in QQuickItem::setFocus (this=this@entry=0x17493e0, focus=focus@entry=true, reason=reason@entry=Qt::OtherFocusReason) at items/qquickitem.cpp:6975 #21 0x00007fb1c358dd2b in QQuickItem::forceActiveFocus (this=<optimized out>, reason=reason@entry=Qt::OtherFocusReason) at items/qquickitem.cpp:4655 #22 0x00007fb1c358e2ca in QQuickItem::forceActiveFocus (this=<optimized out>) at items/qquickitem.cpp:4621 #23 0x00007fb1c35923f5 in QQuickItem::qt_static_metacall (_o=_o@entry=0x1a2a380, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=36, _a=_a@entry=0x7fff59519cc0) at .moc/moc_qquickitem.cpp:629 #24 0x00007fb1c3593368 in QQuickItem::qt_metacall (this=this@entry=0x1a2a380, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=36, _a=_a@entry=0x7fff59519cc0) at .moc/moc_qquickitem.cpp:983 #25 0x00007fb1ab39fa85 in QQuickControl::qt_metacall (this=this@entry=0x1a2a380, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=_a@entry=0x7fff59519cc0) at .moc/moc_qquickcontrol_p.cpp:458 #26 0x00007fb1ab3a3865 in QQuickPage::qt_metacall (this=0x1a2a380, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff59519cc0) at .moc/moc_qquickpage_p.cpp:259 #27 0x00007fb1c0c2480c in QQmlVMEMetaObject::metaCall (this=0x4457840, o=<optimized out>, c=QMetaObject::InvokeMetaMethod, _id=41, a=0x7fff59519cc0) at qml/qqmlvmemetaobject.cpp:976 #28 0x00007fb1c0c2484e in QQmlVMEMetaObject::metaCall (this=0x5d440a0, o=<optimized out>, c=QMetaObject::InvokeMetaMethod, _id=41, a=0x7fff59519cc0) at qml/qqmlvmemetaobject.cpp:974 #29 0x00007fb1c0c2484e in QQmlVMEMetaObject::metaCall (this=0x40da870, o=<optimized out>, c=QMetaObject::InvokeMetaMethod, _id=41, a=0x7fff59519cc0) at qml/qqmlvmemetaobject.cpp:974 #30 0x00007fb1c0c2484e in QQmlVMEMetaObject::metaCall (this=0x3ea34b0, o=<optimized out>, c=QMetaObject::InvokeMetaMethod, _id=41, a=0x7fff59519cc0) at qml/qqmlvmemetaobject.cpp:974 #31 0x00007fb1c0c7f539 in QQmlObjectOrGadget::metacall (this=this@entry=0x7fff59519fe0, type=type@entry=QMetaObject::InvokeMetaMethod, index=index@entry=41, argv=argv@entry=0x7fff59519cc0) at qml/qqmlpropertycache.cpp:1713 #32 0x00007fb1c0bffa34 in CallMethod (object=..., index=41, returnType=<optimized out>, argCount=argCount@entry=0, argTypes=argTypes@entry=0x0, engine=engine@entry=0x16da450, callArgs=0x7fb1a5b57480, callType=QMetaObject::InvokeMetaMethod) at jsruntime/qv4qobjectwrapper.cpp:1104 #33 0x00007fb1c0bffe3e in CallPrecise (object=..., data=..., engine=engine@entry=0x16da450, callArgs=callArgs@entry=0x7fb1a5b57480, callType=callType@entry=QMetaObject::InvokeMetaMethod) at jsruntime/qv4qobjectwrapper.cpp:1352 #34 0x00007fb1c0c00df7 in CallOverloaded (callType=QMetaObject::InvokeMetaMethod, propertyCache=<optimized out>, callArgs=0x7fb1a5b57480, engine=0x16da450, data=..., object=...) at jsruntime/qv4qobjectwrapper.cpp:1422 #35 QV4::QObjectMethod::callInternal (this=<optimized out>, callData=<optimized out>, scope=...) at jsruntime/qv4qobjectwrapper.cpp:1844 #36 0x00007fb1c0c1958e in QV4::Object::call (d=0x7fb1a5b57480, scope=..., this=<optimized out>) at jsruntime/qv4object_p.h:372 #37 QV4::Runtime::method_callProperty (engine=0x16da450, nameIndex=<optimized out>, callData=0x7fb1a5b57480) at jsruntime/qv4runtime.cpp:1104 #38 0x00007fb1c416fa58 in ?? () #39 0x00000000018ccbd0 in ?? () #40 0x0000000000000070 in ?? () #41 0x00007fff5951b210 in ?? () #42 0x00000000000008f0 in ?? () #43 0x00000000018ccbd0 in ?? () #44 0x0000000005d11850 in ?? () #45 0x00007fb1a5b57440 in ?? () #46 0x00000000016da450 in ?? () #47 0x00007fff5951a3e0 in ?? () #48 0x0000000001956370 in ?? () #49 0x00000000016da450 in ?? () #50 0x00007fb1c0b8dbcb in QV4::ExecutionContext::simpleCall (this=<optimized out>, scope=..., callData=callData@entry=0x7fb1a5b573f8, function=0x1) at jsruntime/qv4context.cpp:347 #51 0x00007fb1c0cad0ff in QQmlJavaScriptExpression::evaluate (this=this@entry=0x1addeb0, callData=callData@entry=0x7fb1a5b573f8, isUndefined=isUndefined@entry=0x0, scope=...) at qml/qqmljavascriptexpression.cpp:223 #52 0x00007fb1c0c461bb in QQmlBoundSignalExpression::evaluate (this=this@entry=0x1addeb0, a=a@entry=0x0) at qml/qqmlboundsignal.cpp:223 #53 0x00007fb1c0c4761b in QQmlBoundSignal_callback (e=0x1addb10, a=0x0) at qml/qqmlboundsignal.cpp:355 #54 0x00007fb1c0c899c7 in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=a@entry=0x0) at qml/qqmlnotifier.cpp:106 #55 0x00007fb1c0c291e4 in QQmlData::signalEmitted (object=0x1ac1860, index=90, a=0x0) at qml/qqmlengine.cpp:843 #56 0x00007fb1c02d097e in QMetaObject::activate (sender=0x1ac1860, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=argv@entry=0x0) at kernel/qobject.cpp:3644 #57 0x00007fb1c0c232e5 in QQmlVMEMetaObject::activate (this=this@entry=0x1ac77a0, object=<optimized out>, index=<optimized out>, args=args@entry=0x0) at qml/qqmlvmemetaobject.cpp:1241 #58 0x00007fb1c0c24e10 in QQmlVMEMetaObject::metaCall (this=0x1ac77a0, o=<optimized out>, c=<optimized out>, _id=<optimized out>, a=<optimized out>) at qml/qqmlvmemetaobject.cpp:836 #59 0x00007fb1c0c03637 in QV4::QObjectWrapper::setProperty (engine=0x16da450, object=0x1ac1860, property=0x7fb198250398, value=...) at jsruntime/qv4qobjectwrapper.cpp:452 #60 0x00007fb1c4177037 in ?? () #61 0x00007fff5951c168 in ?? () #62 0x0000000000000000 in ?? () Possible duplicates by query: bug 385040. Reported using DrKonqi
FWIW, I cannot reproduce with your steps. ==5652== Invalid read of size 8 ==5652== at 0x5794710: QQuickItem::isVisible() const (qquickitem.cpp:5806) ==5652== by 0x5794B78: QQuickKeysAttached::keyPressed(QKeyEvent*, bool) (qquickitem.cpp:1383) ==5652== by 0x57944FE: QQuickItemPrivate::filterKeyEvent(QKeyEvent*, bool) (qquickitem.cpp:5042) ==5652== by 0x57A0984: QQuickItemPrivate::deliverKeyEvent(QKeyEvent*) (qquickitem.cpp:5054) ==5652== by 0x57A0CD4: QQuickItem::event(QEvent*) (qquickitem.cpp:7838) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x57AC047: sendEvent (qcoreapplication.h:234) ==5652== by 0x57AC047: QQuickWindowPrivate::deliverKeyEvent(QKeyEvent*) (qquickwindow.cpp:1653) ==5652== by 0x57B056E: QQuickWindow::keyPressEvent(QKeyEvent*) (qquickwindow.cpp:1636) ==5652== by 0x83ACCB4: QWindow::event(QEvent*) (qwindow.cpp:2328) ==5652== by 0x57BA9F4: QQuickWindow::event(QEvent*) (qquickwindow.cpp:1627) ==5652== Address 0x1c77e818 is 8 bytes inside a block of size 168 free'd ==5652== at 0x4C2E60B: operator delete(void*) (vg_replace_malloc.c:576) ==5652== by 0x93B92AF: QObject::event(QEvent*) (qobject.cpp:1237) ==5652== by 0x57A0DFA: QQuickItem::event(QEvent*) (qquickitem.cpp:7886) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x938B97C: sendEvent (qcoreapplication.h:234) ==5652== by 0x938B97C: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1717) ==5652== by 0x93E4322: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:276) ==5652== by 0x10A36E67: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== by 0x10A370B0: ??? (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== by 0x10A3713D: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== by 0x93E394E: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:423) ==5652== Block was alloc'd at ==5652== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334) ==5652== by 0x8ACCFF1: QQmlType::create(QObject**, void**, unsigned long) const (qqmlmetatype.cpp:914) ==5652== by 0x8B41C05: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1071) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8AB94F4: QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&) (qqmlincubator.cpp:298) ==5652== by 0x8AB9E7B: QQmlEnginePrivate::incubate(QQmlIncubator&, QQmlContextData*) (qqmlincubator.cpp:89) ==5652== ==5652== Invalid read of size 1 ==5652== at 0x5794714: QQuickItem::isVisible() const (qquickitem.cpp:5806) ==5652== by 0x5794B78: QQuickKeysAttached::keyPressed(QKeyEvent*, bool) (qquickitem.cpp:1383) ==5652== by 0x57944FE: QQuickItemPrivate::filterKeyEvent(QKeyEvent*, bool) (qquickitem.cpp:5042) ==5652== by 0x57A0984: QQuickItemPrivate::deliverKeyEvent(QKeyEvent*) (qquickitem.cpp:5054) ==5652== by 0x57A0CD4: QQuickItem::event(QEvent*) (qquickitem.cpp:7838) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x57AC047: sendEvent (qcoreapplication.h:234) ==5652== by 0x57AC047: QQuickWindowPrivate::deliverKeyEvent(QKeyEvent*) (qquickwindow.cpp:1653) ==5652== by 0x57B056E: QQuickWindow::keyPressEvent(QKeyEvent*) (qquickwindow.cpp:1636) ==5652== by 0x83ACCB4: QWindow::event(QEvent*) (qwindow.cpp:2328) ==5652== by 0x57BA9F4: QQuickWindow::event(QEvent*) (qquickwindow.cpp:1627) ==5652== Address 0x24a4fa42 is 146 bytes inside a block of size 576 free'd ==5652== at 0x4C2E60B: operator delete(void*) (vg_replace_malloc.c:576) ==5652== by 0x93BFE32: cleanup (qscopedpointer.h:60) ==5652== by 0x93BFE32: ~QScopedPointer (qscopedpointer.h:107) ==5652== by 0x93BFE32: QObject::~QObject() (qobject.cpp:881) ==5652== by 0x57A2C74: QQuickItem::~QQuickItem() (qquickitem.cpp:2370) ==5652== by 0x20475ADC: ~QQuickItemDelegate (qquickitemdelegate_p.h:57) ==5652== by 0x20475ADC: ~QQmlElement (qqmlprivate.h:104) ==5652== by 0x20475ADC: QQmlPrivate::QQmlElement<QQuickItemDelegate>::~QQmlElement() (qqmlprivate.h:104) ==5652== by 0x93B92AF: QObject::event(QEvent*) (qobject.cpp:1237) ==5652== by 0x57A0DFA: QQuickItem::event(QEvent*) (qquickitem.cpp:7886) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x938B97C: sendEvent (qcoreapplication.h:234) ==5652== by 0x938B97C: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1717) ==5652== by 0x93E4322: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:276) ==5652== by 0x10A36E67: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== Block was alloc'd at ==5652== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334) ==5652== by 0x1835C283: QQuickItemDelegate::QQuickItemDelegate(QQuickItem*) (qquickitemdelegate.cpp:73) ==5652== by 0x20478F4A: QQmlElement (qqmlprivate.h:99) ==5652== by 0x20478F4A: void QQmlPrivate::createInto<QQuickItemDelegate>(void*) (qqmlprivate.h:108) ==5652== by 0x8ACD001: QQmlType::create(QObject**, void**, unsigned long) const (qqmlmetatype.cpp:915) ==5652== by 0x8B41C05: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1071) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== ==5652== Invalid read of size 8 ==5652== at 0x9388D48: data (qscopedpointer.h:140) ==5652== by 0x9388D48: qGetPtrHelper<QScopedPointer<QObjectData> > (qglobal.h:1013) ==5652== by 0x9388D48: d_func (qobject.h:120) ==5652== by 0x9388D48: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1037) ==5652== by 0x5794B94: sendEvent (qcoreapplication.h:234) ==5652== by 0x5794B94: QQuickKeysAttached::keyPressed(QKeyEvent*, bool) (qquickitem.cpp:1385) ==5652== by 0x57944FE: QQuickItemPrivate::filterKeyEvent(QKeyEvent*, bool) (qquickitem.cpp:5042) ==5652== by 0x57A0984: QQuickItemPrivate::deliverKeyEvent(QKeyEvent*) (qquickitem.cpp:5054) ==5652== by 0x57A0CD4: QQuickItem::event(QEvent*) (qquickitem.cpp:7838) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x57AC047: sendEvent (qcoreapplication.h:234) ==5652== by 0x57AC047: QQuickWindowPrivate::deliverKeyEvent(QKeyEvent*) (qquickwindow.cpp:1653) ==5652== by 0x57B056E: QQuickWindow::keyPressEvent(QKeyEvent*) (qquickwindow.cpp:1636) ==5652== by 0x83ACCB4: QWindow::event(QEvent*) (qwindow.cpp:2328) ==5652== by 0x57BA9F4: QQuickWindow::event(QEvent*) (qquickwindow.cpp:1627) ==5652== Address 0x1c77e818 is 8 bytes inside a block of size 168 free'd ==5652== at 0x4C2E60B: operator delete(void*) (vg_replace_malloc.c:576) ==5652== by 0x93B92AF: QObject::event(QEvent*) (qobject.cpp:1237) ==5652== by 0x57A0DFA: QQuickItem::event(QEvent*) (qquickitem.cpp:7886) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x938B97C: sendEvent (qcoreapplication.h:234) ==5652== by 0x938B97C: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1717) ==5652== by 0x93E4322: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:276) ==5652== by 0x10A36E67: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== by 0x10A370B0: ??? (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== by 0x10A3713D: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== by 0x93E394E: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:423) ==5652== Block was alloc'd at ==5652== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334) ==5652== by 0x8ACCFF1: QQmlType::create(QObject**, void**, unsigned long) const (qqmlmetatype.cpp:914) ==5652== by 0x8B41C05: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1071) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8AB94F4: QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&) (qqmlincubator.cpp:298) ==5652== by 0x8AB9E7B: QQmlEnginePrivate::incubate(QQmlIncubator&, QQmlContextData*) (qqmlincubator.cpp:89) ==5652== ==5652== Invalid read of size 8 ==5652== at 0x9388D4C: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1038) ==5652== by 0x5794B94: sendEvent (qcoreapplication.h:234) ==5652== by 0x5794B94: QQuickKeysAttached::keyPressed(QKeyEvent*, bool) (qquickitem.cpp:1385) ==5652== by 0x57944FE: QQuickItemPrivate::filterKeyEvent(QKeyEvent*, bool) (qquickitem.cpp:5042) ==5652== by 0x57A0984: QQuickItemPrivate::deliverKeyEvent(QKeyEvent*) (qquickitem.cpp:5054) ==5652== by 0x57A0CD4: QQuickItem::event(QEvent*) (qquickitem.cpp:7838) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x57AC047: sendEvent (qcoreapplication.h:234) ==5652== by 0x57AC047: QQuickWindowPrivate::deliverKeyEvent(QKeyEvent*) (qquickwindow.cpp:1653) ==5652== by 0x57B056E: QQuickWindow::keyPressEvent(QKeyEvent*) (qquickwindow.cpp:1636) ==5652== by 0x83ACCB4: QWindow::event(QEvent*) (qwindow.cpp:2328) ==5652== by 0x57BA9F4: QQuickWindow::event(QEvent*) (qquickwindow.cpp:1627) ==5652== Address 0x24a4f9e8 is 56 bytes inside a block of size 576 free'd ==5652== at 0x4C2E60B: operator delete(void*) (vg_replace_malloc.c:576) ==5652== by 0x93BFE32: cleanup (qscopedpointer.h:60) ==5652== by 0x93BFE32: ~QScopedPointer (qscopedpointer.h:107) ==5652== by 0x93BFE32: QObject::~QObject() (qobject.cpp:881) ==5652== by 0x57A2C74: QQuickItem::~QQuickItem() (qquickitem.cpp:2370) ==5652== by 0x20475ADC: ~QQuickItemDelegate (qquickitemdelegate_p.h:57) ==5652== by 0x20475ADC: ~QQmlElement (qqmlprivate.h:104) ==5652== by 0x20475ADC: QQmlPrivate::QQmlElement<QQuickItemDelegate>::~QQmlElement() (qqmlprivate.h:104) ==5652== by 0x93B92AF: QObject::event(QEvent*) (qobject.cpp:1237) ==5652== by 0x57A0DFA: QQuickItem::event(QEvent*) (qquickitem.cpp:7886) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x938B97C: sendEvent (qcoreapplication.h:234) ==5652== by 0x938B97C: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1717) ==5652== by 0x93E4322: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:276) ==5652== by 0x10A36E67: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== Block was alloc'd at ==5652== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334) ==5652== by 0x1835C283: QQuickItemDelegate::QQuickItemDelegate(QQuickItem*) (qquickitemdelegate.cpp:73) ==5652== by 0x20478F4A: QQmlElement (qqmlprivate.h:99) ==5652== by 0x20478F4A: void QQmlPrivate::createInto<QQuickItemDelegate>(void*) (qqmlprivate.h:108) ==5652== by 0x8ACD001: QQmlType::create(QObject**, void**, unsigned long) const (qqmlmetatype.cpp:915) ==5652== by 0x8B41C05: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1071) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202)
Darn, now I can't reproduce it, either. I was able to three times in a row before, though...
Been investigating further. Problem is that the delegate is being sent keyboard events still after being destroyed. This is the same issue as this: https://bugs.kde.org/show_bug.cgi?id=381814 Just crashing in different places.
Easiest way to reproduce for me is: - compact mode - ctrl+f (search mode) - search something - go down - search something else * Boom
https://codereview.qt-project.org/#/c/217395/ https://bugreports.qt.io/browse/QTBUG-65881
Should we close this as RESOLVED UPSTREAM, or can/should we work around it here, too?
*** This bug has been marked as a duplicate of bug 378339 ***