hangs when remote search provider performs expensive operation

Bug #1756826 reported by Iain Lane on 2018-03-19
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gnome-calculator (Ubuntu)
Medium
Marco Trevisan (Treviño)
Bionic
Medium
Marco Trevisan (Treviño)
gnome-shell (Ubuntu)
High
Marco Trevisan (Treviño)
Bionic
High
Marco Trevisan (Treviño)
nautilus (Ubuntu)
High
Marco Trevisan (Treviño)
Bionic
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://irclogs.ubuntu.com/2018/03/14/%23ubuntu-desktop.html#t15:58

Related branches

Iain Lane (laney) on 2018-03-19
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
Launchpad Janitor (janitor) wrote :

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:
    shell-search-provider: implement XUbuntuCancel to request pending
    search cancellation from gnome-shell (LP: #1756826)

 -- Marco Trevisan (Treviño) <email address hidden> Thu, 30 Aug 2018 18:15:24 -0500

Changed in nautilus (Ubuntu):
status: In Progress → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (5.3 KiB)

This bug was fixed in the package gnome-shell - 3.29.92-1ubuntu1

---------------
gnome-shell (3.29.92-1ubuntu1) cosmic; urgency=medium

  * Merge with debian, remaining changes:
    + Replace gnome-backgrounds dep with ubuntu-wallpapers and Suggests
      gnome-themes-standard-data, gnome-backgrounds
    + Add some Recommends:
      - ubuntu-session (| gnome-session) to have the ubuntu session available
      - xserver-xorg-legacy
      - yaru-theme-gnome-shell for the default ubuntu theming
    + Update debian/gbp.conf with Ubuntu settings
    + gnome-shell-common.install: Install Ubuntu mode
    + gnome-shell-common.prerm: Remove deprecated ubuntu theme alternative
    + ubuntu/desktop_detect.patch:
      - add caching for desktop detection to avoid querying the current
        desktop env variable as iterate through the list each time. For the
        time of the Shell process, we can expect this env variable to stay
        stable.
    + ubuntu/smarter_alt_tab.patch:
      - quick alt-tab (without showing up the switcher) switch only between
        the last window of the last 2 applications to be focused instead of
        raising all windows of those apps.
    + ubuntu/lightdm-user-switching.patch:
      - Allow user switching when using LightDM.
    + ubuntu/lock_on_suspend.patch
      - Respect Ubuntu's lock-on-suspend setting.
    + ubuntu/gdm.patch
      - as gdm is system-wide and not session-wide, ensure gdm has an ubuntu
        styling by default, not impacting the gnome user session though.
    + ubuntu/background_login.patch
      - Change default background color as we modified the default GDM color
        for our ubuntu session. Change it as well here, still applying the
        background noise loading.
    + ubuntu/gdm_alternatives.patch
      - Add support for GDM3 theme alternatives
    + ubuntu/block_mode_extension_update.patch
      - Don't allow ubuntu mode extension to update
    + optional-hot-corner.patch
      - enable patch proposed by upstream developer already in package (but
        not in series) to add a settings for optional hot corner activation.
    + volume-Add-back-sound-feedback-on-scroll.patch
      - Fix regression causing missing feedback on volume slider scroll
    + st-texture-cache-Cancel-sliced-image-loading-on-target-ac.patch
      - Fix possible crash on cache loading
    + js-ui-Choose-some-actors-to-cache-on-the-GPU.patch
      - Improve rendering of shell elements moving rendering to GPU
    + main-show-an-error-message-on-gnome-shell-crash.patch,
      global-make-possible-to-set-debug-flags-dynamically.patch,
      main-increase-the-granularity-of-backtraces-in-SHELL_DEBU.patch,
      main-add-backtrace-crashes-all-and-backtrace-all.patch,
      sessionMode-add-support-for-debugFlags-parameter.patch:
      - Improve debug JS tracing for crash reports
    + st-scroll-view-Handle-the-case-where-scrollbars-are-NULL.patch,
      st-scroll-view-Remove-scrollbars-references-on-dispose.patch:
      - Fix crash on theme changes
    + js-main-Throw-error-if-no-valid-default-stylesheet-is-fou.patch:
      - Show errors if no stylesheet is found
    + debian/rules:
      - Run dh_translations and ...

Read more...

Changed in gnome-shell (Ubuntu):
status: In Progress → Fix Released

Fixed in gnome-calculator 1:3.29.91-1ubuntu2

Changed in gnome-calculator (Ubuntu):
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)
importance: Undecided → Medium
status: New → Fix Released
Changed in gnome-calculator (Ubuntu Bionic):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)
Changed in gnome-shell (Ubuntu Bionic):
status: Triaged → In Progress
Changed in nautilus (Ubuntu Bionic):
status: Triaged → In Progress
description: updated
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers