Hello Samuel,

Many thanks for looking into this.

On Sun, Dec 15, 2024 at 11:56:49AM +0100, Samuel Thibault wrote:
> 
> >   27<--44(pid773)->dir_lookup ("run/runit/supervise/cron/ok" 10 0) = 0 1 
> > "runit/supervise/cron/ok"    64<--66(pid773)
> 
> It then tries to open it, but gets redirected to relative path
> runit/supervise/cron/ok (I guess that on your machine /run is a
> tmpfs mount?)

Yes that was the case indeed.

> 
> >   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).
Anything else I could usefully try?

Best regards,
João
task6(pid676)->vm_map (0 4096 0 0  (null) 0 1 0 0 1) = 0x3 ((os/kern) no space 
available) 
task6(pid676)->task_get_special_port (4) = 0    7<--1(pid676)
  7<--1(pid676)->exec_startup_get_info () = 0 8576 4148 288 270336 16777216 0 
"sv\0start\0cron\0" 
"SHELL=/bin/bash\0LD_ORIGIN_PATH=/usr/bin\0NAME=root\0PWD=/root\0LOGNAME=root\0HOME=/r"
 {  25<--8(pid676)   24<--38(pid676)   26<--41(pid676)   16<--42(pid676)} {  
30<--43(pid676)   27<--44(pid676)   23<--45(pid676)   39<--46(pid676)   
12<--47(pid676) (null)} {18 0 0 0 0}
task6(pid676)->mach_port_deallocate (pn{  4}) = 0 
  27<--44(pid676)->dir_lookup ("etc/ld.so.cache" 1 0) = 0 1 ""    7<--48(pid676)
  7<--48(pid676)->io_stat_request () = 0 {23 7 0 16391 0 1734216449 0 33188 1 0 
0 32506 0 1734211782 0 1734211782 0 1734211782 0 8192 64 0 0 0 0 0 0 0 0 0 0 0}
  7<--48(pid676)->io_map_request () = 0    49<--1(pid676)  (null)
task6(pid676)->vm_map (0 32506 0 1    49<--1(pid676) 0 32 1 7 1) = 0 17068032
task6(pid676)->mach_port_deallocate (pn{ 14}) = 0 
task6(pid676)->mach_port_deallocate (pn{  4}) = 0 
  27<--44(pid676)->dir_lookup ("lib/i386-gnu/libc.so.0.3" 1 0) = 0 1 ""    
7<--50(pid676)
  7<--50(pid676)->io_read_request (-1 512) = 0 
"\x7fELF\x01\x01\x01\x03\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0P6\x05\04\0\0\08\x1c'\0\0\0\0\04\0
 \0\n\0(\0`\0_\0\x06\0\0\04\0\0\04\0\0\04\0\0\0@\x01\0\0@\x01\0\0\x04\0\0\0"
  7<--50(pid676)->io_stat_request () = 0 {23 7 0 212599 0 1733874384 0 33261 1 
0 0 2566968 0 1734211504 0 1732370223 0 1733862078 0 8192 5024 0 0 0 0 0 0 0 0 
0 0 0}
task6(pid676)->vm_map (0 8192 0 1  (null) 0 0 3 7 1) = 0 17100800
  7<--50(pid676)->io_map_request () = 0    49<--48(pid676)  (null)
task6(pid676)->vm_map (0 2571636 0 1    49<--48(pid676) 0 32 5 7 1) = 0 17108992
task6(pid676)->mach_port_deallocate (pn{ 14}) = 0 
  7<--50(pid676)->io_map_request () = 0    49<--1(pid676)  (null)
task6(pid676)->vm_map (19648512 20480 0 0    49<--1(pid676) 2539520 32 3 7 1) = 
0x3 ((os/kern) no space available) 
task6(pid676)->vm_deallocate (19648512 20480) = 0 
task6(pid676)->vm_map (19648512 20480 0 0    49<--1(pid676) 2539520 32 3 7 1) = 
0 19648512
task6(pid676)->mach_port_deallocate (pn{ 14}) = 0 
task6(pid676)->vm_map (19668992 11636 0 0  (null) 0 0 3 7 1) = 0x3 ((os/kern) 
no space available) 
task6(pid676)->vm_deallocate (19668992 11636) = 0 
task6(pid676)->vm_map (19668992 11636 0 0  (null) 0 0 3 7 1) = 0 19668992
task6(pid676)->vm_protect (270336 16777216 0 7) = 0 
task6(pid676)->mach_port_deallocate (pn{  4}) = 0 
  27<--44(pid676)->dir_lookup ("lib/i386-gnu/libmachuser.so.1" 1 0) = 0 1 ""    
7<--48(pid676)
  7<--48(pid676)->io_read_request (-1 512) = 0 
"\x7fELF\x01\x01\x01\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0\0\0\0\04\0\0\0(Q\x01\0\0\0\0\04\0
 
\0\a\0(\0\x1a\0\x19\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe8B\x01\0\xe8B\x01\0\x05\0\0\0"
  7<--48(pid676)->io_stat_request () = 0 {23 7 0 212784 0 1733874394 0 33188 1 
0 0 87352 0 1734211504 0 1732370223 0 1733862078 0 8192 184 0 0 0 0 0 0 0 0 0 0 
0}
  7<--48(pid676)->io_map_request () = 0    49<--50(pid676)  (null)
task6(pid676)->vm_map (0 90124 0 1    49<--50(pid676) 0 32 5 7 1) = 0 19681280
task6(pid676)->mach_port_deallocate (pn{ 14}) = 0 
  7<--48(pid676)->io_map_request () = 0    49<--1(pid676)  (null)
task6(pid676)->vm_map (19767296 8192 0 0    49<--1(pid676) 81920 32 3 7 1) = 
0x3 ((os/kern) no space available) 
task6(pid676)->vm_deallocate (19767296 8192) = 0 
task6(pid676)->vm_map (19767296 8192 0 0    49<--1(pid676) 81920 32 3 7 1) = 0 
19767296
task6(pid676)->mach_port_deallocate (pn{ 14}) = 0 
task6(pid676)->mach_port_deallocate (pn{  4}) = 0 
  27<--44(pid676)->dir_lookup ("lib/i386-gnu/libhurduser.so.0.3" 1 0) = 0 1 ""  
  7<--50(pid676)
  7<--50(pid676)->io_read_request (-1 512) = 0 
"\x7fELF\x01\x01\x01\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0\0\0\0\04\0\0\0\xa4\x01\x03\0\0\0\0\04\0
 
\0\a\0(\0\x1a\0\x19\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb4\xfd\x02\0\xb4\xfd\x02\0\x05\0\0\0"
  7<--50(pid676)->io_stat_request () = 0 {23 7 0 212671 0 1733874390 0 33188 1 
0 0 198068 0 1734211504 0 1732370223 0 1733862078 0 8192 400 0 0 0 0 0 0 0 0 0 
0 0}
  7<--50(pid676)->io_map_request () = 0    49<--48(pid676)  (null)
task6(pid676)->vm_map (0 200840 0 1    49<--48(pid676) 0 32 5 7 1) = 0 19775488
task6(pid676)->mach_port_deallocate (pn{ 14}) = 0 
  7<--50(pid676)->io_map_request () = 0    49<--1(pid676)  (null)
task6(pid676)->vm_map (19972096 8192 0 0    49<--1(pid676) 192512 32 3 7 1) = 
0x3 ((os/kern) no space available) 
task6(pid676)->vm_deallocate (19972096 8192) = 0 
task6(pid676)->vm_map (19972096 8192 0 0    49<--1(pid676) 192512 32 3 7 1) = 0 
19972096
task6(pid676)->mach_port_deallocate (pn{ 14}) = 0 
task6(pid676)->mach_port_deallocate (pn{  4}) = 0 
thread4(pid676)->i386_set_gdt (-1 {113311743 30405125}) = 0 75
task6(pid676)->mach_port_deallocate (pn{  4}) = 0 
task6(pid676)->vm_protect (19648512 12288 0 1) = 0 
task6(pid676)->vm_protect (19767296 4096 0 1) = 0 
task6(pid676)->vm_protect (19972096 4096 0 1) = 0 
task6(pid676)->vm_protect (28672 4096 0 1) = 0 
task6(pid676)->vm_protect (253952 8192 0 1) = 0 
task6(pid676)->mach_port_mod_refs (pn{  3} 1 -1) = 0 
task6(pid676)->mach_port_deallocate (pn{  2}) = 0 
task6(pid676)->mach_port_deallocate (pn{  1}) = 0 
task6(pid676)->vm_map (536870912 134217728 0 0  (null) 0 0 0 7 1) = 0 536870912
task6(pid676)->vm_allocate (1 4096 1) = 0 19980288
task6(pid676)->task_set_special_port (4  (null)) = 0 
task6(pid676)->vm_allocate (4 4096 1) = 0 19984384
task6(pid676)->mach_port_mod_refs (pn{  3} 0 1) = 0 
task6(pid676)->mach_port_deallocate (pn{  3}) = 0 
  39<--46(pid676)->proc_getpids_request () = 0 676 675 0
  39<--46(pid676)->proc_getpgrp_request (676) = 0 675
task6(pid676)->vm_allocate (17302027 4096 1) = 0 19988480
task6(pid676)->vm_allocate (19988480 4096 1) = 0 19992576
  25<--8(pid676)->term_getctty () = 0    12<--47(pid676)
task6(pid676)->mach_port_deallocate (pn{ 13}) = 0 
  25<--8(pid676)->term_open_ctty (676 675) = 0    7<--48(pid676)
  24<--38(pid676)->term_getctty () = 0    12<--47(pid676)
task6(pid676)->mach_port_deallocate (pn{ 13}) = 0 
  24<--38(pid676)->term_open_ctty (676 675) = 0    49<--50(pid676)
  26<--41(pid676)->term_getctty () = 0    12<--47(pid676)
task6(pid676)->mach_port_deallocate (pn{ 13}) = 0 
  26<--41(pid676)->term_open_ctty (676 675) = 0    51<--1(pid676)
  16<--42(pid676)->term_getctty () = 0xfffffed1 ((ipc/mig) bad request message 
ID) 
task6(pid676)->vm_deallocate (17055744 16) = 0 
task6(pid676)->mach_port_allocate (1) = 0 pn{ 17}
task6(pid676)->mach_port_insert_right (pn{ 17}   53) = 0 
task6(pid676)->thread_create () = 0    54<--52(pid676)
task6(pid676)->vm_allocate (0 36864 1) = 0 19996672
task6(pid676)->vm_protect (19996672 4096 0 0) = 0 
thread54(pid676)->thread_set_state (1 {0 0 0 0 0 0 0 0 0 0 0 0 17424432 0 0 
20033536 0}) = 0 
  27<--44(pid676)->dir_lookup ("dev/urandom" 9 0) = 0 1 ""    56<--55(pid676)
  56<--55(pid676)->io_read_request (-1 4) = 0 "]\xfe\xc0b"
task6(pid676)->vm_protect (536870912 135168 0 3) = 0 
task6(pid676)->vm_protect (537006080 4096 0 3) = 0 
thread54(pid676)->thread_get_state (5 17) = 0 {31 31 31 31 0 0 0 0 0 0 0 0 
17424432 23 512 20033536 31}
thread54(pid676)->i386_set_gdt (75 {146866175 550498816}) = 0 75
thread54(pid676)->thread_set_state (5 {75 31 31 31 0 0 0 0 0 0 0 0 17424432 23 
512 20033536 31}) = 0 
thread54(pid676)->thread_resume () = 0 
task6(pid676)->vm_allocate (0 4096 1) ...2
task6(pid676)->task_set_special_port (3    53<--60(pid-1)) ...59
2... = 0 17055744
59... = 0 
task6(pid676)->mach_port_mod_refs (pn{ 18} 0 1) ...59
  39<--46(pid676)->proc_setmsgport_request (   53<--60(pid-1)) ...2
59... = 0 
2... = 0  (null)
task6(pid676)->mach_port_deallocate (pn{ 18}) ...2
  39<--46(pid676)->proc_set_arg_locations_request (17047076 17047092) ...59
2... = 0 
59... = 0 
task6(pid676)->mach_port_allocate (1) = 0 pn{ 21}
task6(pid676)->mach_port_insert_right (pn{ 21}    3) = 0 
task6(pid676)->mach_port_allocate (1) = 0 pn{ 22}
task6(pid676)->mach_port_set_qlimit (pn{ 22} 1) = 0 
  39<--46(pid676)->proc_handle_exceptions_request (   3<--62(pid-1)    
61<--63(pid-1) 5 {75 31 31 31 0 0 0 0 0 0 0 0 17295296 23 0 19667744 0}) = 0 
thread54(pid676)->thread_set_special_port (3   62) = 0 
task6(pid676)->mach_port_deallocate (pn{ 21}) = 0 
task6(pid676)->vm_deallocate (17063936 20) = 0 
task6(pid676)->vm_deallocate (17059840 24) = 0 
  30<--43(pid676)->dir_lookup ("." 9 0) = 0 1 ""    62<--57(pid676)
  62<--57(pid676)->term_getctty () = 0xfffffed1 ((ipc/mig) bad request message 
ID) 
  27<--44(pid676)->dir_lookup ("etc/service//." 0 0) = 0 3 
"/etc/runit/runsvdir/current/."  (null)
  27<--44(pid676)->dir_lookup ("etc/runit/runsvdir/current/." 0 0) = 0 1 ""    
64<--3(pid676)
task6(pid676)->mach_port_deallocate (pn{  9}) = 0 
  64<--3(pid676)->dir_lookup ("cron/." 0 0) = 0 3 "/etc/sv/cron/."  (null)
  27<--44(pid676)->dir_lookup ("etc/sv/cron/." 0 0) = 0 1 ""    43<--65(pid676)
task6(pid676)->mach_port_deallocate (pn{ 23}) = 0 
  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) 
  49<--50(pid676)->io_write_request ("fail: cron: runsv not running\n" -1) = 0 
30
  62<--57(pid676)->dir_lookup ("." 128 0) = 0 1 ""    64<--66(pid676)
task6(pid676)->mach_port_deallocate (pn{  9}) = 0 
  39<--46(pid676)->proc_mark_exit_request (256 0) = 0 
task6(pid676)->task_terminate () = 0 
Child 676 exited with 1

Reply via email to