João Pedro Malhado, le dim. 15 déc. 2024 16:53:33 +0000, a ecrit:
> > >   64<--66(pid773)->dir_lookup ("runit/supervise/cron/ok" 10 0) = 
> > > 0x40000006 (No such device or address) 
> > 
> > It tries to open it, but apparently no process is actually listening on
> > it.
> > 
> > Maybe try without /run being a tmpfs: in
> > /usr/lib/init/mount-functions.sh in mount_run put an exit 0 just after
> > read_fstab.
> 
> Changing /run to make it part of the root ext2 file system does not change the
> outcome (attached rpctrace).

>   43<--65(pid676)->dir_lookup ("supervise/ok" 10 0) = 0 3 
> "/run/runit/supervise/cron/ok"  (null)
>   27<--44(pid676)->dir_lookup ("run/runit/supervise/cron/ok" 10 0) = 
> 0x40000006 (No such device or address) 

So it really looks like somehow your daemon is not actually listening on
that pipe.

You can check with portinfo, see for instance:

$ mkfifo /tmp/foo
$ cat /tmp/foo

and in another term,

$ cat > /tmp/foo

and in another term

$ ls -li /tmp/foo
48202 prw-rw-r-- 1 buildd buildd 0 Dec 15 17:01 /tmp/foo
$ portinfo -v 27689
[...]
12: send fd(0) file(READ|WRITE) io(48202,27690) (refs: 1)
[...]
$ portinfo -v 28319
[...]
8: send fd(1) file(READ|WRITE) io(48202,27690) (refs: 1)
[...]

We see that the first cat (pid 27689) is reading from the pipe (48202)
while the second cat (pid 28319) is writing to the pipe.

You can check with this kind of command whether your daemon is really
reading from that pipe.

Samuel

Reply via email to