Thank you for replying, I am new to the system so any direction means a lot. I've tracked down uvm_km_alloc failed to PaX mprotect restrictions for underlying mmap. t_modautoload passes as it has +a +m paxctl flags. Now I am hitting following problem: any module which calls functions from modcmd segfaults. For instance des.kmod wihtout any calls from modcmd loads fine, while examples/hello.kmod crashes. Here is back trace. gdb doesn't see symbols for loaded module. --------------------------------./rump_server -s -v -m /stand/amd64/10.99.14/modules/examples/hello/hello.kmod unix://sock
(gdb) bt #0 0x00000000680d696c in ?? () #1 0x000000007fffe039 in ?? () #2 0x00007f7fffebb300 in ?? ()#3 0x0000796168125c87 in module_do_load (name=0x79616814f602 <mutex_exit+108> "\220H\211\354]\303UH\211\345H\203\354\bH\211}\370\270\001", isdep=127, flags=-149928913, props=0x796168151d54 <uvm_km_protect>, modp=0x7f7ff7109a55 <_rtld_shared_exit+51>, modclass=31073, autoload=152) at /home/nemanja/source/src/lib/librump/../../sys/rump/../kern/kern_module.c:1420
Backtrace stopped: frame did not save the PC ...1417 module_load_evcnt(mod); /* Attach any static evcnt needed */
(gdb) bt#0 module_do_load (name=0x7a53c3b525c0 "/module.mod", isdep=false, flags=0, props=0x0, modp=0x0, modclass=MODULE_CLASS_ANY, autoload=false) at /home/nemanja/source/src/lib/librump/../../sys/rump/../kern/kern_module.c:1417 #1 0x00007a53c42b3187 in module_load (filename=0x7a53c3b525c0 "/module.mod", flags=0, props=0x0, modclass=MODULE_CLASS_ANY) at /home/nemanja/source/src/lib/librump/../../sys/rump/../kern/kern_module.c:713 #2 0x00007a53c4228146 in handle_modctl_load (ml_filename=0xf1fb73 "/module.mod", ml_flags=0, ml_props=0x0, ml_propslen=0) at /home/nemanja/source/src/lib/librump/../../sys/rump/../kern/sys_module.c:99 #3 0x00007a53c42288ec in sys_modctl (l=0x7a53c3b52180, uap=0x7f7fff7bb878, retval=0x7f7fff7bb868) at /home/nemanja/source/src/lib/librump/../../sys/rump/../kern/sys_module.c:285 #4 0x00007a53c42e8f88 in sy_call (sy=0x7a53c433c750 <rumpns_sysent+5904>, l=0x7a53c3b52180, uap=0x7f7fff7bb878, rval=0x7f7fff7bb868) at /home/nemanja/source/src/lib/librump/../../sys/rump/../sys/syscallvar.h:65 #5 0x00007a53c42e9057 in sy_invoke (sy=0x7a53c433c750 <rumpns_sysent+5904>, l=0x7a53c3b52180, uap=0x7f7fff7bb878, rval=0x7f7fff7bb868, code=246) at /home/nemanja/source/src/lib/librump/../../sys/rump/../sys/syscallvar.h:94 #6 0x00007a53c42ea601 in rump_syscall (num=246, data=0x7f7fff7bb878, dlen=16, retval=0x7f7fff7bb868) at /home/nemanja/source/src/lib/librump/../../sys/rump/librump/rumpkern/rump.c:782 #7 0x00007a53c42d8a08 in rump___sysimpl_modctl (cmd=0, arg=0x7f7fff7bb920) at /home/nemanja/source/src/lib/librump/../../sys/rump/librump/rumpkern/rump_syscalls.c:2716 #8 0x0000000000f1e5b4 in main (argc=<optimized out>, argv=<optimized out>) at /home/nemanja/source/src/usr.bin/rump_server/../rump_allserver/rump_allserver.c:420
-------------------------------- On 7/10/25 23:43, Christoph Badura wrote:
On Thu, Jul 10, 2025 at 06:27:59PM +0200, Nemanja Simonovic wrote:I tried asking this on users list but got no reply.I saw it but didn't have time to reply yet.When trying to load modules to rump_server I am getting kernel "panic: uvm_km_alloc failed". Both with -m parameter and with rump.modload.That message comes from: https://nxr.netbsd.org/xref/src/sys/rump/librump/rumpkern/vm.c#888I not sure if I am doing something wrong or hitting a bug?We do have 3 ATF tests that deal with rump module loading: src/tests/rump/modautoload/t_modautoload.c src/tests/rump/rumpkern/t_modcmd.c src/tests/rump/rumpkern/t_modlinkset.c These tests pass OK: https://releng.netbsd.org/b5reports/amd64/2025/2025.07.10.11.44.12/test.log But the use neither -m nor rump.modload. Could be the implementation for -m or rump.modload has bitrotted. I don't know. Could be you are doing something wrong. Have you tried debugging this with gdb? Set a break point in rumpkern/vmc line 878, the call to rumpuser_anonmap(), and step through that function and see where it fails. --chris