hangs when remote search provider performs expensive operation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gnome-calculator (Ubuntu) |
Fix Released
|
High
|
Marco Trevisan (Treviño) | ||
Bionic |
Fix Released
|
High
|
Marco Trevisan (Treviño) | ||
gnome-shell (Ubuntu) |
Fix Released
|
High
|
Marco Trevisan (Treviño) | ||
Bionic |
Fix Released
|
High
|
Marco Trevisan (Treviño) | ||
gnome-software (Ubuntu) |
Fix Released
|
Medium
|
Robert Ancell | ||
Bionic |
Fix Released
|
Medium
|
Marco Trevisan (Treviño) | ||
nautilus (Ubuntu) |
Fix Released
|
High
|
Marco Trevisan (Treviño) | ||
Bionic |
Fix Released
|
High
|
Marco Trevisan (Treviño) |
Bug Description
[ Impact ]
Doing a search in the shell might lead to unresponsive processes that are not terminated when the search is cancelled or when the gnome-shell overlay is closed.
[ Test case for GNOME-Shell and Nautilus ]
1. Run ubuntu session with gnome-shell, and open a system monitor (htop, top, gnome one)
2. Open gnome shell overlay (hit super, or got to activity)
3. Search for a short string (3 chars let's say) that matches many files you know you have
4. Close the overlay (press super again, hit escape twice)
5. The nautilus process should stop using CPU once the overlay is closed
[ Test case for GNOME-Shell and GNOME-Calculator ]
1. Run ubuntu session with gnome-shell, and open a system monitor (htop, top, gnome one)
2. Open gnome shell overlay (hit super, or got to activity)
3. Type "10!!!"
4. Close the overlay (press super again, hit escape twice)
5. The gnome-calculator process should stop using CPU once the overlay is closed
[ Regression Potential ]
Nautilus search results returned are missing elements when continuously update the search string, gnome-calculator computations via the shell might not work as expected.
----
I have a maildir for my mail. My computer's name is "nightingale", and this name is in the filenames in the maildir. I have a lot of email!
When I search for "tilix" to start a terminal after logging in, Nautilus goes crazy consuming CPU. This is because I have to type "ti" to type "tilix" and "ti" is a substring of "nightingale". This is submitted as a search string to the nautilus search provider and apparently isn't cancelled when I close the entry - I checked the GError and it's NULL.
A similar thing happens with the ctrl-f search in nautilus itself.
We talked about this on IRC and I provided some traces and stuff. Linking to the log to avoid having to fetch those out into files. :-)
https:/
Related branches
- Ubuntu Desktop: Pending requested
-
Diff: 244 lines (+222/-0)3 files modifieddebian/changelog (+8/-0)
debian/patches/series (+1/-0)
debian/patches/ubuntu/shell-search-provider-implement-XUbuntuCancel-to-request-.patch (+213/-0)
- Robert Ancell: Approve
-
Diff: 203 lines (+181/-0)3 files modifieddebian/changelog (+8/-0)
debian/patches/0036-shell-search-provider-implement-XUbuntuCancel.patch (+172/-0)
debian/patches/series (+1/-0)
- Ubuntu Desktop: Pending requested
-
Diff: 1805 lines (+1274/-5) (has conflicts)19 files modifieddebian/changelog (+65/-5)
debian/control (+13/-0)
debian/control.in (+8/-0)
debian/gbp.conf (+7/-0)
debian/patches/0001-Set-reboot-notifications-as-urgent-to-avoid-them-tim.patch (+27/-0)
debian/patches/0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch (+11/-0)
debian/patches/0001-snap-plugin-segfault.patch (+32/-0)
debian/patches/0003-Sort-snaps-before-other-apps.patch (+14/-0)
debian/patches/0006-packagekit-Disable-updates.patch (+31/-0)
debian/patches/0011-Support-snap-channels.patch (+158/-0)
debian/patches/0014-Add-a-basic-permissions-system.patch (+53/-0)
debian/patches/0020-Show-verified-developers.patch (+217/-0)
debian/patches/0021-snap-Use-wide-scope-when-searching.patch (+70/-0)
debian/patches/0022-Delay-startup-of-GNOME-Software-to-allow-the-Shell-t.patch (+25/-0)
debian/patches/0023-Revert-Revert-flatpak-Use-list-of-related-apps-for-i.patch (+114/-0)
debian/patches/0024-flatpak-Check-if-a-related-app-is-installed-even-whe.patch (+37/-0)
debian/patches/0025-flatpak-Include-related-refs-to-the-app-s-runtime-on.patch (+192/-0)
debian/patches/0026-shell-search-provider-implement-XUbuntuCancel.patch (+176/-0)
debian/patches/series (+24/-0)
- Iain Lane: Pending requested
-
Diff: 210 lines (+179/-0)4 files modifieddebian/changelog (+9/-0)
debian/patches/series (+1/-0)
debian/patches/ubuntu/search-call-XUbuntuCancel-method-on-providers-when-no-dat.patch (+167/-0)
debian/rules (+2/-0)
- Ubuntu Desktop: Pending requested
-
Diff: 310 lines (+240/-8)4 files modifieddebian/changelog (+16/-0)
debian/patches/0015-tracker-search-engine-don-t-start-it-if-not-availabl.patch (+10/-8)
debian/patches/series (+1/-0)
debian/patches/ubuntu/shell-search-provider-implement-XUbuntuCancel-to-request-.patch (+213/-0)
- Ubuntu Desktop: Pending requested
-
Diff: 1129 lines (+1026/-2)15 files modifieddebian/changelog (+28/-0)
debian/control (+2/-1)
debian/control.in (+2/-1)
debian/patches/Use-GLib.List.deep_copy-to-fix-type-argument-mismatch.patch (+25/-0)
debian/patches/search-provider-Handle-errors-gracefully.patch (+108/-0)
debian/patches/search-provider-Use-async-calls-cancel-search-on-inactivi.patch (+233/-0)
debian/patches/search-provider-Use-lower-inactivity-timeout.patch (+30/-0)
debian/patches/search-provider-cache-equations-avoiding-spawning-calcula.patch (+171/-0)
debian/patches/search-provider-cache-only-a-limited-number-of-equations.patch (+45/-0)
debian/patches/search-provider-cancel-the-current-process-on-new-calcula.patch (+30/-0)
debian/patches/search-provider-renew-inactivity-timeout-at-each-calculat.patch (+61/-0)
debian/patches/search-provider-simplify-solve_subprocess.patch (+114/-0)
debian/patches/search-provider-stop-normalizing-the-equation-twice.patch (+48/-0)
debian/patches/series (+11/-0)
debian/patches/ubuntu/search-provider-Cancel-operations-on-XUbuntuCancel.patch (+118/-0)
- Didier Roche-Tolomelli: Approve
-
Diff: 317 lines (+277/-0)6 files modifieddebian/changelog (+11/-0)
debian/patches/search-Cancel-search-provider-operations-on-clear.patch (+29/-0)
debian/patches/search-Ignore-search-provider-results-metas-if-search-is-.patch (+30/-0)
debian/patches/series (+4/-0)
debian/patches/ubuntu/search-call-XUbuntuCancel-method-on-providers-when-no-dat.patch (+167/-0)
debian/patches/viewSelector-Cancel-search-on-overview-hidden.patch (+36/-0)
- Didier Roche-Tolomelli: Approve
-
Diff: 325 lines (+275/-3)6 files modifieddebian/changelog (+9/-3)
debian/patches/search-Cancel-search-provider-operations-on-clear.patch (+29/-0)
debian/patches/search-Ignore-search-provider-results-metas-if-search-is-.patch (+30/-0)
debian/patches/series (+4/-0)
debian/patches/ubuntu/search-call-XUbuntuCancel-method-on-providers-when-no-dat.patch (+167/-0)
debian/patches/viewSelector-Cancel-search-on-overview-hidden.patch (+36/-0)
- Didier Roche-Tolomelli: Approve
-
Diff: 926 lines (+831/-2)13 files modifieddebian/changelog (+23/-0)
debian/control (+2/-1)
debian/control.in (+2/-1)
debian/gbp.conf (+1/-0)
debian/patches/search-provider-Use-async-calls-cancel-search-on-inactivi.patch (+232/-0)
debian/patches/search-provider-Use-lower-inactivity-timeout.patch (+29/-0)
debian/patches/search-provider-cache-equations-avoiding-spawning-calcula.patch (+170/-0)
debian/patches/search-provider-cache-only-a-limited-number-of-equations.patch (+44/-0)
debian/patches/search-provider-cancel-the-current-process-on-new-calcula.patch (+29/-0)
debian/patches/search-provider-renew-inactivity-timeout-at-each-calculat.patch (+60/-0)
debian/patches/search-provider-simplify-solve_subprocess.patch (+113/-0)
debian/patches/series (+8/-0)
debian/patches/ubuntu/search-provider-Cancel-operations-on-XUbuntuCancel.patch (+118/-0)
- Didier Roche-Tolomelli: Approve
-
Diff: 259 lines (+237/-0)3 files modifieddebian/changelog (+8/-0)
debian/patches/series (+1/-0)
debian/patches/ubuntu/shell-search-provider-implement-XUbuntuCancel-to-request-.patch (+228/-0)
- Didier Roche-Tolomelli: Needs Information
-
Diff: 9595 lines (+3202/-2523)63 files modifiedNEWS (+14/-0)
data/gnome-shell-osk-layouts.gresource.xml (+1/-0)
data/osk-layouts/in+mal.json (+559/-0)
debian/changelog (+37/-2)
debian/control (+15/-5)
debian/control.in (+15/-5)
debian/patches/js-main-Throw-error-if-no-valid-default-stylesheet-is-fou.patch (+1/-1)
debian/patches/search-Cancel-search-provider-operations-on-clear.patch (+29/-0)
debian/patches/search-Ignore-search-provider-results-metas-if-search-is-.patch (+30/-0)
debian/patches/series (+4/-1)
debian/patches/sessionMode-add-support-for-debugFlags-parameter.patch (+1/-1)
debian/patches/ubuntu/lightdm-user-switching.patch (+4/-4)
debian/patches/ubuntu/search-call-Cancel-method-on-providers-when-no-data-is-ne.patch (+161/-0)
debian/patches/viewSelector-Cancel-search-on-overview-hidden.patch (+36/-0)
dev/null (+0/-133)
js/extensionPrefs/main.js (+10/-9)
js/gdm/fingerprint.js (+8/-7)
js/gdm/oVirt.js (+7/-7)
js/gdm/realmd.js (+51/-48)
js/misc/gnomeSession.js (+47/-44)
js/misc/inputMethod.js (+21/-4)
js/misc/loginManager.js (+50/-47)
js/misc/modemManager.js (+53/-48)
js/misc/objectManager.js (+16/-15)
js/misc/permissionStore.js (+25/-24)
js/misc/smartcardManager.js (+9/-8)
js/misc/systemActions.js (+6/-5)
js/portalHelper/main.js (+20/-19)
js/ui/accessDialog.js (+23/-21)
js/ui/appDisplay.js (+6/-5)
js/ui/audioDeviceSelection.js (+13/-12)
js/ui/boxpointer.js (+1/-0)
js/ui/calendar.js (+13/-12)
js/ui/components/autorunManager.js (+9/-8)
js/ui/dash.js (+1/-0)
js/ui/dialog.js (+1/-0)
js/ui/endSessionDialog.js (+47/-43)
js/ui/magnifierDBus.js (+82/-80)
js/ui/mpris.js (+34/-31)
js/ui/notificationDaemon.js (+72/-68)
js/ui/padOsd.js (+9/-8)
js/ui/panel.js (+5/-1)
js/ui/remoteSearch.js (+49/-47)
js/ui/screencast.js (+24/-23)
js/ui/screenshot.js (+45/-44)
js/ui/scripting.js (+14/-13)
js/ui/shellDBus.js (+104/-101)
js/ui/shellMountOperation.js (+33/-32)
js/ui/status/bluetooth.js (+8/-7)
js/ui/status/brightness.js (+6/-5)
js/ui/status/location.js (+22/-20)
js/ui/status/network.js (+20/-19)
js/ui/status/nightLight.js (+7/-6)
js/ui/status/power.js (+12/-11)
js/ui/status/rfkill.js (+8/-7)
js/ui/status/thunderbolt.js (+36/-34)
js/ui/windowManager.js (+14/-13)
meson.build (+2/-2)
po/cs.po (+444/-554)
po/id.po (+84/-76)
po/it.po (+349/-385)
po/kk.po (+233/-225)
po/ko.po (+142/-173)
Changed in nautilus (Ubuntu Bionic): | |
status: | New → Triaged |
importance: | Undecided → High |
assignee: | nobody → Marco Trevisan (Treviño) (3v1n0) |
Changed in gnome-shell (Ubuntu): | |
status: | New → In Progress |
importance: | Undecided → High |
assignee: | nobody → Marco Trevisan (Treviño) (3v1n0) |
Changed in gnome-shell (Ubuntu Bionic): | |
assignee: | nobody → Marco Trevisan (Treviño) (3v1n0) |
importance: | Undecided → High |
status: | New → Triaged |
Changed in nautilus (Ubuntu): | |
status: | Triaged → In Progress |
summary: |
- hangs when locate search provider matches a lot of files + hangs when remote search provider performs expensive operation |
description: | updated |
Changed in gnome-software (Ubuntu): | |
assignee: | nobody → Andrea Azzarone (azzar1) |
Changed in gnome-software (Ubuntu Bionic): | |
assignee: | nobody → Andrea Azzarone (azzar1) |
Changed in gnome-software (Ubuntu): | |
status: | New → In Progress |
Changed in gnome-software (Ubuntu Bionic): | |
status: | New → Triaged |
Changed in gnome-software (Ubuntu): | |
importance: | Undecided → Medium |
Changed in gnome-software (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in gnome-software (Ubuntu): | |
assignee: | Andrea Azzarone (azzar1) → Robert Ancell (robert-ancell) |
status: | In Progress → Fix Committed |
Changed in gnome-software (Ubuntu Bionic): | |
status: | Triaged → In Progress |
assignee: | Andrea Azzarone (azzar1) → Marco Trevisan (Treviño) (3v1n0) |
Changed in gnome-calculator (Ubuntu): | |
importance: | Medium → High |
Changed in gnome-calculator (Ubuntu Bionic): | |
importance: | Medium → High |
This bug was fixed in the package nautilus - 1:3.26.4-0ubuntu3
---------------
nautilus (1:3.26.4-0ubuntu3) cosmic; urgency=medium
* d/p/ubuntu/ shell-search- provider- implement- XUbuntuCancel- to-request- .patch: search- provider: implement XUbuntuCancel to request pending
shell-
search cancellation from gnome-shell (LP: #1756826)
-- Marco Trevisan (Treviño) <email address hidden> Thu, 30 Aug 2018 18:15:24 -0500