Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

plasma-discover crashes since 0.10.3 #89

Closed
rdieter opened this issue Nov 14, 2016 · 2 comments
Closed

plasma-discover crashes since 0.10.3 #89

rdieter opened this issue Nov 14, 2016 · 2 comments
Labels

Comments

@rdieter
Copy link

rdieter commented Nov 14, 2016

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

Application: plasma-discover (5.8.3)

Qt Version: 5.6.2
Frameworks Version: 5.27.0
Operating System: Linux 4.8.6-201.fc24.x86_64 x86_64
Distribution: "Fedora release 24 (Twenty Four)"

-- Information about the crash:

  • What I was doing when the application crashed:
    Browsing applications, and trying to install some

It appears to be crashing in some appstream method so may not be discover's fault.

The crash can be reproduced every time.

-- Backtrace:

Application: Discover (plasma-discover), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f5c7b5cb900 (LWP 7509))]

Thread 9 (Thread 0x7f5c47bff700 (LWP 7529)):
#0  0x00007f5c85090f10 in g_main_context_prepare (context=context@entry=0x7f5c3c000990, priority=priority@entry=0x7f5c47bfeb80) at gmain.c:3424
#1  0x00007f5c8509192b in g_main_context_iterate (context=context@entry=0x7f5c3c000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3820
#2  0x00007f5c85091b1c in g_main_context_iteration (context=0x7f5c3c000990, may_block=may_block@entry=1) at gmain.c:3901
#3  0x00007f5c892e575b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5c3c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#4  0x00007f5c8929481a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5c47bfecc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:206
#5  0x00007f5c890f3353 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:500
#6  0x00007f5c890f79ba in QThreadPrivate::start(void*) (arg=0x56540a8bcfa0) at thread/qthread_unix.cpp:365
#7  0x00007f5c86a365ca in start_thread () at /lib64/libpthread.so.0
#8  0x00007f5c884eb0ed in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7f5c4f7fe700 (LWP 7519)):
#0  0x00007f5c884df56d in poll () at /lib64/libc.so.6
#1  0x00007f5c85091a06 in g_main_context_iterate (priority=<optimized out>, n_fds=1, fds=0x7f5c400010c0, timeout=<optimized out>, context=0x56540a8b3870) at gmain.c:4135
#2  0x00007f5c85091a06 in g_main_context_iterate (context=0x56540a8b3870, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3835
#3  0x00007f5c85091d92 in g_main_loop_run (loop=0x56540a8b3800) at gmain.c:4034
#4  0x00007f5c718b0e46 in gdbus_shared_thread_func (user_data=0x56540a8b3840) at gdbusprivate.c:246
#5  0x00007f5c850b7cf5 in g_thread_proxy (data=0x56540a8b54a0) at gthread.c:780
#6  0x00007f5c86a365ca in start_thread () at /lib64/libpthread.so.0
#7  0x00007f5c884eb0ed in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f5c4ffff700 (LWP 7518)):
#0  0x00007f5c850d5a24 in g_mutex_unlock (mutex=0x56540a8b3040) at gthread-posix.c:1347
#1  0x00007f5c85091030 in g_main_context_prepare (context=context@entry=0x56540a8b3040, priority=priority@entry=0x7f5c4fffecd0) at gmain.c:3507
#2  0x00007f5c8509192b in g_main_context_iterate (context=context@entry=0x56540a8b3040, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3820
#3  0x00007f5c85091b1c in g_main_context_iteration (context=0x56540a8b3040, may_block=may_block@entry=1) at gmain.c:3901
#4  0x00007f5c85091b61 in glib_worker_main (data=<optimized out>) at gmain.c:5672
#5  0x00007f5c850b7cf5 in g_thread_proxy (data=0x56540a8b5450) at gthread.c:780
#6  0x00007f5c86a365ca in start_thread () at /lib64/libpthread.so.0
#7  0x00007f5c884eb0ed in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f5c5bfff700 (LWP 7514)):
#0  0x00007f5c884df56d in poll () at /lib64/libc.so.6
#1  0x00007f5c85091a06 in g_main_context_iterate (priority=<optimized out>, n_fds=1, fds=0x7f5c50003070, timeout=<optimized out>, context=0x7f5c50000990) at gmain.c:4135
#2  0x00007f5c85091a06 in g_main_context_iterate (context=context@entry=0x7f5c50000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3835
#3  0x00007f5c85091b1c in g_main_context_iteration (context=0x7f5c50000990, may_block=may_block@entry=1) at gmain.c:3901
#4  0x00007f5c892e575b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5c500008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#5  0x00007f5c8929481a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5c5bffecc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:206
#6  0x00007f5c890f3353 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:500
#7  0x00007f5c890f79ba in QThreadPrivate::start(void*) (arg=0x7f5c54003650) at thread/qthread_unix.cpp:365
#8  0x00007f5c86a365ca in start_thread () at /lib64/libpthread.so.0
#9  0x00007f5c884eb0ed in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f5c60bd1700 (LWP 7513)):
#0  0x00007f5c850a02f2 in g_poll (__timeout=-1, __nfds=1, __fds=0x7f5c54874910) at /usr/include/bits/poll2.h:46
#1  0x00007f5c850a02f2 in g_poll (fds=0x7f5c54874910, nfds=1, timeout=-1) at gpoll.c:124
#2  0x00007f5c85091a06 in g_main_context_iterate (priority=<optimized out>, n_fds=1, fds=0x7f5c54874910, timeout=<optimized out>, context=0x7f5c54000990) at gmain.c:4135
#3  0x00007f5c85091a06 in g_main_context_iterate (context=context@entry=0x7f5c54000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3835
#4  0x00007f5c85091b1c in g_main_context_iteration (context=0x7f5c54000990, may_block=may_block@entry=1) at gmain.c:3901
#5  0x00007f5c892e575b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5c540008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#6  0x00007f5c8929481a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5c60bd0c50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:206
#7  0x00007f5c890f3353 in QThread::exec() (this=this@entry=0x56540a590f10) at thread/qthread.cpp:500
#8  0x00007f5c8c3c8d56 in QQuickPixmapReader::run() (this=0x56540a590f10) at /usr/src/debug/qtdeclarative-opensource-src-5.6.2/src/quick/util/qquickpixmapcache.cpp:817
#9  0x00007f5c890f79ba in QThreadPrivate::start(void*) (arg=0x56540a590f10) at thread/qthread_unix.cpp:365
#10 0x00007f5c86a365ca in start_thread () at /lib64/libpthread.so.0
#11 0x00007f5c884eb0ed in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f5c688a6700 (LWP 7512)):
#0  0x00007f5c850d5a24 in g_mutex_unlock (mutex=0x7f5c5c000990) at gthread-posix.c:1347
#1  0x00007f5c85091259 in g_main_context_query (context=context@entry=0x7f5c5c000990, max_priority=2147483647, timeout=timeout@entry=0x7f5c688a5b64, fds=fds@entry=0x7f5c5c002e70, n_fds=n_fds@entry=1) at gmain.c:3589
#2  0x00007f5c85091978 in g_main_context_iterate (context=context@entry=0x7f5c5c000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3822
#3  0x00007f5c85091b1c in g_main_context_iteration (context=0x7f5c5c000990, may_block=may_block@entry=1) at gmain.c:3901
#4  0x00007f5c892e575b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5c5c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#5  0x00007f5c8929481a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5c688a5ca0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:206
#6  0x00007f5c890f3353 in QThread::exec() (this=this@entry=0x56540a1b5d30) at thread/qthread.cpp:500
#7  0x00007f5c89ba7525 in QQmlThreadPrivate::run() (this=0x56540a1b5d30) at /usr/src/debug/qtdeclarative-opensource-src-5.6.2/src/qml/qml/ftw/qqmlthread.cpp:141
#8  0x00007f5c890f79ba in QThreadPrivate::start(void*) (arg=0x56540a1b5d30) at thread/qthread_unix.cpp:365
#9  0x00007f5c86a365ca in start_thread () at /lib64/libpthread.so.0
#10 0x00007f5c884eb0ed in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f5c690a7700 (LWP 7511)):
#0  0x00007f5c884db1cd in read () at /lib64/libc.so.6
#1  0x00007f5c850d4660 in g_wakeup_acknowledge (__nbytes=16, __buf=0x7f5c690a6a70, __fd=<optimized out>) at /usr/include/bits/unistd.h:44
#2  0x00007f5c850d4660 in g_wakeup_acknowledge (wakeup=0x7f5c6c0015b0) at gwakeup.c:210
#3  0x00007f5c850914d6 in g_main_context_check (context=context@entry=0x7f5c64000990, max_priority=2147483647, fds=fds@entry=0x7f5c64013c20, n_fds=n_fds@entry=1) at gmain.c:3632
#4  0x00007f5c850919a4 in g_main_context_iterate (context=context@entry=0x7f5c64000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3837
#5  0x00007f5c85091b1c in g_main_context_iteration (context=0x7f5c64000990, may_block=may_block@entry=1) at gmain.c:3901
#6  0x00007f5c892e575b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5c640008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#7  0x00007f5c8929481a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5c690a6c80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:206
#8  0x00007f5c890f3353 in QThread::exec() (this=this@entry=0x7f5c8cca4060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:500
#9  0x00007f5c8cc2f559 in QDBusConnectionManager::run() (this=0x7f5c8cca4060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:189
#10 0x00007f5c890f79ba in QThreadPrivate::start(void*) (arg=0x7f5c8cca4060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:365
#11 0x00007f5c86a365ca in start_thread () at /lib64/libpthread.so.0
#12 0x00007f5c884eb0ed in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f5c715c9700 (LWP 7510)):
#0  0x00007f5c884df56d in poll () at /lib64/libc.so.6
#1  0x00007f5c80b55f80 in _xcb_conn_wait (__timeout=-1, __nfds=1, __fds=0x7f5c715c8bc0) at /usr/include/bits/poll2.h:46
#2  0x00007f5c80b55f80 in _xcb_conn_wait (c=c@entry=0x56540a0fbae0, cond=cond@entry=0x56540a0fbb20, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:459
#3  0x00007f5c80b57b79 in xcb_wait_for_event (c=0x56540a0fbae0) at xcb_in.c:693
#4  0x00007f5c74b4df99 in QXcbEventReader::run() (this=0x56540a1061b0) at qxcbconnection.cpp:1331
#5  0x00007f5c890f79ba in QThreadPrivate::start(void*) (arg=0x56540a1061b0) at thread/qthread_unix.cpp:365
#6  0x00007f5c86a365ca in start_thread () at /lib64/libpthread.so.0
#7  0x00007f5c884eb0ed in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f5c7b5cb900 (LWP 7509)):
[KCrash Handler]
#6  0x00007f5c592838c7 in as_provided_get_items (prov=0x0) at /usr/src/debug/AppStream-0.10.3/src/as-provided.c:264
#7  0x00007f5c594b41ad in AppStream::Provided::items() const (this=this@entry=0x7ffe8f0fd760) at /usr/src/debug/AppStream-0.10.3/qt/provided.cpp:108
#8  0x00007f5c5992a990 in AppPackageKitResource::findProvides(AppStream::Provided::Kind) const (this=<optimized out>, kind=kind@entry=AppStream::Provided::KindBinary) at /usr/src/debug/discover-5.8.3/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:225
#9  0x00007f5c5992aa22 in AppPackageKitResource::executables() const (this=<optimized out>) at /usr/src/debug/discover-5.8.3/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:144
#10 0x00007f5c5992ac05 in AppPackageKitResource::canExecute() const (this=<optimized out>) at /usr/src/debug/discover-5.8.3/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:219
#11 0x00007f5c8c0a72ee in AbstractResource::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=_o@entry=0x56540aa83e10, _c=_c@entry=QMetaObject::ReadProperty, _id=_id@entry=4, _a=_a@entry=0x7ffe8f0fd8f0) at /usr/src/debug/discover-5.8.3/x86_64-redhat-linux-gnu/libdiscover/moc_AbstractResource.cpp:278
#12 0x00007f5c8c0a99cb in AbstractResource::qt_metacall(QMetaObject::Call, int, void**) (this=this@entry=0x56540aa83e10, _c=_c@entry=QMetaObject::ReadProperty, _id=4, _a=_a@entry=0x7ffe8f0fd8f0) at /usr/src/debug/discover-5.8.3/x86_64-redhat-linux-gnu/libdiscover/moc_AbstractResource.cpp:345
#13 0x00007f5c59938485 in PackageKitResource::qt_metacall(QMetaObject::Call, int, void**) (this=0x56540aa83e10, _c=QMetaObject::ReadProperty, _id=<optimized out>, _a=0x7ffe8f0fd8f0) at /usr/src/debug/discover-5.8.3/x86_64-redhat-linux-gnu/libdiscover/backends/PackageKitBackend/moc_PackageKitResource.cpp:166
#14 0x00007f5c89aebabe in LoadProperty<ReadAccessor::Direct>(QV4::ExecutionEngine*, QObject*, QQmlPropertyData const&, QQmlNotifier**) (property=..., n=0x0, output=0x7ffe8f0fd8d0, object=0x56540aa83e10) at /usr/src/debug/qtdeclarative-opensource-src-5.6.2/src/qml/jsruntime/qv4qobjectwrapper.cpp:129
#15 0x00007f5c89aebabe in LoadProperty<ReadAccessor::Direct>(QV4::ExecutionEngine*, QObject*, QQmlPropertyData const&, QQmlNotifier**) (v4=0x56540a1bb590, object=0x56540aa83e10, property=..., notifier=0x0) at /usr/src/debug/qtdeclarative-opensource-src-5.6.2/src/qml/jsruntime/qv4qobjectwrapper.cpp:168
#16 0x00007f5c89aec6cd in QV4::QObjectWrapper::getProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData*, bool) (engine=engine@entry=0x56540a1bb590, object=0x56540aa83e10, property=0x7f5c5c361d38, captureRequired=captureRequired@entry=true) at /usr/src/debug/qtdeclarative-opensource-src-5.6.2/src/qml/jsruntime/qv4qobjectwrapper.cpp:378
#17 0x00007f5c89aece4c in QV4::QObjectWrapper::getQmlProperty(QQmlContextData*, QV4::String*, QV4::QObjectWrapper::RevisionMode, bool*, bool) const (this=0x7f5c62df13f0, qmlContext=0x56540b8979c0, name=0x7f5c62df13e8, revisionMode=QV4::QObjectWrapper::IgnoreRevision, hasProperty=0x0, includeImports=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.6.2/src/qml/jsruntime/qv4qobjectwrapper.cpp:318
#18 0x00007f5c89b02fe6 in QV4::Runtime::getProperty(QV4::ExecutionEngine*, QV4::Value const&, int) (hasProperty=0x0, name=<optimized out>, this=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.6.2/src/qml/jsruntime/qv4object_p.h:300
#19 0x00007f5c89b02fe6 in QV4::Runtime::getProperty(QV4::ExecutionEngine*, QV4::Value const&, int) (engine=0x56540a1bb590, object=..., nameIndex=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.6.2/src/qml/jsruntime/qv4runtime.cpp:675
#20 0x00007f5c6809ed0e in  ()
#21 0x0000000000000000 in  ()
ximion added a commit that referenced this issue Nov 14, 2016
This should resolve the crash in #89
This patch also resolves a similar unclean case with QUrl (doesn't lead
to a crash, but constructing QUrl with nullptr is a bit evil).
@ximion ximion closed this as completed Nov 14, 2016
@ximion ximion added the bug label Nov 14, 2016
@aleixpol aleixpol reopened this Nov 21, 2016
@aleixpol
Copy link
Collaborator

We need a release with this patch in.

@ximion
Copy link
Owner

ximion commented Nov 21, 2016

That doesn't change the fact that this bug is resolved (I really don't want to track down all the closed bugs each release and close them then).

I wanted to do a release this Monday, but didn't have any time to finish the planned other changes or even do a simple release.
You can expect a release this week though.

@ximion ximion closed this as completed Nov 21, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants