IRC channel logs
2025-07-09.log
back to list of logs
<AlmuHS>Hi. Do someone knows how to compile libtrivfs as a static library (generate a .a file) <AlmuHS>I want to make a binding to develop translators in Rust which call to libtrivfs to work <youpi>sneek: later tell AlmuHS the normal build already produces libtrivfs.a and the debian package already installs it <damo22>i booted a full smp system without the bsp pinning and it mostly works, but when i use rumpnet and receive a large file it hangs gnumach and i cant enter kdb <damo22>qemu shows interrupts happening though <youpi>maybe you can run gdb from the outside ? <damo22>how does it enter the kernel task? <youpi>it'll see the raw cpu status <damo22>Thread 1 (Thread 1.1 (CPU#0 [running])): <damo22>#0 ioapic_write (id=0 '\000', reg=39 '\'', value=0) at ../i386/i386at/ioapic.c:166 <damo22>#1 ioapic_write_entry (apic=0, pin=11, e=...) at ../i386/i386at/ioapic.c:187 <damo22>#2 ioapic_irq_eoi (pin=11) at ../i386/i386at/ioapic.c:312 <damo22>#3 0xc1058100 in interrupt () at ../i386/i386at/interrupt.S:102 <damo22>looks like irq11 is going nuts with lots of interrupts <damo22>Thread 1 (Thread 1.1 (CPU#0 [running])): <damo22>#0 0xc1000640 in apic_send_ipi (dest_shorthand=0, deliv_mode=0, dest_mode=1, level=1, trig_mode=0, vector=250, dest_id=2) at ../i386/i386/apic.c:305 <damo22>#1 0xc10189b6 in smp_send_ipi (logical_id=logical_id@entry=2, vector=vector@entry=250) at ../i386/i386/smp.c:61 <damo22>#2 0xc10189d3 in smp_remote_ast (logical_id=2) at ../i386/i386/smp.c:68 <damo22>#3 0xc1053b5f in cause_ast_check (processor=0xc10a026c <percpu_array+620>) at ../i386/i386/ast_check.c:53 <damo22>#4 0xc1041abc in thread_setrun (th=0xf5be5d88, may_preempt=1) at ../kern/sched_prim.c:1307 <damo22>#5 0xc10422e5 in thread_wakeup_prim (event=<optimized out>, one_thread=0, result=0) at ../kern/sched_prim.c:431 <damo22>#6 0xc1053684 in queue_intr (dev=0xc1098240 <irqtab>, id=11, e=0xf640be88) at ../device/intr.c:118 <damo22>#7 deliver_user_intr (dev=0xc1098240 <irqtab>, id=11, e=0xf640be88) at ../device/intr.c:134 <damo22>#8 0xc1053710 in user_irq_handler (id=11) at ../device/intr.c:192 <damo22>#9 0xc105812e in interrupt () at ../i386/i386at/interrupt.S:120 <damo22>its just spinning doing irq11 and remote asts using 200% load <damo22>if i renice the rumpnet process to 0 it completes an entire transfer more often <youpi>it looks like irq11 doesn't get properly masked? <youpi>I mean, it shouldn't re-trigger until the userland handler has processed it <damo22> pin 11 0x000000000000c03b dest=0 vec=59 active-hi level fixed phys <damo22>should i try stepping until eoi and then checking the mask on the apic pin? <youpi>but checking that things happen the way you want, never hurts <damo22>when is the irq supposed to be masked <damo22>(07:54:36 PM) youpi: it looks like irq11 doesn't get properly masked? <<--- i think youre right, just before the eoi is done, the irq is still unmasked so could retrigger <damo22>looks like we wrap the eoi in splhigh -> splx <damo22>or it could trigger a level interrupt before the eoi executes <diegonc>task18(pid28972)->vm_map (0 5368709120 0 1 (null) 0 1 3 7 1) = 0 4314832896 <diegonc> 27<--40(pid28972)->io_write_request ("__vm_set_size_limit: 16\n" -1)__vm_set_size_limit: 16 <diegonc>this is weird, under rpctrace my setrlimit test program fails with KERN_INVALID_TASK when calling the set size limit <diegonc>I'm just passing the result of __mach_task_self as the task port <diegonc>also, I'd expect a task18(pid28972)->vm_set_size_limit line before the io_write_request <diegonc>but for some reason it's not printed :/ <diegonc>the io_write_request is from a fprintf I added to the strlimit implementation <diegonc> err = __vm_set_size_limit (host, __mach_task_self (), <diegonc> fprintf (stderr, "__vm_set_size_limit: %d\n", err); <gnu_srs>Need some advise: gpg and gnupg conflicts with each other, which to keep?