Bug#730177: I can't really understand whats happening.
Simon McVittie
smcv at debian.org
Fri Jan 3 11:05:48 UTC 2014
On 02/01/14 16:29, John Hughes wrote:
> The "Detected" message seems to be printed in response to
> ["/usr/bin/dbus-launch", "--exit-with-session",
> "/usr/bin/gnome-session", "--autostart",
> "/usr/share/gdm/greeter/autostart", "--debug"] receiving this message:
>
> recvmsg(8, {msg_name(0)=NULL,
> msg_iov(1)=[{"l\4\1\1-\0\0\0f\0\0\0\211\0\0\0\1\1o\0\25\0\0\0/org/freedesktop/DBus\0\0\0\2\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\3\1s\0\20\0\0\0NameOwnerChanged\0\0\0\0\0\0\0\0\7\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\10\1g\0\3sss\0\0\0\0\0\0\0\0\25\0\0\0org.gnome.ScreenSaver\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0:1.7\0"...,
> 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC)
> = 205
That'll actually be the /usr/bin/gnome-session process that was exec'd
by dbus-launch.
> This message was sent by a child of gdm3:
>
> sendmsg(12, {msg_name(0)=NULL,
> msg_iov(2)=[{"l\4\1\1-\0\0\0f\0\0\0\211\0\0\0\1\1o\0\25\0\0\0/org/freedesktop/DBus\0\0\0\2\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\3\1s\0\20\0\0\0NameOwnerChanged\0\0\0\0\0\0\0\0\7\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\10\1g\0\3sss\0\0\0\0\0\0\0\0",
> 160},
> {"\25\0\0\0org.gnome.ScreenSaver\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0:1.7\0",
> 45}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 205
That'll be the dbus-daemon that was exec'd by a child of dbus-launch, I
think.
> I've tried debugging the problem using fuse, and can replicate it by
> simply making /usr/local a fuse filesystem that returns EACCES for all
> operations.
>
> Any ideas about how to go forwards?
If you have a strace log, looking for EACCES in that log might be
interesting. The correct pattern for a path search is something like this:
open("/usr/local/foo/bar", ...) = -1 EACCES (Permission denied)
open("/usr/foo/bar", ...) = 42
or
open("/usr/local/share/a/b", ...) = -1 EACCES (Permission denied)
open("/usr/share/a/b", ...) = -1 ENOENT (No such file or directory)
open("/home/me/.local/share/a/b", ...) = -1 ENOENT (No such file or
directory)
and I think your failure mode is a pattern more like this:
open("/usr/local/share/a/b", ...) = -1 EACCES (Permission denied)
[ no attempt to fall back to /usr ]
I don't know which component to look for this failure mode in - perhaps
gnome-session? I had a quick look in dbus-daemon and it doesn't seem to
have this bug, although I might have missed something.
Could you share the source code of your FUSE filesystem, please?
Thanks,
S
More information about the pkg-gnome-maintainers
mailing list