After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 784251 - vfunc hangs block operations from completing
vfunc hangs block operations from completing
Status: RESOLVED FIXED
Product: gnome-software
Classification: Applications
Component: General
git master
Other Linux
: Normal normal
: ---
Assigned To: GNOME Software maintainer(s)
GNOME Software maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2017-06-27 14:27 UTC by Iain Lane
Modified: 2017-06-29 14:52 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Iain Lane 2017-06-27 14:27:22 UTC
I was noticing that the Picks weren't showing on my system with the snap plugin enabled. From gdb, we can see:

Thread 5 (Thread 0x7fadf93c5700 (LWP 2222))

  • #0 syscall
    at ../sysdeps/unix/sysv/linux/x86_64/syscall.S line 38
  • #1 g_cond_wait
  • #2 g_main_context_wait
  • #3 g_main_loop_run
  • #4 snapd_client_list_one_sync
  • #5 gs_plugin_refine_app
    at ../plugins/snap/gs-plugin-snap.c line 428
  • #6 gs_plugin_loader_call_vfunc
    at ../lib/gs-plugin-loader.c line 533
  • #7 gs_plugin_loader_run_refine_internal
    at ../lib/gs-plugin-loader.c line 764
  • #8 gs_plugin_loader_run_refine
    at ../lib/gs-plugin-loader.c line 898
  • #9 gs_plugin_loader_process_thread_cb
    at ../lib/gs-plugin-loader.c line 3105
  • #10 0x00007fae2168d9ad in
  • #11 0x00007fae21a0c07e in
  • #12 0x00007fae21a0b685 in
  • #13 start_thread
    at pthread_create.c line 456
  • #14 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 105

It's hung while trying to talk to snapd. Talking to Richard, the idea is to set a maximum timeout (5 or 10 seconds) and invoke the cancellable thereafter.
Comment 1 Richard Hughes 2017-06-29 14:52:02 UTC
commit fa7216c1284d957acbf266f879a99ffcff06abee (HEAD -> wip/hughsie/cancell-tasks)
Author: Richard Hughes <richard@hughsie.com>
Date:   Wed Jun 28 17:50:42 2017 +0100

    Cancel plugin jobs if they take too much time
    
    Create an event and show a message in the shell to make the plugin look bad.
    
    Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=784251