IRC channel logs

2023-02-22.log

back to list of logs

<almuhs>damo22: i don't get boot hurd with rumpkernel in upstream+apic gnumach. Have I to enable some flag in configure to enable rumpkernel?
<almuhs>i added noide to GRUB gnumach line, but only works with the default gnumach kernel
<almuhs>ext2fs: part: 1 device: wd0: No such device or address
<almuhs>seems that this gnumach is not loading rumpkernel
<youpi>you can use --disable-ide to disable gnumach's ide driver
<almuhs>ok, i will try it
<almuhs>same
<almuhs>same error
<almuhs>i am adding this in multiboot line, after gnumach file
<youpi>it's a configure option
<youpi>kernel options never have --
<almuhs>oh, now understand
<almuhs>btw, the latest commit 990f549999310abc2a47ebc6f7782d2e05ae8c96 cause a compiing error
<almuhs>vm/memory_object_user.user.c:14:10: fatal error: mach/msg_type.h: No existe el fichero o el directorio
<almuhs> 14 | #include <mach/msg_type.h>
<almuhs> | ^~~~~~~~~~~~~~~~~
<youpi>upgrade your mig
<almuhs>ok. At moment, i compiled with the previous commit using --disable-ide, and now gnumach boots
<almuhs>now i'm trying with --enable-cpus=2 . There are not driver errors, but it's really slow. It seems stuck after load "auth" module. I go to wait a time to check if is an error or simply a very slow boot
<almuhs>no progress yet
<Pellescours>almuhs: did you applied debian patches? noide is not in master
<youpi>no need for it, you can just pass --disable-ide
<Pellescours>and do and do you have eumpdisk in your grub modules boit file ?
<almuhs>with --disable-ide rumpkernel works
<almuhs>now i'm trying the smp problems which damo22 told ours some days ago
<almuhs>with 2 or 4 cpus, the boot seems freeze after load auth module
<almuhs>with 8 cpus, the boot crash after load AP tables
<almuhs>i suspect that crash could be due to a fail in memory reserve
<almuhs>maybe there are not enough space for stacks?
<almuhs>this is the situation with 4 cpus https://pasteboard.co/EEj6jCyEDorf.png
<almuhs>and this with 8 cpus https://pasteboard.co/emen9BTBMMdv.png
<almuhs>very interesting the message "no more room in gnumach"
<almuhs>it indicates an address. we need to check what is in this address
<youpi>see the corresponding printf in the code: it's the map
<youpi>here, the kernel map
<almuhs>a pagging problem?
<youpi>no
<youpi>no more room in a map means lack of addressing space
<youpi>paging comes only after that
<almuhs>true
<almuhs>then my suspect are close to situation: there are not enough memory for anything
<almuhs>but, what is this anything which demands memory?
<youpi>you can put some assert there and use kdb to get a backtrace
<youpi>then you'll know what doesn't find room
<almuhs>yes
<almuhs>which is the max amount of memory which 32-bit gnumach supports?
<youpi>see the MAX macros
<youpi>and pmap_bootstrap, etc.
<almuhs>ok
<youpi>the page table, basically
<almuhs>yes
<almuhs>i go to lunch. I return in some time
<luckyluke>almuhs: maybe you can increase VM_KERNEL_MAP_SIZE
<almuhs>luckyluke: where is this?
<youpi>in the output of grep
<almuhs>...
<youpi>aka: git grep VM_KERNEL_MAP_SIZE will tell you
<almuhs>ok...
<youpi>truth is: I have no idea where it ise
<youpi>what I know is that git grep can tell me
<youpi>so I just never remember such things
<almuhs>i386/i386/vm_param.h:82:#define VM_KERNEL_MAP_SIZE (512 * 1024 * 1024)
<almuhs>512 MB?
<almuhs>it's strange to fill all this size
<youpi>see the line just below
<youpi>it's much less than that
<almuhs>#define VM_KERNEL_MAP_SIZE (152 * 1024 * 1024)
<almuhs>152 MB
<almuhs>it's big too. But i will try to increase to 256 MB
<almuhs>with 256 MB, same problem
<almuhs>increasing to 512MB now fails in a later step
<almuhs> https://pasteboard.co/DIH6GB9NmgnX.png
<almuhs>but, anyway, it could be a memory leak. It so strange to fill so much memory during the boot
<luckyluke>how much memory do you set for the vm? I had issues only with 8G and more
<almuhs>2G
<luckyluke>also, to get the full logs, you could redirect the console to an emulated serial device, e..g with "-nographic" on qemu and adding "console=com0" to gnumach cmdline
<almuhs>it's a 32-bit installation, so 4G is the max
<almuhs>yes
<almuhs> https://pasteboard.co/34UIVXWm8mkV.png
<almuhs>with 256 MB, now there are other error
<luckyluke>maybe there is something that is allocated for each cpu configured, e.g. a pmap or some big data structure
<almuhs>yes, i think
<almuhs>must be a memory leak in some table
<luckyluke>you can also try to attach with gdb and break on Panic()
<almuhs>yes
<luckyluke>to inspect the per-cpu data structures etc.
<almuhs>even the error tell me the file and line
<almuhs>kr = vm_map_enter(parent, &addr, size,
<almuhs> (vm_offset_t) 0, TRUE,
<almuhs> vm_submap_object, (vm_offset_t) 0, FALSE,
<almuhs> VM_PROT_DEFAULT, VM_PROT_ALL, VM_INHERIT_DEFAULT);
<almuhs> if (kr != KERN_SUCCESS)
<almuhs> panic("kmem_submap");
<almuhs>the panic is this
<youpi>look at the backtrace, to know what triggered it
<luckyluke>yes but from that you only see the failed allocation
<luckyluke>with gdb you can see the local/global variables and everything
<almuhs>yes, i check this later