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 781765 - places-status-indicator extensions prevents login to shell with sshfs mounts
places-status-indicator extensions prevents login to shell with sshfs mounts
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: extensions
3.24.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2017-04-26 12:43 UTC by Oliver
Modified: 2017-04-27 12:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
make the icon query asynchronous (2.84 KB, patch)
2017-04-26 22:04 UTC, Christian Kellner
committed Details | Review

Comment 1 Oliver 2017-04-26 12:48:40 UTC
When using the places-status-indicator extension from https://extensions.gnome.org/extension/8/places-status-indicator/ on RHEL 7.3 in Gnome classic mode, a sshfs mount can prevent the log in.

From what I see so far to reproduce it:

- access a share in nautilus via sshfs:// (add a bookmark as well)
- disconnect form the network
- log the computer
- log in is now not working any more (after giving password and hitting "Enter", the system hangs for a few minutes).

Talked to 2 engineers, and they think it is g_file_query_info part in the extension that tries to get the icon and name from the server and hangs the system.

RHEL 7.3
gnome-shell-3.14.4-53.el7.x86_64
gnome-shell-extension-places-menu-3.14.4-21.el7.noarch
Comment 2 Christian Kellner 2017-04-26 17:09:54 UTC
Also happens on gnome 3.24.1; hangs on both the classic and non classic shell with the places menu. But, an important step that is needed to reproduce this bug is that you need to have a bookmark for the connected share.
Easier way to reproduce the bug is to connect to the share, and disable the places extension (gnome-tweak-tool), disconnect the network and re-enable the extension.
 
Stack trace:
  • #0 poll
    at ../sysdeps/unix/syscall-template.S line 84
  • #1 g_main_context_poll
    at gmain.c line 4228
  • #2 g_main_context_iterate
    at gmain.c line 3924
  • #3 g_main_loop_run
    at gmain.c line 4125
  • #4 g_dbus_connection_send_message_with_reply_sync
    at gdbusconnection.c line 2151
  • #5 g_dbus_connection_call_sync_internal
    at gdbusconnection.c line 5937
  • #6 g_dbus_connection_call_with_unix_fd_list_sync
    at gdbusconnection.c line 6283
  • #7 g_dbus_proxy_call_sync_internal
    at gdbusproxy.c line 2857
  • #8 g_dbus_proxy_call_sync
    at gdbusproxy.c line 3049
  • #9 gvfs_dbus_mount_call_query_info_sync
  • #10 g_daemon_file_query_info
  • #11 ffi_call_unix64
    at ../src/x86/unix64.S line 76
  • #12 ffi_call
    at ../src/x86/ffi64.c line 525
  • #13 0x00007fc44f90a00c in
  • #14 0x00007fc44f90b7b6 in
  • #15 js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&)
    at /usr/src/debug/mozilla-esr38/js/src/jscntxtinlines.h line 226
  • #16 js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct)
    at /usr/src/debug/mozilla-esr38/js/src/vm/Interpreter.cpp line 498
  • #17 Interpret(JSContext*, js::RunState&)
    at /usr/src/debug/mozilla-esr38/js/src/vm/Interpreter.cpp line 2602
  • #18 js::RunScript(JSContext*, js::RunState&)
    at /usr/src/debug/mozilla-esr38/js/src/vm/Interpreter.cpp line 448
  • #19 js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct)
    at /usr/src/debug/mozilla-esr38/js/src/vm/Interpreter.cpp line 517
  • #20 js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value const*, JS::MutableHandle<JS::Value>)
    at /usr/src/debug/mozilla-esr38/js/src/vm/Interpreter.cpp line 554
  • #21 js::jit::InvokeFunction(JSContext*, JS::Handle<JSObject*>, unsigned int, JS::Value*, JS::Value*)
    at /usr/src/debug/mozilla-esr38/js/src/jit/VMFunctions.cpp line 75
  • #22 0x00007fc450ed1134 in
  • #23 0x00007ffc9c7e4900 in
  • #24 0x00007ffc9c7e4818 in
  • #25 0xfffc7fc428358180 in
  • #26 js::jit::GetPropertyIC::UpdateInfo
  • #27 js::jit::InvokeFunctionInfo
  • #28 0x00007fc428375490 in
  • #29 0x00007fc4048bf725 in
  • #30 0x0000000000000600 in
  • #31 0x00007fc421bf0680 in
  • #32 0x0000000000000000 in

Comment 3 Christian Kellner 2017-04-26 22:04:30 UTC
Created attachment 350512 [details] [review]
make the icon query asynchronous

I gave it a shot and converted the query_info to a query_info_async. Seems to fix the bug for me, maybe Oliver or Benjamin can test tomorrow.
Comment 4 Florian Müllner 2017-04-27 12:13:49 UTC
Review of attachment 350512 [details] [review]:

Yes
Comment 5 Christian Kellner 2017-04-27 12:29:14 UTC
Pushed to master as 8a4b2458, Thanks!