Bug 383828 - Crash in QV4::QObjectWrapper::getProperty
Summary: Crash in QV4::QObjectWrapper::getProperty
Status: RESOLVED UPSTREAM
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (show other bugs)
Version: 5.10.4
Platform: Manjaro Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL: https://codereview.qt-project.org/#/c...
Keywords: drkonqi
: 372881 382290 383993 384042 384626 384824 385632 385788 386286 386441 386538 386627 386650 387074 387218 387771 387869 388520 388681 388765 389027 389521 389718 389752 389769 389777 390008 390125 390885 391863 392089 392548 392904 392937 392981 393092 393166 393289 393689 393782 394020 394174 394630 394729 395581 395908 396610 397033 397546 398677 404584 405547 409920 412449 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-08-22 06:43 UTC by Unknown
Modified: 2019-09-29 13:21 UTC (History)
53 users (show)

See Also:
Latest Commit:
Version Fixed In: Qt 5.11


Attachments
Qt patch that fixes the system tray example (715 bytes, patch)
2018-02-23 15:42 UTC, David Edmundson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Unknown 2017-08-22 06:43:56 UTC
Application: plasmashell (5.10.4)

Qt Version: 5.9.1
Frameworks Version: 5.37.0
Operating System: Linux 4.12.8-2-MANJARO x86_64
Distribution: "Manjaro Linux"

-- Information about the crash:
If you right-click the arrow in the system tray area, then select "System Tray Settings", Plasma shell will crash upon exiting the System Tray Settings.  I can confirm this crash in both openSUSE Tumbleweed and Manjaro's testing branch with the latest updates installed.

The crash can be reproduced every time.

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

Thread 7 (Thread 0x7f5f6aea8700 (LWP 839)):
#0  0x00007f601e55dbad in read () at /usr/lib/libc.so.6
#1  0x00007f6018ec6730 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f6018e826eb in g_main_context_check () at /usr/lib/libglib-2.0.so.0
#3  0x00007f6018e82bb0 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f6018e82d1c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#5  0x00007f601ee96084 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f601ee39ffb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#7  0x00007f601ec5340e in QThread::exec() () at /usr/lib/libQt5Core.so.5
#8  0x00007f602298e8d6 in  () at /usr/lib/libQt5Quick.so.5
#9  0x00007f601ec5815b in  () at /usr/lib/libQt5Core.so.5
#10 0x00007f601de21049 in start_thread () at /usr/lib/libpthread.so.0
#11 0x00007f601e56bf0f in clone () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7f5ffa9a4700 (LWP 838)):
#0  0x00007f601de271ad in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f60246abb04 in  () at /usr/lib/libQt5Script.so.5
#2  0x00007f60246abb49 in  () at /usr/lib/libQt5Script.so.5
#3  0x00007f601de21049 in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f601e56bf0f in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7f6004b32700 (LWP 834)):
#0  0x00007f601e55dbad in read () at /usr/lib/libc.so.6
#1  0x00007f6018ec6730 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f6018e826eb in g_main_context_check () at /usr/lib/libglib-2.0.so.0
#3  0x00007f6018e82bb0 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f6018e82d1c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#5  0x00007f601ee96084 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f601ee39ffb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#7  0x00007f601ec5340e in QThread::exec() () at /usr/lib/libQt5Core.so.5
#8  0x00007f6021dd81d5 in  () at /usr/lib/libQt5Qml.so.5
#9  0x00007f601ec5815b in  () at /usr/lib/libQt5Core.so.5
#10 0x00007f601de21049 in start_thread () at /usr/lib/libpthread.so.0
#11 0x00007f601e56bf0f in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f6006fbf700 (LWP 833)):
#0  0x00007f6024e33658 in _dl_update_slotinfo () at /lib64/ld-linux-x86-64.so.2
#1  0x00007f6024e336bc in update_get_addr () at /lib64/ld-linux-x86-64.so.2
#2  0x00007f601ec56f67 in  () at /usr/lib/libQt5Core.so.5
#3  0x00007f601ee95f6b in  () at /usr/lib/libQt5Core.so.5
#4  0x00007f6018e82148 in g_main_context_prepare () at /usr/lib/libglib-2.0.so.0
#5  0x00007f6018e82b3b in  () at /usr/lib/libglib-2.0.so.0
#6  0x00007f6018e82d1c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#7  0x00007f601ee96084 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#8  0x00007f601ee39ffb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#9  0x00007f601ec5340e in QThread::exec() () at /usr/lib/libQt5Core.so.5
#10 0x00007f6021dd81d5 in  () at /usr/lib/libQt5Qml.so.5
#11 0x00007f601ec5815b in  () at /usr/lib/libQt5Core.so.5
#12 0x00007f601de21049 in start_thread () at /usr/lib/libpthread.so.0
#13 0x00007f601e56bf0f in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f600cb5d700 (LWP 780)):
#0  0x00007f601e578e18 in __libc_enable_asynccancel () at /usr/lib/libc.so.6
#1  0x00007f601e561e92 in poll () at /usr/lib/libc.so.6
#2  0x00007f6018e82c09 in  () at /usr/lib/libglib-2.0.so.0
#3  0x00007f6018e82d1c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#4  0x00007f601ee96084 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f601ee39ffb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f601ec5340e in QThread::exec() () at /usr/lib/libQt5Core.so.5
#7  0x00007f601f2b5396 in  () at /usr/lib/libQt5DBus.so.5
#8  0x00007f601ec5815b in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f601de21049 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f601e56bf0f in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f600ebeb700 (LWP 749)):
#0  0x00007f601e561e9d in poll () at /usr/lib/libc.so.6
#1  0x00007f60235b78e0 in  () at /usr/lib/libxcb.so.1
#2  0x00007f60235b9679 in xcb_wait_for_event () at /usr/lib/libxcb.so.1
#3  0x00007f601116172a in  () at /usr/lib/libQt5XcbQpa.so.5
#4  0x00007f601ec5815b in  () at /usr/lib/libQt5Core.so.5
#5  0x00007f601de21049 in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f601e56bf0f in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f6024fddc80 (LWP 738)):
[KCrash Handler]
#5  0x00007f6021d0d3e5 in QV4::QObjectWrapper::getProperty(QV4::ExecutionEngine*, QObject*, int, bool) () at /usr/lib/libQt5Qml.so.5
#6  0x00007f6021d20c13 in QV4::Runtime::method_getQmlQObjectProperty(QV4::ExecutionEngine*, QV4::Value const&, int, bool) () at /usr/lib/libQt5Qml.so.5
#7  0x00007f5f5b6d4f3c in  ()
#8  0x0000565534ceb328 in  ()
#9  0x00007f6022a498ea in QQuickItem::geometryChanged(QRectF const&, QRectF const&) () at /usr/lib/libQt5Quick.so.5
#10 0x00007f6021c92b4c in QV4::ExecutionContext::simpleCall(QV4::Scope&, QV4::CallData*, QV4::Function*) () at /usr/lib/libQt5Qml.so.5
#11 0x00007f6021db84f1 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*, QV4::Scope&) () at /usr/lib/libQt5Qml.so.5
#12 0x00007f6021dc2746 in  () at /usr/lib/libQt5Qml.so.5
#13 0x00007f6021dbf5a3 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) () at /usr/lib/libQt5Qml.so.5
#14 0x00007f6021d96293 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /usr/lib/libQt5Qml.so.5
#15 0x00007f6021d34cd9 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () at /usr/lib/libQt5Qml.so.5
#16 0x00007f601ee6af9f in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#17 0x00007f6022a498c8 in QQuickItem::geometryChanged(QRectF const&, QRectF const&) () at /usr/lib/libQt5Quick.so.5
#18 0x00007f6022a4399b in QQuickItem::setX(double) () at /usr/lib/libQt5Quick.so.5
#19 0x00007f6022a52d84 in  () at /usr/lib/libQt5Quick.so.5
#20 0x00007f6021dc21ce in  () at /usr/lib/libQt5Qml.so.5
#21 0x00007f6021dc27de in  () at /usr/lib/libQt5Qml.so.5
#22 0x00007f6021dbf5a3 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) () at /usr/lib/libQt5Qml.so.5
#23 0x00007f6021d96293 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /usr/lib/libQt5Qml.so.5
#24 0x00007f6021d34cd9 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () at /usr/lib/libQt5Qml.so.5
#25 0x00007f601ee6af9f in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#26 0x00007f6022a3c7e2 in QQuickItem::childrenRectChanged(QRectF const&) () at /usr/lib/libQt5Quick.so.5
#27 0x00007f6022a40543 in  () at /usr/lib/libQt5Quick.so.5
#28 0x00007f6022a4986d in QQuickItem::geometryChanged(QRectF const&, QRectF const&) () at /usr/lib/libQt5Quick.so.5
#29 0x00007f6022a43bb8 in QQuickItem::setPosition(QPointF const&) () at /usr/lib/libQt5Quick.so.5
#30 0x00007f6022b4e4a8 in QQuickBasePositioner::positionItem(double, double, QQuickBasePositioner::PositionedItem*) () at /usr/lib/libQt5Quick.so.5
#31 0x00007f6022b5246e in  () at /usr/lib/libQt5Quick.so.5
#32 0x00007f6022b5070a in QQuickBasePositioner::prePositioning() () at /usr/lib/libQt5Quick.so.5
#33 0x00007f6022a5e503 in QQuickWindowPrivate::polishItems() () at /usr/lib/libQt5Quick.so.5
#34 0x00007f60229f230f in  () at /usr/lib/libQt5Quick.so.5
#35 0x00007f6022a66bd6 in QQuickWindow::event(QEvent*) () at /usr/lib/libQt5Quick.so.5
#36 0x000056553025bb64 in  ()
#37 0x00007f601fdede4c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#38 0x00007f601fdf5926 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#39 0x00007f601ee3bbd0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#40 0x00007f601f635293 in QWindowPrivate::deliverUpdateRequest() () at /usr/lib/libQt5Gui.so.5
#41 0x00007f601f6357bb in QWindow::event(QEvent*) () at /usr/lib/libQt5Gui.so.5
#42 0x00007f6022a66b75 in QQuickWindow::event(QEvent*) () at /usr/lib/libQt5Quick.so.5
#43 0x000056553025bb64 in  ()
#44 0x00007f601fdede4c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#45 0x00007f601fdf5926 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#46 0x00007f601ee3bbd0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#47 0x00007f601ee954a8 in QTimerInfoList::activateTimers() () at /usr/lib/libQt5Core.so.5
#48 0x00007f601ee95ca2 in  () at /usr/lib/libQt5Core.so.5
#49 0x00007f6018e82a57 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#50 0x00007f6018e82c88 in  () at /usr/lib/libglib-2.0.so.0
#51 0x00007f6018e82d1c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#52 0x00007f601ee96061 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#53 0x00007f601ee39ffb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#54 0x00007f601ee43048 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#55 0x000056553024773b in  ()
#56 0x00007f601e49e4ca in __libc_start_main () at /usr/lib/libc.so.6
#57 0x0000565530247ada in _start ()

Reported using DrKonqi
Comment 1 Marco Martin 2017-08-29 09:33:29 UTC
*** Bug 383993 has been marked as a duplicate of this bug. ***
Comment 2 Marco Martin 2017-08-29 09:33:57 UTC
*** Bug 384042 has been marked as a duplicate of this bug. ***
Comment 3 Christoph Feck 2017-09-15 22:06:07 UTC
*** Bug 384626 has been marked as a duplicate of this bug. ***
Comment 4 Christoph Feck 2017-10-04 20:28:30 UTC
*** Bug 384824 has been marked as a duplicate of this bug. ***
Comment 5 David Edmundson 2017-10-30 09:58:29 UTC
*** Bug 385632 has been marked as a duplicate of this bug. ***
Comment 6 David Edmundson 2017-11-02 13:53:40 UTC
‎[13:40] ‎<‎kbroulik‎>‎ to reproduce: 1.) open sys tray settings, go to "Entries", 2.) set a shortcut for a plasmoid from there, 3.) close systray settings, 4.) open systray settings again, 5.) now invoke the shortcut. boom.


Will be the same cause as the QQmlBinding::getProperty crash. (https://bugreports.qt.io/browse/QTBUG-61681)
We have an object, we put it between two objects. First engine closes, deletes the cache; just hitting v4 lookup not bindings
Comment 7 Marco Martin 2017-11-03 16:17:29 UTC
*** Bug 386286 has been marked as a duplicate of this bug. ***
Comment 8 David Edmundson 2017-11-05 17:29:09 UTC
*** Bug 382290 has been marked as a duplicate of this bug. ***
Comment 9 David Edmundson 2017-11-05 17:29:12 UTC
*** Bug 386538 has been marked as a duplicate of this bug. ***
Comment 10 David Edmundson 2017-11-05 17:30:10 UTC
*** Bug 385788 has been marked as a duplicate of this bug. ***
Comment 11 David Edmundson 2017-11-07 21:00:18 UTC
*** Bug 386627 has been marked as a duplicate of this bug. ***
Comment 12 David Edmundson 2017-11-08 15:53:02 UTC
*** Bug 386650 has been marked as a duplicate of this bug. ***
Comment 13 Marco Martin 2017-11-20 16:26:21 UTC
*** Bug 387074 has been marked as a duplicate of this bug. ***
Comment 14 Marco Martin 2017-11-20 16:26:29 UTC
*** Bug 372881 has been marked as a duplicate of this bug. ***
Comment 15 David Edmundson 2017-12-13 14:45:36 UTC
*** Bug 387218 has been marked as a duplicate of this bug. ***
Comment 16 David Edmundson 2017-12-13 14:45:52 UTC
*** Bug 387771 has been marked as a duplicate of this bug. ***
Comment 17 David Edmundson 2017-12-13 14:45:56 UTC
*** Bug 387869 has been marked as a duplicate of this bug. ***
Comment 18 Marco Martin 2018-01-04 17:11:59 UTC
*** Bug 388520 has been marked as a duplicate of this bug. ***
Comment 19 Marco Martin 2018-01-24 14:22:50 UTC
*** Bug 388765 has been marked as a duplicate of this bug. ***
Comment 20 David Edmundson 2018-01-31 19:06:15 UTC
*** Bug 389718 has been marked as a duplicate of this bug. ***
Comment 21 David Edmundson 2018-02-01 14:42:53 UTC
*** Bug 389752 has been marked as a duplicate of this bug. ***
Comment 22 David Edmundson 2018-02-01 23:18:51 UTC
*** Bug 389777 has been marked as a duplicate of this bug. ***
Comment 23 David Edmundson 2018-02-01 23:18:57 UTC
*** Bug 389769 has been marked as a duplicate of this bug. ***
Comment 24 David Edmundson 2018-02-01 23:19:18 UTC
*** Bug 389027 has been marked as a duplicate of this bug. ***
Comment 25 David Edmundson 2018-02-01 23:19:26 UTC
*** Bug 389521 has been marked as a duplicate of this bug. ***
Comment 26 David Edmundson 2018-02-01 23:29:58 UTC
Ok, this is getting a bit ridiculous now.


Bug is effectively QTBUG-61681, continued fallout from: 749a7212e903d8e8c6f256edb1836b9449cc7fe1 but for functions instead of bindings. 
This happens when one QObject is wrapped between multiple engines, and then one engine is destroyed. The former is left with a dangling entry in it's property cache. I wrote a patch for bindings (ab5d4c78224c9ec79165e8890e5f8b8e838e0709), but we still see it (to a lesser extent) in functions. I can patch one more place in Qt, but I fear it'll just keep coming up all over the place.

The other alternative approach is we use the shared the engine in the ConfigView. 

The only reason we don't is for this feature where one could use controls from the QQC1 import and have them automatically styled in Plasma whilst still having env var say to use the desktop style, so we see that in the config windows. But literally no-one does that and all import Plasma components explicitly; for QQC2 we're doing that on a per-context basis (I think?)

Would be a oneliner in p-f (plus a tonne of testing it doesn't break any assumptions in old releases). @Marco, opinion?
Comment 27 David Edmundson 2018-02-09 11:21:39 UTC
*** Bug 390125 has been marked as a duplicate of this bug. ***
Comment 28 David Edmundson 2018-02-09 11:21:44 UTC
*** Bug 388681 has been marked as a duplicate of this bug. ***
Comment 29 David Edmundson 2018-02-09 11:22:03 UTC
*** Bug 390008 has been marked as a duplicate of this bug. ***
Comment 30 Kai Uwe Broulik 2018-02-23 08:26:55 UTC
*** Bug 390885 has been marked as a duplicate of this bug. ***
Comment 31 David Edmundson 2018-02-23 15:42:07 UTC
Created attachment 110942 [details]
Qt patch that fixes the system tray example

Qt patch that fixes this specific issue. Tested with the systray case, and verified with qDebug in my if statement that we went in here.

Personally I'd rather avoid the second engine, but maybe it's still worth me pushing this upstream. Can someone else test for some of the other causes?
Comment 32 David Edmundson 2018-03-06 10:58:35 UTC
Submitted: https://codereview.qt-project.org/#/c/222250/
Comment 33 David Edmundson 2018-03-20 13:04:59 UTC
*** Bug 392089 has been marked as a duplicate of this bug. ***
Comment 34 David Edmundson 2018-04-02 22:15:02 UTC
*** Bug 392548 has been marked as a duplicate of this bug. ***
Comment 35 David Edmundson 2018-04-09 16:15:43 UTC
*** Bug 392937 has been marked as a duplicate of this bug. ***
Comment 36 David Edmundson 2018-04-09 16:16:07 UTC
*** Bug 392904 has been marked as a duplicate of this bug. ***
Comment 37 David Edmundson 2018-04-11 00:47:56 UTC
*** Bug 392981 has been marked as a duplicate of this bug. ***
Comment 38 David Edmundson 2018-04-13 12:34:50 UTC
*** Bug 393092 has been marked as a duplicate of this bug. ***
Comment 39 David Edmundson 2018-04-13 12:35:04 UTC
*** Bug 386441 has been marked as a duplicate of this bug. ***
Comment 40 David Edmundson 2018-04-19 13:18:02 UTC
*** Bug 393289 has been marked as a duplicate of this bug. ***
Comment 41 David Edmundson 2018-04-30 09:50:03 UTC
*** Bug 393166 has been marked as a duplicate of this bug. ***
Comment 42 David Edmundson 2018-04-30 09:52:48 UTC
*** Bug 391863 has been marked as a duplicate of this bug. ***
Comment 43 David Edmundson 2018-04-30 18:47:29 UTC
*** Bug 393689 has been marked as a duplicate of this bug. ***
Comment 44 Kai Uwe Broulik 2018-05-03 06:20:37 UTC
*** Bug 393782 has been marked as a duplicate of this bug. ***
Comment 45 David Edmundson 2018-05-14 14:33:09 UTC
*** Bug 394174 has been marked as a duplicate of this bug. ***
Comment 46 David Edmundson 2018-05-14 14:33:14 UTC
*** Bug 394020 has been marked as a duplicate of this bug. ***
Comment 47 David Edmundson 2018-05-24 00:35:27 UTC
*** Bug 394630 has been marked as a duplicate of this bug. ***
Comment 48 David Edmundson 2018-05-27 17:26:46 UTC
*** Bug 394729 has been marked as a duplicate of this bug. ***
Comment 49 Kai Uwe Broulik 2018-06-27 08:08:16 UTC
*** Bug 395908 has been marked as a duplicate of this bug. ***
Comment 50 David Edmundson 2018-07-18 19:06:38 UTC
*** Bug 396610 has been marked as a duplicate of this bug. ***
Comment 51 David Edmundson 2018-08-02 23:08:47 UTC
*** Bug 397033 has been marked as a duplicate of this bug. ***
Comment 52 David Edmundson 2018-08-17 12:31:16 UTC
*** Bug 395581 has been marked as a duplicate of this bug. ***
Comment 53 David Edmundson 2018-08-17 12:31:19 UTC
*** Bug 397546 has been marked as a duplicate of this bug. ***
Comment 54 David Edmundson 2018-10-01 22:58:58 UTC
*** Bug 398677 has been marked as a duplicate of this bug. ***
Comment 55 David Edmundson 2019-03-18 13:10:54 UTC
*** Bug 405547 has been marked as a duplicate of this bug. ***
Comment 56 David Edmundson 2019-09-29 13:20:31 UTC
*** Bug 409920 has been marked as a duplicate of this bug. ***
Comment 57 David Edmundson 2019-09-29 13:20:38 UTC
*** Bug 412449 has been marked as a duplicate of this bug. ***
Comment 58 David Edmundson 2019-09-29 13:21:00 UTC
*** Bug 404584 has been marked as a duplicate of this bug. ***