Bug 396522 - Discover froze when I installed a flatpak package and updates in sequence
Summary: Discover froze when I installed a flatpak package and updates in sequence
Status: RESOLVED FIXED
Alias: None
Product: Discover
Classification: Applications
Component: discover (show other bugs)
Version: 5.13.3
Platform: Neon Linux
: NOR normal
Target Milestone: ---
Assignee: Aleix Pol
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-07-15 03:57 UTC by Patrick Silva
Modified: 2018-10-11 15:51 UTC (History)
0 users

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 Patrick Silva 2018-07-15 03:57:08 UTC
On neon dev unstable...
I added the the following repo to install firefox flatpak
https://firefox-flatpak.mojefedora.cz

and immediately I installed the nightly build.
When flatpak install was completed, I installed some updates
available. After the successful update process, discover froze.

#0  0x00007f704a53d4d9 in syscall ()
    at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f704af30355 in QBasicMutex::lockInternal() (val3=0, addr2=0x0, val2=0, val=3, op=0, addr=<optimized out>) at thread/qfutex_p.h:92
#2  0x00007f704af30355 in QBasicMutex::lockInternal() (expectedValue=<optimized out>, futex=...) at thread/qfutex_p.h:107
#3  0x00007f704af30355 in QBasicMutex::lockInternal() (timeout=-1, elapsedTimer=0x0, d_ptr=...) at thread/qmutex_linux.cpp:145
#4  0x00007f704af30355 in QBasicMutex::lockInternal() (this=0x7f704b589ab8 <_q_ObjectMutexPool+88>) at thread/qmutex_linux.cpp:162
#5  0x00007f704af303b7 in QMutex::lock() (this=this@entry=0x7f704b589ab8 <_q_ObjectMutexPool+88>) at thread/qmutex.cpp:229
#6  0x00007f704b13170d in QMetaObjectPrivate::disconnect(QObject const*, int, QMetaObject const*, QObject const*, int, void**, QMetaObjectPrivate::DisconnectType) (mtx2=0x7f704b589ab8 <_q_ObjectMutexPool+88>, mtx1=0x7f704b589cc0 <_q_ObjectMutexPool+608>)
    at ../../include/QtCore/5.11.1/QtCore/private/../../../../../src/corelib/thread/qorderedmutexlocker_p.h:109
#7  0x00007f704b13170d in QMetaObjectPrivate::disconnect(QObject const*, int,---Type <return> to continue, or q <return> to quit---
 QMetaObject const*, QObject const*, int, void**, QMetaObjectPrivate::DisconnectType) (slot=0x0, disconnectType=QMetaObjectPrivate::DisconnectAll, senderMutex=0x7f704b589cc0 <_q_ObjectMutexPool+608>, method_index=<optimized out>, receiver=0x28ecb20, c=0x5f42d60) at kernel/qobject.cpp:3377
#8  0x00007f704b13170d in QMetaObjectPrivate::disconnect(QObject const*, int, QMetaObject const*, QObject const*, int, void**, QMetaObjectPrivate::DisconnectType) (sender=sender@entry=0x3df8740, signal_index=signal_index@entry=10, smeta=<optimized out>, receiver=receiver@entry=0x28ecb20, method_index=method_index@entry=39, disconnectType=disconnectType@entry=QMetaObjectPrivate::DisconnectAll, slot=0x0)
    at kernel/qobject.cpp:3445
#9  0x00007f704b132114 in QObject::disconnect(QObject const*, char const*, QObject const*, char const*) (sender=0x3df8740, signal=0x3b43059 "Finished(uint,uint)", receiver=0x28ecb20, method=0x68d11c9 "finished(uint,uint)") at kernel/qobject.cpp:3022
#10 0x00007f6fe74cb4ab in PackageKit::TransactionPrivate::setupSignal(QString const&, bool) ()
    at /usr/lib/x86_64-linux-gnu/libpackagekitqt5.so.0
#11 0x00007f6fe74ceaf9 in PackageKit::Transaction::disconnectNotify(char const*) ()
    at /usr/lib/x86_64-linux-gnu/libpackagekitqt5.so.0
#12 0x00007f6fe74caf0a in PackageKit::Transaction::disconnectNotify(QMetaMethod const&) ()
    at /usr/lib/x86_64-linux-gnu/libpackagekitqt5.so.0
#13 0x00007f704b135d83 in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>)
    at kernel/qobject.cpp:988
#14 0x00007f6fe772a51b in TransactionSet::~TransactionSet() (this=0x28d2160, __in_chrg=<optimized out>) at /workspace/build/obj-x86_64-linux-gnu/libdiscover/backends/PackageKitBackend/../../../../libdiscover/backends/PackageKitBackend/TransactionSet.h:28
#15 0x00007f6fe772a51b in TransactionSet::~TransactionSet() (this=0x28d2160, __in_chrg=<optimized out>) at /workspace/build/obj-x86_64-linux-gnu/libdiscover/backends/PackageKitBackend/../../../../libdiscover/backends/PackageKitBackend/TransactionSet.h:28
---Type <return> to continue, or q <return> to quit---
#16 0x00007f704b12eff0 in QObject::event(QEvent*) (this=0x28d2160, e=<optimized out>)
    at kernel/qobject.cpp:1242
#17 0x00007f704c75a39c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007f704c761ab0 in QApplication::notify(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007f704b101228 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x28d2160, event=event@entry=0x3ebeb60) at kernel/qcoreapplication.cpp:1048
#20 0x00007f704b103e2e in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (event=0x3ebeb60, receiver=<optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#21 0x00007f704b103e2e in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x24849f0)
    at kernel/qcoreapplication.cpp:1745
#22 0x00007f704b1042a8 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1599
#23 0x00007f704b158a93 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x24e8f80)
    at kernel/qeventdispatcher_glib.cpp:276
#24 0x00007f7045177197 in g_main_context_dispatch (context=0x24c4f00)
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3154
#25 0x00007f7045177197 in g_main_context_dispatch (context=context@entry=0x24c4f00)
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3769
#26 0x00007f70451773f0 in g_main_context_iterate (context=context@entry=0x24c4f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3840
---Type <return> to continue, or q <return> to quit---
#27 0x00007f704517749c in g_main_context_iteration (context=0x24c4f00, may_block=may_block@entry=1)
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3901
#28 0x00007f704b15809f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x24f4580, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#29 0x00007f703ef9c421 in QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5WaylandClient.so.5
#30 0x00007f704b0ff5ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffcbfe4bab0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#31 0x00007f704b1086c4 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1336
#32 0x00000000004133ff in main(int, char**) (argc=1, argv=<optimized out>)
    at /workspace/build/discover/main.cpp:156
Comment 1 Aleix Pol 2018-10-08 14:02:48 UTC
Can you reproduce this issue in Bionic? Having a newer PackageKitQt should help
Comment 2 Patrick Silva 2018-10-08 15:11:11 UTC
I could not reproduce on neon bionic because "update all" button was disabled after flatpak install, I had to restart Discover to enabled it. So the updates were installed as expected, Discover did not freeze.
Comment 3 Aleix Pol 2018-10-11 15:51:14 UTC
So updates don't work for you after installing something flatpak now? If that's the case please open another bug report.

Thanks a lot Dr. Chapatin for your work.