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.