[Pkg-utopia-maintainers] Bug#752779: nm-connection-editor hangs if home directory contains symlinks to NFS mounts

Mike Crowe mac at mcrowe.com
Thu Jun 26 13:40:48 UTC 2014


Package: network-manager-gnome
Version: 0.9.8.10-1
Severity: normal
File: /usr/bin/nm-connection-editor

I managed to get my network configuration into something of a pickle by
accidentally removing my main network connection using nm-connection-editor.
Once I'd done that I was unable to re-create the connection because nm-
connection-editor would hang solid (requiring kill -9) each time I tried to add
a new Ethernet connection.

Strace revealed that it was stuck trying to stat a symlink in my home
directory. The symlink was to an NFS mount which wasn't working due to the lack
of network.

Behaviour like this may be excusable in many applications but it is rather
unfortunate in a tool that is used to fix the broken network configuration.

I was able to let nm-connection-editor run by deleting the symlink.

Partial strace output:

socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC, 0) = 16
fcntl(16, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(16, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
connect(16, {sa_family=AF_FILE, path=@"/dbus-vfs-daemon/socket-QlNuWpOa"}, 35)
= 0
geteuid()                               = 1002
getegid()                               = 1001
geteuid()                               = 1002
getegid()                               = 1001
poll([{fd=16, events=POLLOUT}], 1, 4294967295) = 1 ([{fd=16, revents=POLLOUT}])
sendmsg(16, {msg_name(0)=NULL, msg_iov(1)=[{"\0", 1}], msg_controllen=32,
{cmsg_len=28, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS{pid=2145,
uid=1002, gid=1001}}, msg_flags=0}, MSG_NOSIGNAL) = 1
poll([{fd=16, events=POLLOUT}], 1, 4294967295) = 1 ([{fd=16, revents=POLLOUT}])
sendto(16, "AUTH\r\n", 6, MSG_NOSIGNAL, NULL, 0) = 6
poll([{fd=16, events=POLLIN}], 1, 4294967295) = 1 ([{fd=16, revents=POLLIN}])
recvfrom(16, "REJECTED EXTERNAL DBUS_COOKIE_SH"..., 4096, 0, NULL, NULL) = 36
poll([{fd=16, events=POLLOUT}], 1, 4294967295) = 1 ([{fd=16, revents=POLLOUT}])
sendto(16, "AUTH EXTERNAL 31303032\r\n", 24, MSG_NOSIGNAL, NULL, 0) = 24
poll([{fd=16, events=POLLIN}], 1, 4294967295) = 1 ([{fd=16, revents=POLLIN}])
recvfrom(16, "OK 58aca1728def42065ba779a253ac1"..., 4096, 0, NULL, NULL) = 37
poll([{fd=16, events=POLLOUT}], 1, 4294967295) = 1 ([{fd=16, revents=POLLOUT}])
sendto(16, "NEGOTIATE_UNIX_FD\r\n", 19, MSG_NOSIGNAL, NULL, 0) = 19
poll([{fd=16, events=POLLIN}], 1, 4294967295) = 1 ([{fd=16, revents=POLLIN}])
recvfrom(16, "AGREE_UNIX_FD\r\n", 4096, 0, NULL, NULL) = 15
poll([{fd=16, events=POLLOUT}], 1, 4294967295) = 1 ([{fd=16, revents=POLLOUT}])
sendto(16, "BEGIN\r\n", 7, MSG_NOSIGNAL, NULL, 0) = 7
write(8, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x1f38e80, FUTEX_WAKE_PRIVATE, 1) = 1
eventfd2(0, O_NONBLOCK|O_CLOEXEC)       = 17
write(17, "\1\0\0\0\0\0\0\0", 8)        = 8
poll([{fd=17, events=POLLIN}], 1, 0)    = 1 ([{fd=17, revents=POLLIN}])
write(17, "\1\0\0\0\0\0\0\0", 8)        = 8
close(17)                               = 0
eventfd2(0, O_NONBLOCK|O_CLOEXEC)       = 17
write(17, "\1\0\0\0\0\0\0\0", 8)        = 8
write(8, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x1fc63d0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x2431c90, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x2431310, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=17, events=POLLIN}], 1, 4294967295) = 1 ([{fd=17, revents=POLLIN}])
poll([{fd=17, events=POLLIN}], 1, 4294967295) = 1 ([{fd=17, revents=POLLIN}])
read(17, "\1\0\0\0\0\0\0\0", 16)        = 8
poll([{fd=17, events=POLLIN}], 1, 4294967295) = 1 ([{fd=17, revents=POLLIN}])
read(17, "\1\0\0\0\0\0\0\0", 16)        = 8
write(17, "\1\0\0\0\0\0\0\0", 8)        = 8
close(17)                               = 0
brk(0x24a0000)                          = 0x24a0000
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK,
-1, 0) = 0x7fdb5962f000
mprotect(0x7fdb5962f000, 4096, PROT_NONE) = 0
clone(child_stack=0x7fdb59e2ecf0,
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID,
parent_tidptr=0x7fdb59e2f9d0, tls=0x7fdb59e2f700, child_tidptr=0x7fdb59e2f9d0)
= 2158
futex(0x1fc62a0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x1f2e040, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1f38e80, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x1f38e80, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x1f38e80, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x1f38e80, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x1f38e80, FUTEX_WAKE_PRIVATE, 1) = 0
open("/home/mac/.config/user-dirs.dirs", O_RDONLY) = 19
fstat(19, {st_mode=S_IFREG|0600, st_size=612, ...}) = 0
read(19, "# This file is written by xdg-us"..., 612) = 612
close(19)                               = 0
lstat("/home/mac/Documents", {st_mode=S_IFLNK|0777, st_size=30, ...}) = 0
stat("/home/mac/Documents",




-- System Information:
Debian Release: jessie/sid
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500,
'testing'), (500, 'stable'), (10, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.14-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages network-manager-gnome depends on:
ii  dbus-x11                                     1.8.4-1
ii  dconf-gsettings-backend [gsettings-backend]  0.20.0-2
ii  gconf-service                                3.2.6-2
ii  gnome-icon-theme                             3.12.0-1
ii  libatk1.0-0                                  2.12.0-1
ii  libc6                                        2.19-1
ii  libcairo-gobject2                            1.12.16-2
ii  libcairo2                                    1.12.16-2
ii  libdbus-1-3                                  1.8.4-1
ii  libdbus-glib-1-2                             0.102-1
ii  libgconf-2-4                                 3.2.6-2
ii  libgdk-pixbuf2.0-0                           2.30.7-1
ii  libglib2.0-0                                 2.40.0-3
ii  libgnome-bluetooth11                         3.8.1-3
ii  libgnome-keyring0                            3.4.1-1
ii  libgtk-3-0                                   3.12.2-1+b1
ii  libmm-glib0                                  1.0.0-5
ii  libnm-glib-vpn1                              0.9.8.10-3
ii  libnm-glib4                                  0.9.8.10-3
ii  libnm-gtk0                                   0.9.8.10-1
ii  libnm-util2                                  0.9.8.10-3
ii  libnotify4                                   0.7.6-2
ii  libpango-1.0-0                               1.36.3-1
ii  libpangocairo-1.0-0                          1.36.3-1
ii  libsecret-1-0                                0.18-1
ii  network-manager                              0.9.8.10-3
ii  policykit-1-gnome                            0.105-2

Versions of packages network-manager-gnome recommends:
ii  dunst [notification-daemon]     1.0.0-2
ii  gnome-bluetooth                 3.8.1-3
ii  gnome-keyring                   3.8.2-2+b1
ii  iso-codes                       3.54-1
ii  mobile-broadband-provider-info  20140317-1
ii  notification-daemon             0.7.6-1

Versions of packages network-manager-gnome suggests:
pn  network-manager-openconnect-gnome  <none>
pn  network-manager-openvpn-gnome      <none>
pn  network-manager-pptp-gnome         <none>
pn  network-manager-vpnc-gnome         <none>
-------------- next part --------------
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
# 
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/"
XDG_DOCUMENTS_DIR="$HOME/"
XDG_MUSIC_DIR="$HOME/"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"


More information about the Pkg-utopia-maintainers mailing list