unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#33270: [SHEPHERD] Wrong error message when missing priviledge
@ 2018-11-05  9:55 swedebugia
  2018-11-05 19:48 ` Ricardo Wurmus
  0 siblings, 1 reply; 5+ messages in thread
From: swedebugia @ 2018-11-05  9:55 UTC (permalink / raw)
  To: 33270

Hi

sdb@komputilo ~$ herd status
error: connect: /run/user/30011/shepherd/socket: No such file or directory

sdb@komputilo ~$ sudo herd status
Password:
Started:
  + console-font-tty1
  + console-font-tty2
  + console-font-tty3
  + console-font-tty4
...


-- 
Cheers
Swedebugia

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#33270: [SHEPHERD] Wrong error message when missing priviledge
  2018-11-05  9:55 bug#33270: [SHEPHERD] Wrong error message when missing priviledge swedebugia
@ 2018-11-05 19:48 ` Ricardo Wurmus
  2018-11-05 21:57   ` Gábor Boskovits
  0 siblings, 1 reply; 5+ messages in thread
From: Ricardo Wurmus @ 2018-11-05 19:48 UTC (permalink / raw)
  To: swedebugia; +Cc: 33270


swedebugia <swedebugia@riseup.net> writes:

> sdb@komputilo ~$ herd status
> error: connect: /run/user/30011/shepherd/socket: No such file or directory

It is possible to run shepherd as a user service manager.  This means
that we can’t generally assume that the user meant to communicate with
the init instance.

The error could be that either the user’s instance is not running or
that the user meant to communicate with the init system.  It is not
obvious to me how to distinguish these two errors.

--
Ricardo

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#33270: [SHEPHERD] Wrong error message when missing priviledge
  2018-11-05 19:48 ` Ricardo Wurmus
@ 2018-11-05 21:57   ` Gábor Boskovits
  2018-11-05 22:49     ` Danny Milosavljevic
  0 siblings, 1 reply; 5+ messages in thread
From: Gábor Boskovits @ 2018-11-05 21:57 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 33270

Hello Ricardo,

Ricardo Wurmus <rekado@elephly.net> ezt írta (időpont: 2018. nov. 5., H, 20:50):
>
>
> swedebugia <swedebugia@riseup.net> writes:
>
> > sdb@komputilo ~$ herd status
> > error: connect: /run/user/30011/shepherd/socket: No such file or directory
>

Actually this seems to be a message that can be translated to
'shepherd user instance is not running' am I correct?
I guess that way it is explicit that the command given would like to
talk to a shepherd user instance. Am I missing something here?

> It is possible to run shepherd as a user service manager.  This means
> that we can’t generally assume that the user meant to communicate with
> the init instance.
>
> The error could be that either the user’s instance is not running or
> that the user meant to communicate with the init system.  It is not
> obvious to me how to distinguish these two errors.
>
> --
> Ricardo
>
>
>
>

Best regards,
g_bor

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#33270: [SHEPHERD] Wrong error message when missing priviledge
  2018-11-05 21:57   ` Gábor Boskovits
@ 2018-11-05 22:49     ` Danny Milosavljevic
  2018-11-06  7:55       ` Gábor Boskovits
  0 siblings, 1 reply; 5+ messages in thread
From: Danny Milosavljevic @ 2018-11-05 22:49 UTC (permalink / raw)
  To: Gábor Boskovits; +Cc: 33270

[-- Attachment #1: Type: text/plain, Size: 1952 bytes --]

Hi Gabor,

On Mon, 5 Nov 2018 22:57:15 +0100
Gábor Boskovits <boskovits@gmail.com> wrote:
> > > sdb@komputilo ~$ herd status
> > > error: connect: /run/user/30011/shepherd/socket: No such file or directory  
> 
> Actually this seems to be a message that can be translated to
> 'shepherd user instance is not running' am I correct?

Yes, that's what it means.  For a UNIX error message, what it's saying
is actually quite close to what it really means. :)

I would suggest to keep the file name in the error message anyway,
but no harm in adding some extra information (it will slightly complicate
the socket discovery code, but that's okay.  Also, right now profiles can
actually set up XDG_RUNTIME_DIR to point somewhere else and make herd connect
to the profile's shepherd's socket - which is nice, but is not really a *user"
shepherd then anymore).

Also, we should suppress the stack trace for this specific error since it
really doesn't add anything useful.

> > The error could be that either the user’s instance is not running or
> > that the user meant to communicate with the init system.  It is not
> > obvious to me how to distinguish these two errors.

I don't think it's possible to distinguish these.

It would be possible to make herd fallback to the system shepherd if it can't
find the stuff in the user shepherd, but I'm not sure I'd like it.

Better, we could add "--user" and "--system" options to force herd to connect to
some specific shepherd regardless of user, at the cost of hard-coding that there
are only these two (which is not actually the case - shepherd is meant to be
used in a modular way and doesn't care one way or another how often and where
exactly you run it).

It's kinda weird to have different endpoints depending on whether one is root or
not, but as a default it has precedent in both dbus and systemd.

I think people can get used to it (we should document it).

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#33270: [SHEPHERD] Wrong error message when missing priviledge
  2018-11-05 22:49     ` Danny Milosavljevic
@ 2018-11-06  7:55       ` Gábor Boskovits
  0 siblings, 0 replies; 5+ messages in thread
From: Gábor Boskovits @ 2018-11-06  7:55 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 33270

Hello Danny,

Danny Milosavljevic <dannym@scratchpost.org> ezt írta (időpont: 2018.
nov. 5., H, 23:49):
>
> Hi Gabor,
>
> On Mon, 5 Nov 2018 22:57:15 +0100
> Gábor Boskovits <boskovits@gmail.com> wrote:
> > > > sdb@komputilo ~$ herd status
> > > > error: connect: /run/user/30011/shepherd/socket: No such file or directory
> >
> > Actually this seems to be a message that can be translated to
> > 'shepherd user instance is not running' am I correct?
>
> Yes, that's what it means.  For a UNIX error message, what it's saying
> is actually quite close to what it really means. :)
>
> I would suggest to keep the file name in the error message anyway,
> but no harm in adding some extra information (it will slightly complicate
> the socket discovery code, but that's okay.  Also, right now profiles can
> actually set up XDG_RUNTIME_DIR to point somewhere else and make herd connect
> to the profile's shepherd's socket - which is nice, but is not really a *user"
> shepherd then anymore).
>
> Also, we should suppress the stack trace for this specific error since it
> really doesn't add anything useful.
>
> > > The error could be that either the user’s instance is not running or
> > > that the user meant to communicate with the init system.  It is not
> > > obvious to me how to distinguish these two errors.
>
> I don't think it's possible to distinguish these.
>
> It would be possible to make herd fallback to the system shepherd if it can't
> find the stuff in the user shepherd, but I'm not sure I'd like it.

I would not like this either.

>
> Better, we could add "--user" and "--system" options to force herd to connect to
> some specific shepherd regardless of user, at the cost of hard-coding that there
> are only these two (which is not actually the case - shepherd is meant to be
> used in a modular way and doesn't care one way or another how often and where
> exactly you run it).

Could we instead just give a hint like, "if you intended to communicate with the
system shepherd, please specify -s system_sepherd_socket_name_here on you
command"?

>
> It's kinda weird to have different endpoints depending on whether one is root or
> not, but as a default it has precedent in both dbus and systemd.
>
> I think people can get used to it (we should document it).

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-11-06  7:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-05  9:55 bug#33270: [SHEPHERD] Wrong error message when missing priviledge swedebugia
2018-11-05 19:48 ` Ricardo Wurmus
2018-11-05 21:57   ` Gábor Boskovits
2018-11-05 22:49     ` Danny Milosavljevic
2018-11-06  7:55       ` Gábor Boskovits

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).