[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: