Re: Bug#1009712: sv: fails to control the service on Hurd
Hello Samuel,
On Sun, Jul 03, 2022 at 10:09:04PM +0200, Samuel Thibault wrote:
> João Pedro Malhado, le dim. 03 juil. 2022 21:41:05 +0200, a ecrit:
> > > This looks strange and I cannot interpret what is going on.
>
> This is not strange, see the values of E* macros
I'm glad that you don't find it strange, and that you can look beyond what I can
see :)
> ENOSYS = 0x4000004e, /* Function not implemented */
>
> So that's it.
>
> Getting ENOSYS is odd, though, since open64 is defined in
> glibc/sysdeps/mach/hurd/open.c
>
> It's probably useful to debug step by step to see what function is
> actually getting called.
Below is a step by step debug trace with libc symbols. At the last step gdb (or
the whole machine?) locks up. I would say strange, but maybe I shouldn't ;)
Best regards,
João
Breakpoint 1 at 0x17b0: control. (2 locations)
Starting program: /usr/bin/sv start cron
[New Thread 763.5]
Thread 4 hit Breakpoint 1, control (a=0x803cbe0 "u")
at ./runit-2.1.2/src/sv.c:253
253 ./runit-2.1.2/src/sv.c: No such file or directory.
svstatus_get () at ./runit-2.1.2/src/sv.c:94
94 in ./runit-2.1.2/src/sv.c
open_write (fn=0x803caa0 "supervise/ok") at ./runit-2.1.2/src/open_write.c:8
8 ./runit-2.1.2/src/open_write.c: No such file or directory.
open64 (__oflag=10, __path=0x803caa0 "supervise/ok")
at /usr/include/i386-gnu/bits/fcntl2.h:53
53 return __open_alias (__path, __oflag, __va_arg_pack ());
__GI___libc_open (file=0x803caa0 "supervise/ok", oflag=10)
at ../sysdeps/mach/hurd/open.c:35
35 ../sysdeps/mach/hurd/open.c: No such file or directory.
__x86.get_pc_thunk.bx () at ../sysdeps/i386/i686/multiarch/memset-sse2.S:108
108 ../sysdeps/i386/i686/multiarch/memset-sse2.S: No such file or directory.
__GI___libc_open (file=0x803caa0 "supervise/ok", oflag=10)
at ../sysdeps/mach/hurd/open.c:45
45 ../sysdeps/mach/hurd/open.c: No such file or directory.
46 in ../sysdeps/mach/hurd/open.c
__file_name_lookup (file_name=0x803caa0 "supervise/ok", flags=10, mode=0)
at hurdlookup.c:222
222 hurdlookup.c: No such file or directory.
__x86.get_pc_thunk.bx () at ../sysdeps/i386/i686/multiarch/memset-sse2.S:108
108 ../sysdeps/i386/i686/multiarch/memset-sse2.S: No such file or directory.
__file_name_lookup (file_name=0x803caa0 "supervise/ok", flags=10, mode=0)
at hurdlookup.c:226
226 hurdlookup.c: No such file or directory.
0x0106cbc7 in __hurd_file_name_lookup (
use_init_port=0x1064dc0 <_hurd_ports_use>,
get_dtable_port=0x108cbe0 <__getdport>, lookup=0x0,
file_name=0x803caa0 "supervise/ok", flags=10, mode=0, result=0x1039cd8)
at hurdlookup.c:50
50 in hurdlookup.c
62 in hurdlookup.c
63 in hurdlookup.c
65 in hurdlookup.c
68 in hurdlookup.c
69 in hurdlookup.c
72 in hurdlookup.c
75 in hurdlookup.c
93 in hurdlookup.c
_hurd_ports_use (which=0, operate=0x1039c78) at hurdinit.c:45
45 hurdinit.c: No such file or directory.
__x86.get_pc_thunk.bx () at ../sysdeps/i386/i686/multiarch/memset-sse2.S:108
108 ../sysdeps/i386/i686/multiarch/memset-sse2.S: No such file or directory.
_hurd_ports_use (which=0, operate=0x1039c78) at hurdinit.c:52
52 hurdinit.c: No such file or directory.
_hurd_port_get (link=0x1039804, port=0x1327f88) at ../hurd/hurd/port.h:121
121 ../hurd/hurd/port.h: No such file or directory.
_hurd_critical_section_lock () at ../hurd/hurd/signal.h:213
213 ../hurd/hurd/signal.h: No such file or directory.
218 in ../hurd/hurd/signal.h
219 in ../hurd/hurd/signal.h
232 in ../hurd/hurd/signal.h
__GI___spin_try_lock (__lock=0x132a808) at ../mach/lock-intern.h:82
82 ../mach/lock-intern.h: No such file or directory.
_hurd_port_get (link=0x1039804, port=0x1327f88) at ../hurd/hurd/port.h:122
122 ../hurd/hurd/port.h: No such file or directory.
__GI___spin_lock (__lock=0x1327f88) at ../mach/lock-intern.h:60
60 ../mach/lock-intern.h: No such file or directory.
_hurd_port_get (link=0x1039804, port=0x1327f88) at ../hurd/hurd/port.h:123
123 ../hurd/hurd/port.h: No such file or directory.
__GI__hurd_port_locked_get (link=0x1039804, port=0x1327f88)
at ../hurd/hurd/port.h:95
95 in ../hurd/hurd/port.h
96 in ../hurd/hurd/port.h
98 in ../hurd/hurd/port.h
99 in ../hurd/hurd/port.h
100 in ../hurd/hurd/port.h
_hurd_userlink_link (link=0x1039804, chainp=0x1327f8c)
at ../hurd/hurd/userlink.h:95
95 ../hurd/hurd/userlink.h: No such file or directory.
96 in ../hurd/hurd/userlink.h
98 in ../hurd/hurd/userlink.h
99 in ../hurd/hurd/userlink.h
102 in ../hurd/hurd/userlink.h
__GI__hurd_self_sigstate () at ../hurd/hurd/signal.h:168
168 ../hurd/hurd/signal.h: No such file or directory.
174 in ../hurd/hurd/signal.h
103 ../hurd/hurd/userlink.h: No such file or directory.
104 in ../hurd/hurd/userlink.h
106 in ../hurd/hurd/userlink.h
__GI__hurd_port_locked_get (link=0x1039804, port=0x1327f88)
at ../hurd/hurd/port.h:102
102 ../hurd/hurd/port.h: No such file or directory.
__GI___spin_unlock (__lock=0x1327f88) at ../mach/lock-intern.h:71
71 ../mach/lock-intern.h: No such file or directory.
_hurd_port_get (link=0x1039804, port=0x1327f88) at ../hurd/hurd/port.h:124
124 ../hurd/hurd/port.h: No such file or directory.
_hurd_critical_section_unlock (our_lock=0x132a808)
at ../hurd/hurd/signal.h:251
251 ../hurd/hurd/signal.h: No such file or directory.
259 in ../hurd/hurd/signal.h
__GI__hurd_sigstate_lock (ss=0x132a808) at hurdsig.c:192
192 hurdsig.c: No such file or directory.
__x86.get_pc_thunk.bx () at ../sysdeps/i386/i686/multiarch/memset-sse2.S:108
108 ../sysdeps/i386/i686/multiarch/memset-sse2.S: No such file or directory.
sigstate_is_global_rcv (ss=0x132a808) at hurdsig.c:182
182 hurdsig.c: No such file or directory.
__GI__hurd_sigstate_lock (ss=0x132a808) at hurdsig.c:193
193 in hurdsig.c
__GI___spin_lock (__lock=<optimized out>) at hurdsig.c:193
193 in hurdsig.c
__GI___spin_lock (__lock=0x132a00c) at ../mach/lock-intern.h:60
60 ../mach/lock-intern.h: No such file or directory.
Reply to: