Bug 390114 - Discover 5.12.0 always Crashes in QQuickItem::isVisible() following these simple steps
Summary: Discover 5.12.0 always Crashes in QQuickItem::isVisible() following these sim...
Status: RESOLVED FIXED
Alias: None
Product: Discover
Classification: Applications
Component: discover (show other bugs)
Version: 5.12.0
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: Aleix Pol
URL:
Keywords:
: 389910 390083 390196 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-02-08 23:33 UTC by RYDeN
Modified: 2018-02-10 20:32 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.12.1


Attachments
Downloaded updates (41.60 KB, image/png)
2018-02-10 01:56 UTC, RYDeN
Details

Note You need to log in before you can comment on or make changes to this bug.
Description RYDeN 2018-02-08 23:33:13 UTC
Discover 5.12.0 Crashes always following these simple steps:

1º Open Discover.
2º Click on Applications.
3º Click on the search box, type an application name (Eg. vlc) and press enter. 
4º Click on the icon to enter to the app description.
5º Click on the cross to delete the text written in the search box.
6º Click on the search box in order to write another word.
7º Write another app name (Eg. chromium).
8º Press ENTER to confirm the search.
9º It always crashes.

It's my first time fileing a bug, and written in English, (I speak Spanish), so I hope I was clear enough. See you!
Comment 1 Nate Graham 2018-02-09 00:24:23 UTC
Thanks for the PERFECT bug report! Can confirm, this is a 100% crasher Happens for me on Neon with Qt 5.9.3 and Kubuntu with Qt 5.9.1. The backtrace indicates that it's in QQuickItem::isVisible(), which is a known issue.



Thread 1 "plasma-discover" received signal SIGSEGV, Segmentation fault.
0x00007ffff723fbd4 in QQuickItem::isVisible() const ()
   from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
(gdb) bt
#0  0x00007ffff723fbd4 in QQuickItem::isVisible() const ()
   from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#1  0x00007ffff723fccd in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#2  0x00007ffff724bdd7 in QQuickItemPrivate::deliverKeyEvent(QKeyEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#3  0x00007ffff724c185 in QQuickItem::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#4  0x00007ffff554eb9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5  0x00007ffff55565a7 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6  0x00007ffff3f5fdf8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007ffff725cdbd in QQuickWindow::sendEvent(QQuickItem*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#8  0x00007ffff725d07f in QQuickWindow::keyReleaseEvent(QKeyEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#9  0x00007ffff4dec8e5 in QWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#10 0x00007ffff7264e85 in QQuickWindow::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#11 0x00007ffff554eb9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007ffff55565a7 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007ffff3f5fdf8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff4ddcdd8 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#15 0x00007ffff4de2175 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#16 0x00007ffff4dbb7cb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#17 0x00007fffe74dd470 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#18 0x00007fffee0ae197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007fffee0ae3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007fffee0ae49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007ffff3fb56af in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007ffff3f5de2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007ffff3f66d64 in QCoreApplication::exec() ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00000000004162a8 in main ()

*** This bug has been marked as a duplicate of bug 378339 ***
Comment 2 Aleix Pol 2018-02-09 00:28:35 UTC
Yes, can reproduce. Will look into it.
Comment 3 Aleix Pol 2018-02-09 01:24:49 UTC
Git commit 12138479ca378d4e36fb0e9b6dcc5ecef88ab200 by Aleix Pol.
Committed on 09/02/2018 at 01:24.
Pushed by apol into branch 'Plasma/5.12'.

Make sure we mark as busy before clearling the list

We use this signal to clear the view, we want the currentItem to be
clean before the

Workarounds QTBUG-65881

M  +1    -1    libdiscover/resources/ResourcesProxyModel.cpp

https://commits.kde.org/discover/12138479ca378d4e36fb0e9b6dcc5ecef88ab200
Comment 4 Aleix Pol 2018-02-09 01:49:57 UTC
*** Bug 390083 has been marked as a duplicate of this bug. ***
Comment 5 Nate Graham 2018-02-09 14:40:40 UTC
*** Bug 389910 has been marked as a duplicate of this bug. ***
Comment 6 RYDeN 2018-02-10 01:56:44 UTC
Created attachment 110497 [details]
Downloaded updates
Comment 7 RYDeN 2018-02-10 01:57:43 UTC
I downloaded the Discover updates on KDE Neon 5.12 Git-stable, and followed the same 9 steps, and the crash is still there.

See the attachment (Downloaded updates).
Comment 8 Nate Graham 2018-02-10 02:49:56 UTC
Your version won't have that fix yet.
Comment 9 Nate Graham 2018-02-10 02:53:49 UTC
I can confirm that this is fixed in KDE Neon with Discover built from source.

However, while those Steps To Reproduce no longer cause a crash, the second search now doesn't work. Tracking that in Bug 390191.
Comment 10 Nate Graham 2018-02-10 20:32:42 UTC
*** Bug 390196 has been marked as a duplicate of this bug. ***