Diego Nieto Cid, le mer. 03 sept. 2025 00:45:41 +0100, a ecrit:
> On Mon, Sep 01, 2025 at 12:18:51AM +0200, Samuel Thibault wrote:
> > 
> > I'm thinking that probably the __vm_set_size_limit call, since it is
> > directed to the host port, does not actually go through rpctrace
> 
> Ok
> 
> > Do you actually see the RPC call?
> 
> No, there's no entry for the vm_set_size_limit in the rpctrace
> output when I use the setrlimit function.

So it's getting to the kernel directly, thus no surprise that it's
confused.

Does the proc_getprivports call show up?

> But, with the atttached program (which calls vm_set_size_limit directly)
> it is shown correctly in rpctrace:
> 
>     ...
>     38<--44(pid3837)->proc_getprivports_request () = 0    60<--55(pid3837)    
> 31<--62(pid3837) 
>     task9(pid3837)->mach_port_mod_refs (pn{ 20} 0 1) = 0
>     49<--25(pid3837)->io_write_request ("task=0x1; host=0x14\n" -1)task=0x1; 
> host=0x14
>      = 0 20
>     60<--55(pid3837)->vm_set_size_limit ( task9(pid3837) 2147483648 
> 2147483648) = 0

Then that's surprising as well :)

If the setrlimit call doesn't show proc_getprivports in rpctrace, it'd
mean that the process is getting the host port another way, thus no
surprise that rpctrace can't wrap it to make the call work.

>     task9(pid3837)->mach_port_deallocate (pn{ 20}) = 0
>     38<--44(pid3837)->proc_mark_exit_request (0 0) = 0
>     task9(pid3837)->task_terminate () = 0
> 
> That lead me to suspect of the GLIBC implementation (or the installation).
> Just in case, I will try again after addressing the review of the gnumach 
> part.

Reply via email to