Bug 385128 - Plasmashell crashes in QScreen::size() while changing display settings with xrandr
Summary: Plasmashell crashes in QScreen::size() while changing display settings with x...
Status: RESOLVED WORKSFORME
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 5.10.5
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords: drkonqi
: 376738 378347 381421 384810 386719 397712 402937 418629 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-09-27 07:08 UTC by Martin Ueding
Modified: 2021-03-08 22:52 UTC (History)
11 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Ueding 2017-09-27 07:08:38 UTC
Application: plasmashell (5.10.5)

Qt Version: 5.7.1
Frameworks Version: 5.36.0
Operating System: Linux 4.12.13-300.fc26.x86_64 x86_64
Distribution: "Fedora release 26 (Twenty Six)"

-- Information about the crash:
I have two screens attached as DP-1 and DP-2. One of them is rotated. When I am logged into Plasma, it often has the screens set up correctly but the physically secondary runs as the primary. My primary desktop (including Plasma panel) is on the sidekick monitor. I have a little shell script that calls xrandr and fixes this. However, just setting the center screen as primary does not cause Plasma to switch the screen contents. So I deactivate the sidekick screen and then activate it again. This is usually where Plasma crashes.

After it has restarted, the Plasma panel is still on the wrong screen.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f0bff90b4c0 (LWP 1726))]

Thread 7 (Thread 0x7f0b4ffff700 (LWP 2489)):
#0  0x00007f0c0abcbf9f in pthread_getspecific () at /lib64/libpthread.so.0
#1  0x00007f0c045e4a20 in g_thread_self () at /lib64/libglib-2.0.so.0
#2  0x00007f0c045bc43e in g_main_context_acquire () at /lib64/libglib-2.0.so.0
#3  0x00007f0c045bd425 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#4  0x00007f0c045bd67c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#5  0x00007f0c0c694e6b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f0c0c64560a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#7  0x00007f0c0c49d99a in QThread::exec() () at /lib64/libQt5Core.so.5
#8  0x00007f0b402fc497 in KCupsConnection::run() () at /lib64/libkcupslib.so
#9  0x00007f0c0c4a1c9e in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#10 0x00007f0c0abc436d in start_thread () at /lib64/libpthread.so.0
#11 0x00007f0c0b888bbf in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f0b55229700 (LWP 2467)):
#0  0x00007f0c046024c4 in g_mutex_unlock () at /lib64/libglib-2.0.so.0
#1  0x00007f0c045bcf91 in g_main_context_check () at /lib64/libglib-2.0.so.0
#2  0x00007f0c045bd510 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#3  0x00007f0c045bd67c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#4  0x00007f0c0c694e6b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f0c0c64560a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f0c0c49d99a in QThread::exec() () at /lib64/libQt5Core.so.5
#7  0x00007f0c10090ff6 in QQuickPixmapReader::run() () at /lib64/libQt5Quick.so.5
#8  0x00007f0c0c4a1c9e in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#9  0x00007f0c0abc436d in start_thread () at /lib64/libpthread.so.0
#10 0x00007f0c0b888bbf in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f0be2bde700 (LWP 2440)):
#0  0x00007f0c0abca90b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f0c12163534 in QTWTF::TCMalloc_PageHeap::scavengerThread() () at /lib64/libQt5Script.so.5
#2  0x00007f0c12163579 in  () at /lib64/libQt5Script.so.5
#3  0x00007f0c0abc436d in start_thread () at /lib64/libpthread.so.0
#4  0x00007f0c0b888bbf in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f0be8ae3700 (LWP 2350)):
#0  0x00007f0c045bcbc4 in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#1  0x00007f0c045bd49b in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f0c045bd67c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f0c0c694e6b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f0c0c64560a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f0c0c49d99a in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f0c0f7099b5 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#7  0x00007f0c0c4a1c9e in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f0c0abc436d in start_thread () at /lib64/libpthread.so.0
#9  0x00007f0c0b888bbf in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f0bea3b8700 (LWP 2307)):
#0  0x00007f0c0b87cacd in poll () at /lib64/libc.so.6
#1  0x00007f0c045bd569 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f0c045bd67c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f0c0c694e6b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f0c0c64560a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f0c0c49d99a in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f0c0f7099b5 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#7  0x00007f0c0c4a1c9e in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f0c0abc436d in start_thread () at /lib64/libpthread.so.0
#9  0x00007f0c0b888bbf in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f0bff904700 (LWP 1761)):
#0  0x00007f0c0b87cacd in poll () at /lib64/libc.so.6
#1  0x00007f0c045bd569 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f0c045bd67c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f0c0c694e6b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f0c0c64560a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f0c0c49d99a in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f0c0c8a0a39 in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#7  0x00007f0c0c4a1c9e in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f0c0abc436d in start_thread () at /lib64/libpthread.so.0
#9  0x00007f0c0b888bbf in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f0bff90b4c0 (LWP 1726)):
[KCrash Handler]
#6  0x00007f0c0ca2fc30 in QScreen::size() const () at /lib64/libQt5Gui.so.5
#7  0x000055d585ff2b89 in PanelView::resizePanel() [clone .part.53] ()
#8  0x000055d585ff83ce in PanelView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#9  0x000055d585ff86e3 in PanelView::qt_metacall(QMetaObject::Call, int, void**) ()
#10 0x00007f0c0f687212 in QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlContextData*, QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#11 0x00007f0c0f68898b in QQmlPropertyPrivate::writeValueProperty(QObject*, QQmlPropertyData const&, QVariant const&, QQmlContextData*, QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#12 0x00007f0c0f751fcd in QQmlBind::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /lib64/libQt5Qml.so.5
#13 0x00007f0c0f752113 in QQmlBind::qt_metacall(QMetaObject::Call, int, void**) () at /lib64/libQt5Qml.so.5
#14 0x00007f0c0f686f33 in QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlContextData*, QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#15 0x00007f0c0f68898b in QQmlPropertyPrivate::writeValueProperty(QObject*, QQmlPropertyData const&, QVariant const&, QQmlContextData*, QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#16 0x00007f0c0f6f5691 in QQmlBinding::write(QQmlPropertyData const&, QV4::Value const&, bool, QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#17 0x00007f0c0f6f6c95 in QQmlBinding::update(QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#18 0x00007f0c0f6cc673 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /lib64/libQt5Qml.so.5
#19 0x00007f0c0f677689 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () at /lib64/libQt5Qml.so.5
#20 0x00007f0c0c66d38f in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#21 0x00007f0be1ea4423 in QQuickLayoutAttached::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/qt5/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
#22 0x00007f0c0c65335d in QMetaProperty::write(QObject*, QVariant const&) const () at /lib64/libQt5Core.so.5
#23 0x00007f0c0c675aa0 in QObject::setProperty(char const*, QVariant const&) () at /lib64/libQt5Core.so.5
#24 0x00007f0c1228ea95 in PlasmaQuick::AppletQuickItemPrivate::propagateSizeHint(QByteArray const&) () at /lib64/libKF5PlasmaQuick.so.5
#25 0x00007f0c1228ec2b in PlasmaQuick::AppletQuickItemPrivate::preferredWidthChanged() () at /lib64/libKF5PlasmaQuick.so.5
#26 0x00007f0c12292c59 in PlasmaQuick::AppletQuickItem::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /lib64/libKF5PlasmaQuick.so.5
#27 0x00007f0c0c66da73 in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#28 0x00007f0be1ea4423 in QQuickLayoutAttached::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/qt5/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
#29 0x00007f0c0f6f58e1 in QQmlBinding::write(QQmlPropertyData const&, QV4::Value const&, bool, QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#30 0x00007f0c0f6f6c95 in QQmlBinding::update(QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#31 0x00007f0c0f6cc673 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /lib64/libQt5Qml.so.5
#32 0x00007f0c0f677689 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () at /lib64/libQt5Qml.so.5
#33 0x00007f0c0c66d38f in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#34 0x00007f0be1ea4423 in QQuickLayoutAttached::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/qt5/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
#35 0x00007f0c0f6f58e1 in QQmlBinding::write(QQmlPropertyData const&, QV4::Value const&, bool, QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#36 0x00007f0c0f6f6c95 in QQmlBinding::update(QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#37 0x00007f0c0f6cc673 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /lib64/libQt5Qml.so.5
#38 0x00007f0c0f677689 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () at /lib64/libQt5Qml.so.5
#39 0x00007f0c0c66d38f in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#40 0x00007f0be1ea4423 in QQuickLayoutAttached::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/qt5/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
#41 0x00007f0c0f6f58e1 in QQmlBinding::write(QQmlPropertyData const&, QV4::Value const&, bool, QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#42 0x00007f0c0f6f6c95 in QQmlBinding::update(QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#43 0x00007f0c0f6cc673 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /lib64/libQt5Qml.so.5
#44 0x00007f0c0f677689 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () at /lib64/libQt5Qml.so.5
#45 0x00007f0c0c66d38f in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#46 0x00007f0be1ea4423 in QQuickLayoutAttached::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/qt5/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
#47 0x00007f0c0c65335d in QMetaProperty::write(QObject*, QVariant const&) const () at /lib64/libQt5Core.so.5
#48 0x00007f0c0c675aa0 in QObject::setProperty(char const*, QVariant const&) () at /lib64/libQt5Core.so.5
#49 0x00007f0c1228ea95 in PlasmaQuick::AppletQuickItemPrivate::propagateSizeHint(QByteArray const&) () at /lib64/libKF5PlasmaQuick.so.5
#50 0x00007f0c1228eb0b in PlasmaQuick::AppletQuickItemPrivate::minimumWidthChanged() () at /lib64/libKF5PlasmaQuick.so.5
#51 0x00007f0c12292c31 in PlasmaQuick::AppletQuickItem::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /lib64/libKF5PlasmaQuick.so.5
#52 0x00007f0c0c66da73 in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#53 0x00007f0be1ea4423 in QQuickLayoutAttached::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/qt5/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
#54 0x00007f0c0f6f58e1 in QQmlBinding::write(QQmlPropertyData const&, QV4::Value const&, bool, QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#55 0x00007f0c0f6f6c95 in QQmlBinding::update(QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#56 0x00007f0c0f6cc673 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /lib64/libQt5Qml.so.5
#57 0x00007f0c0f677689 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () at /lib64/libQt5Qml.so.5
#58 0x00007f0c0c66d38f in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#59 0x00007f0c0f673297 in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () at /lib64/libQt5Qml.so.5
#60 0x00007f0c0f6f58e1 in QQmlBinding::write(QQmlPropertyData const&, QV4::Value const&, bool, QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#61 0x00007f0c0f6f6c95 in QQmlBinding::update(QFlags<QQmlPropertyPrivate::WriteFlag>) () at /lib64/libQt5Qml.so.5
#62 0x00007f0c0f6cc673 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /lib64/libQt5Qml.so.5
#63 0x00007f0c0f677689 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () at /lib64/libQt5Qml.so.5
#64 0x00007f0c0c66d38f in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#65 0x00007f0c0c66db97 in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#66 0x00007f0c0cf78e31 in QDesktopWidget::screenCountChanged(int) () at /lib64/libQt5Widgets.so.5
#67 0x00007f0c0cf7a911 in QDesktopWidgetPrivate::_q_updateScreens() () at /lib64/libQt5Widgets.so.5
#68 0x00007f0c0c66da73 in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#69 0x00007f0c0c9ff4b2 in QGuiApplication::screenAdded(QScreen*) () at /lib64/libQt5Gui.so.5
#70 0x00007f0bfeff176b in QXcbConnection::createScreen(QXcbVirtualDesktop*, xcb_randr_output_change_t const&, xcb_randr_get_output_info_reply_t*) () at /lib64/libQt5XcbQpa.so.5
#71 0x00007f0bfeff2abe in QXcbConnection::updateScreens(xcb_randr_notify_event_t const*) () at /lib64/libQt5XcbQpa.so.5
#72 0x00007f0bfeff3a13 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () at /lib64/libQt5XcbQpa.so.5
#73 0x00007f0bfeff3e52 in QXcbConnection::processXcbEvents() () at /lib64/libQt5XcbQpa.so.5
#74 0x00007f0c0c66e8da in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#75 0x00007f0c0cf1c5dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#76 0x00007f0c0cf23c74 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#77 0x00007f0c0c646627 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#78 0x00007f0c0c64885b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
#79 0x00007f0c0c694dd3 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5
#80 0x00007f0c045bd247 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#81 0x00007f0c045bd5e8 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#82 0x00007f0c045bd67c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#83 0x00007f0c0c694e4f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#84 0x00007f0c0c64560a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#85 0x00007f0c0c64d27c in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#86 0x000055d585fe63b2 in main ()

Possible duplicates by query: bug 373700, bug 373025, bug 372301.

Reported using DrKonqi
Comment 1 Christoph Feck 2017-10-04 20:24:11 UTC
*** Bug 376738 has been marked as a duplicate of this bug. ***
Comment 2 Christoph Feck 2018-09-13 20:54:27 UTC
*** Bug 386719 has been marked as a duplicate of this bug. ***
Comment 3 Christoph Feck 2018-09-13 20:54:57 UTC
*** Bug 397712 has been marked as a duplicate of this bug. ***
Comment 4 Christoph Feck 2019-01-27 13:02:51 UTC
*** Bug 402937 has been marked as a duplicate of this bug. ***
Comment 5 Justin Zobel 2020-12-06 21:14:55 UTC
Thank you for the report.

As this was reported on an older verison of plasmashell, can you please test on a recent and confirm if this issue is still occurring or if this bug report can be marked as resolved.

I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you.
Comment 6 Martin Ueding 2020-12-07 10:17:27 UTC
This crash hasn't happened in a while, so it works for me.
Comment 7 Nate Graham 2021-03-08 22:51:56 UTC
*** Bug 378347 has been marked as a duplicate of this bug. ***
Comment 8 Nate Graham 2021-03-08 22:51:59 UTC
*** Bug 381421 has been marked as a duplicate of this bug. ***
Comment 9 Nate Graham 2021-03-08 22:52:03 UTC
*** Bug 384810 has been marked as a duplicate of this bug. ***
Comment 10 Nate Graham 2021-03-08 22:52:35 UTC
*** Bug 418629 has been marked as a duplicate of this bug. ***