DragonOS icon indicating copy to clipboard operation
DragonOS copied to clipboard

[BUG REPORT] DragonOS未实现/不支持Go程序所需的系统调用导致内核崩溃

Open wu-eee opened this issue 6 months ago • 2 comments

描述错误 Go静态编译程序运行时因未实现系统调用导致内核崩溃

请填写您的电脑的信息:

  • 操作系统及版本:Ubuntu 22.04
  • DragonOS版本:V0.1.10
  • DADK版本:dadk 0.4.0
  • Rust版本:rustc 1.84.0-nightly (fbab78289 2024-11-04)

重现步骤 重现行为的步骤:

  1. 使用Go静态编译生成可执行文件
  2. 通过DADK配置将该文件集成到DragonOS根目录
  3. 进入DragonOS后运行该程序
  4. 观察到警告和内核崩溃

期望行为 得到运行程序的预期结果,没有错误和崩溃

屏幕截图

其他上下文

系统日志 SeaBIOS (version 1.15.0-1)

iPXE (https://ipxe.org) 00:06.0 CA00 PCI2.10 PnP PMM+1FF84620+1FEC4620 CA00

Booting from ROM.. finish_scm_init [ INFO ] (src/libs/printk.rs:180) Logging initialized [ DEBUG ] (src/arch/x86_64/init/mod.rs:86) head_stack_start=0xffff8000005f8000

[ DEBUG ] (src/arch/x86_64/init/mod.rs:93) GDT_Table=VirtAddr(0xffff800000137010), IDT_Table=VirtAdd)

[ DEBUG ] (src/arch/x86_64/init/mod.rs:125) set_current_core_tss: stack_start=0xffff8000005f8000, ist0

[ INFO ] (src/arch/x86_64/init/pvh/mod.rs:54) pvh boot cmdline: "console=/dev/hvc0 init=/bin/busybox " mm_init mm_init() called [ DEBUG ] (src/arch/x86_64/mm/mod.rs:449) NO_EXECUTE_ENABLE is false, set XD_RESERVED to true init_memory_area by pvh boot init_memory_area_from pvh boot end [ INFO ] (src/arch/x86_64/init/pvh/mod.rs:115) Total memory size: 0x2fff8000, Usable memory size: 0x1ff70 [ DEBUG ] (src/arch/x86_64/mm/mod.rs:165) bootstrap info: Some( X86_64MMBootstrapInfo { kernel_load_base_paddr: 0x100000, kernel_code_start: 0xffff800000140000, kernel_code_end: 0xffff8000005dc482, kernel_data_end: 0xffff80000075ce68, kernel_rodata_start: 0xffff80000075f000, kernel_rodata_end: 0xffff8000009348c0, start_brk: 0xffff800001208ab0, }, ) [ DEBUG ] (src/arch/x86_64/mm/mod.rs:166) phys[0]=virt[0xffff800000000000] [ DEBUG ] (src/arch/x86_64/mm/mod.rs:494) BumpAllocator created, offset=18911232 [ DEBUG ] (src/arch/x86_64/mm/mod.rs:515) PageMapper created [ DEBUG ] (src/arch/x86_64/mm/mod.rs:527) Successfully emptied page table [ DEBUG ] (src/arch/x86_64/mm/mod.rs:550) After mapping all physical memory, DragonOS used: 19504 KB [ DEBUG ] (src/mm/allocator/buddy.rs:84) Free pages before init buddy: PageFrameCount(126156) [ DEBUG ] (src/mm/allocator/buddy.rs:181) Total pages to buddy: PageFrameCount(126137) [ INFO ] (src/arch/x86_64/mm/mod.rs:559) Successfully initialized buddy allocator [ DEBUG ] (src/arch/x86_64/mm/mod.rs:567) To enable new page table. [ DEBUG ] (src/arch/x86_64/mm/mod.rs:579) Successfully enabled new page table x86 64 mm init done [ DEBUG ] (src/mm/allocator/slab.rs:74) trying to init a slab_allocator [ DEBUG ] (src/mm/allocator/slab.rs:26) trying to new a slab_allocator [ DEBUG ] (src/mm/mmio_buddy.rs:739) Initializing MMIO buddy memory pool... [ DEBUG ] (src/mm/mmio_buddy.rs:67) BASE: VirtAddr(0xffffa10000000000), TOP: VirtAddr(0xffffa100400004 [ DEBUG ] (src/mm/mmio_buddy.rs:86) MMIO buddy pool init success [ INFO ] (src/mm/mmio_buddy.rs:745) MMIO buddy memory pool init done [ INFO ] (src/filesystem/procfs/kmsg.rs:22) kmsg_init [ INFO ] (src/filesystem/procfs/kmsg.rs:28) kmsg_init done [ INFO ] (src/mm/page.rs:53) page_manager_init [ INFO ] (src/mm/page.rs:60) page_manager_init done [ INFO ] (src/ipc/shm.rs:31) shm_manager_init [ INFO ] (src/ipc/shm.rs:38) shm_manager_init done [ INFO ] (src/mm/page.rs:221) page_reclaimer_init [ INFO ] (src/mm/page.rs:228) page_reclaimer_init done [ INFO ] (src/mm/init.rs:76) mm init done. scm reinit failed. [ DEBUG ] (src/init/cmdline.rs:324) cmdline: argument: "console=/dev/hvc0" [ DEBUG ] (src/init/cmdline.rs:324) cmdline: argument: "" [ DEBUG ] (src/init/cmdline.rs:324) cmdline: argument: "" [ DEBUG ] (src/init/cmdline.rs:324) cmdline: argument: "init=/bin/busybox" [ DEBUG ] (src/init/cmdline.rs:324) cmdline: argument: "init" [ DEBUG ] (src/syscall/table.rs:103) Initializing syscall table... [ DEBUG ] (src/syscall/table.rs:126) Syscall table (count: 60) initialized successfully. [ INFO ] (src/filesystem/procfs/mod.rs:927) Initializing ProcFS... [ INFO ] (src/filesystem/procfs/mod.rs:936) ProcFS mounted. [ INFO ] (src/filesystem/devfs/mod.rs:622) Initializing DevFS... [ INFO ] (src/filesystem/devfs/mod.rs:631) DevFS mounted. [ INFO ] (src/filesystem/sysfs/mod.rs:37) Initializing SysFS... [ INFO ] (src/filesystem/sysfs/mod.rs:50) SysFS mounted. [ INFO ] (src/filesystem/vfs/vcore.rs:81) Successfully initialized VFS! [ INFO ] (src/driver/base/device/init.rs:82) devices init success [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "platform" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "cpu" [ INFO ] (src/driver/acpi/mod.rs:60) Initializing Acpi Manager... [ DEBUG ] (src/driver/acpi/sysfs.rs:148) ACPI header: SdtHeader { signature: "FACP", length: 244, } [ DEBUG ] (src/driver/acpi/sysfs.rs:148) ACPI header: SdtHeader { signature: "APIC", length: 128, } [ DEBUG ] (src/driver/acpi/sysfs.rs:148) ACPI header: SdtHeader { signature: "HPET", length: 56, r} [ DEBUG ] (src/driver/acpi/sysfs.rs:148) ACPI header: SdtHeader { signature: "MCFG", length: 60, r} [ DEBUG ] (src/driver/acpi/sysfs.rs:148) ACPI header: SdtHeader { signature: "WAET", length: 40, r} [ INFO ] (src/driver/acpi/mod.rs:76) Acpi Manager initialized. [ DEBUG ] (src/process/mod.rs:131) To create address space for INIT process. [ DEBUG ] (src/process/mod.rs:136) INIT process address space created. [ DEBUG ] (src/process/mod.rs:145) process arch init done. [ DEBUG ] (src/process/mod.rs:147) process idle init done. [ INFO ] (src/process/mod.rs:150) Process Manager initialized. [ WARN ] (src/arch/x86_64/driver/apic/lapic_vector.rs:256) arch_early_irq_init: todo: add vector matx [ DEBUG ] (src/arch/x86_64/driver/apic/mod.rs:470) 8259A Masked. [ INFO ] (src/arch/x86_64/driver/apic/mod.rs:490) Initializing apic for cpu ProcessorId(0) [ INFO ] (src/arch/x86_64/driver/apic/x2apic.rs:47) x2APIC software enabled. [ INFO ] (src/arch/x86_64/driver/apic/mod.rs:495) x2APIC initialized for cpu ProcessorId(0) [ INFO ] (src/arch/x86_64/driver/apic/mod.rs:519) Apic initialized. [ INFO ] (src/arch/x86_64/driver/apic/ioapic.rs:396) Initializing ioapic... [ INFO ] (src/arch/x86_64/driver/apic/ioapic.rs:71) Initializing ioapic... [ DEBUG ] (src/arch/x86_64/driver/apic/ioapic.rs:107) Ioapic map ok [ DEBUG ] (src/arch/x86_64/driver/apic/ioapic.rs:117) IOAPIC: to mask all RTE [ DEBUG ] (src/arch/x86_64/driver/apic/ioapic.rs:123) Ioapic init done [ INFO ] (src/arch/x86_64/driver/apic/ioapic.rs:427) IO Apic initialized. [ INFO ] (src/arch/x86_64/acpi.rs:28) early_acpi_boot_init: cpu_count: 2

[ DEBUG ] (src/arch/x86_64/smp/mod.rs:193) possible: cpus: [0, 1, 3, 5]

[ DEBUG ] (src/arch/x86_64/smp/mod.rs:193) present: cpus: [0, 1]

[ INFO ] (src/exception/softirq.rs:33) Initializing softirq... [ INFO ] (src/exception/softirq.rs:44) Softirq initialized. [ INFO ] (src/syscall/mod.rs:65) Initializing syscall... [ INFO ] (src/syscall/mod.rs:67) Syscall init successfully! [ INFO ] (src/time/timekeeping.rs:360) Initializing timekeeping module... [ DEBUG ] (src/time/clocksource.rs:401) clocksource_register successfully [ INFO ] (src/time/jiffies.rs:106) jiffies_init sccessfully [ INFO ] (src/time/timekeeping.rs:384) timekeeping_init successfully [ INFO ] (src/time/timer.rs:283) timer initialized successfully [ INFO ] (src/process/kthread.rs:267) Initializing kernel thread mechanism stage1... [ INFO ] (src/process/kthread.rs:299) Initializing kernel thread mechanism stage1 complete [ DEBUG ] (src/arch/x86_64/driver/hpet.rs:80) HPET0_INTERVAL_USEC: 4000 [ INFO ] (src/arch/x86_64/driver/hpet.rs:81) HPET has 2 timers [ DEBUG ] (src/arch/x86_64/driver/hpet.rs:124) HPET frequency: 100000000 Hz [ DEBUG ] (src/exception/manage.rs:776) irq_startup: irq: 34, name: None [ INFO ] (src/arch/x86_64/driver/hpet.rs:166) HPET enabled [ DEBUG ] (src/arch/x86_64/driver/tsc.rs:393) Calibrating TSC with HPET [ DEBUG ] (src/arch/x86_64/driver/hpet.rs:239) HPET period: 10000000 [ DEBUG ] (src/arch/x86_64/driver/hpet.rs:239) HPET period: 10000000 [ DEBUG ] (src/arch/x86_64/driver/hpet.rs:239) HPET period: 10000000 [ WARN ] (src/arch/x86_64/driver/tsc.rs:185) Unable to calibrate against PIT [ INFO ] (src/arch/x86_64/driver/tsc.rs:198) Using HPET reference calibration [ INFO ] (src/arch/x86_64/driver/tsc.rs:86) Detected 3162.290 MHz processor [ INFO ] (src/arch/x86_64/driver/tsc.rs:91) Detected 3162.290 MHz TSC [ DEBUG ] (src/time/clocksource.rs:1021) clocksource_boot_finish Entering foo function B branch Entering foo function A branch [ WARN ] (src/arch/x86_64/vm/vmx/mod.rs:3751) VMX not supported or enabled [ WARN ] (src/init/init.rs:100) vmx init failed, will not be enabled [ DEBUG ] (src/exception/manage.rs:776) irq_startup: irq: 151, name: None [ DEBUG ] (src/arch/x86_64/driver/apic/apic_timer.rs:137) LocalApicTimerIntrController::install [ DEBUG ] (src/arch/x86_64/driver/apic/apic_timer.rs:108) init_bsp_apic_timer [ DEBUG ] (src/arch/x86_64/driver/apic/apic_timer.rs:225) install_periodic_mode: initial_count = 314 [ DEBUG ] (src/arch/x86_64/driver/apic/apic_timer.rs:116) init_bsp_apic_timer done [ DEBUG ] (src/arch/x86_64/driver/apic/apic_timer.rs:153) LocalApicTimerIntrController::enable [ INFO ] (src/process/kthread.rs:308) Initializing kernel thread mechanism stage2... [ INFO ] (src/process/kthread.rs:324) Initialize kernel thread mechanism stage2 complete [ INFO ] (src/tracepoint/mod.rs:265) tracepoint_data_start: 0xffff800000935000, tracepoint_data_end: 00 [ INFO ] (src/tracepoint/mod.rs:275) tracepoint_data_len: 2 [ INFO ] (src/tracepoint/mod.rs:284) tracepoint registered: vfs:do_mkdir_at [ INFO ] (src/tracepoint/mod.rs:284) tracepoint registered: syscalls:sys_enter_openat [ DEBUG ] (src/driver/base/device/bus.rs:300) bus 'virtio' add driver 'virtio_console' [ DEBUG ] (src/driver/base/device/bus.rs:300) bus 'virtio' add driver 'virtio_blk' [ DEBUG ] (src/driver/base/device/bus.rs:300) bus 'virtio' add driver 'virtio_net' [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "graphics" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "fbcon" [ INFO ] (src/driver/pci/pci.rs:1051) Initializing PCI bus... [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "pci" [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "PciTest" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "PciTest" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: 'PciTest' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device 'PciTest' is not bound. [ DEBUG ] (src/driver/base/device/bus.rs:300) bus 'pci' add driver 'PciTestDriver' [ INFO ] (src/driver/pci/pci.rs:958) Checking all devices in PCI bus... [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "0000:00:00.0" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "0000:00:00.0" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: '0000:00:00.0' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device '0000:00:00.0' is not bound. [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "0000:00:01.0" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "0000:00:01.0" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: '0000:00:01.0' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device '0000:00:01.0' is not bound. [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "0000:00:02.0" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "0000:00:02.0" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: '0000:00:02.0' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device '0000:00:02.0' is not bound. [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "0000:00:03.0" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "0000:00:03.0" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: '0000:00:03.0' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device '0000:00:03.0' is not bound. [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "0000:00:06.0" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "0000:00:06.0" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: '0000:00:06.0' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device '0000:00:06.0' is not bound. [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "0000:00:07.0" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "0000:00:07.0" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: '0000:00:07.0' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device '0000:00:07.0' is not bound. [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "0000:00:1d.0" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "0000:00:1d.0" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: '0000:00:1d.0' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device '0000:00:1d.0' is not bound. [ DEBUG ] (src/driver/pci/pci.rs:1022) Detected multi func device in bus0,device29 [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "0000:00:1d.1" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "0000:00:1d.1" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: '0000:00:1d.1' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device '0000:00:1d.1' is not bound. [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "0000:00:1d.2" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "0000:00:1d.2" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: '0000:00:1d.2' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device '0000:00:1d.2' is not bound. [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "0000:00:1d.7" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "0000:00:1d.7" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: '0000:00:1d.7' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device '0000:00:1d.7' is not bound. [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "0000:00:1f.0" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "0000:00:1f.0" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: '0000:00:1f.0' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device '0000:00:1f.0' is not bound. [ DEBUG ] (src/driver/pci/pci.rs:1022) Detected multi func device in bus0,device31 [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "0000:00:1f.2" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "0000:00:1f.2" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: '0000:00:1f.2' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device '0000:00:1f.2' is not bound. [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "0000:00:1f.3" dev parent: "pci" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "pci" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "0000:00:1f.3" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'pci' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: '0000:00:1f.3' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device '0000:00:1f.3' is not bound. [ INFO ] (src/driver/pci/pci.rs:1057) Total pci device and function num = 15 [ INFO ] (src/driver/pci/pci.rs:1074) Found pci standard device with class code =6 subclass=0 status=0x [ INFO ] (src/driver/pci/pci.rs:1074) Found pci standard device with class code =3 subclass=0 status=0x [ INFO ] (src/driver/pci/pci.rs:1066) Found pci standard device with class code =7 subclass=128, bdf=bu0 [ INFO ] (src/driver/pci/pci.rs:1066) Found pci standard device with class code =1 subclass=0, bdf=bus 0 [ INFO ] (src/driver/pci/pci.rs:1080) Found pci-to-pci bridge device with class code =6 subclass=4 statc [ INFO ] (src/driver/pci/pci.rs:1080) Found pci-to-pci bridge device with class code =6 subclass=4 stat4 [ INFO ] (src/driver/pci/pci.rs:1066) Found pci standard device with class code =2 subclass=0, bdf=bus 0 [ INFO ] (src/driver/pci/pci.rs:1066) Found pci standard device with class code =12 subclass=3, bdf=bus0 [ INFO ] (src/driver/pci/pci.rs:1074) Found pci standard device with class code =12 subclass=3 status=0 [ INFO ] (src/driver/pci/pci.rs:1074) Found pci standard device with class code =12 subclass=3 status=0 [ INFO ] (src/driver/pci/pci.rs:1074) Found pci standard device with class code =12 subclass=3 status=0 [ INFO ] (src/driver/pci/pci.rs:1074) Found pci standard device with class code =12 subclass=3 status=0 [ INFO ] (src/driver/pci/pci.rs:1074) Found pci standard device with class code =6 subclass=1 status=0x [ INFO ] (src/driver/pci/pci.rs:1066) Found pci standard device with class code =1 subclass=6, bdf=bus 2 [ INFO ] (src/driver/pci/pci.rs:1074) Found pci standard device with class code =12 subclass=5 status=0 [ INFO ] (src/driver/pci/pci.rs:1098) PCI bus initialized. [ INFO ] (src/filesystem/devpts/mod.rs:283) DevPtsFs mounted. [ DEBUG ] (src/exception/manage.rs:776) irq_startup: irq: 33, name: None [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "tty" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "ptmx" [ DEBUG ] (src/driver/base/device/bus.rs:300) bus 'platform' add driver 'vesa-framebuffer' [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "net" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "lo" [ DEBUG ] (src/driver/input/serio/i8042/mod.rs:36) i8042 initializing... [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "i8042" dev parent: "platform" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "platform" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "i8042" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'platform' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: 'i8042' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device 'i8042' is not bound. [ DEBUG ] (src/driver/base/device/bus.rs:300) bus 'platform' add driver 'i8042' [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "serio1" dev parent: "i8042" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "i8042" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "serio1" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'serio' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: 'serio1' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device 'serio1' is not bound. [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "rtc_cmos" dev parent: "platform" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "platform" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "rtc_cmos" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'platform' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: 'rtc_cmos' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device 'rtc_cmos' is not bound. [ DEBUG ] (src/driver/virtio/virtio.rs:43) Detected virtio PCI device with device type Console, feat6 [ DEBUG ] (src/driver/char/virtio_console.rs:72) virtio_console: dev_id: DeviceId { data: None, al) [ DEBUG ] (src/exception/manage.rs:776) irq_startup: irq: 56, name: None [ DEBUG ] (/home/wu-eee/.cargo/git/checkouts/virtio-drivers-8f80cb9945f6cdfd/415ab38/src/transport/mod.rs:) [ DEBUG ] (src/driver/virtio/sysfs.rs:199) virtio_device_add: dev: "virtio0" [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "virtio0" dev parent: "0000:00:02.0" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "0000:00:02.0" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "virtio0" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'virtio' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: 'virtio0' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device 'virtio0' is not bound. [ DEBUG ] (src/driver/char/virtio_console.rs:538) VirtIOConsoleDriver::probe() [ DEBUG ] (src/driver/char/virtio_console.rs:550) VirtIOConsoleDriver::probe() succeeded [ DEBUG ] (src/driver/char/virtio_console.rs:570) virtio console: add_device [ DEBUG ] (src/driver/char/virtio_console.rs:607) virtio console: add_device: to init tty device [ DEBUG ] (src/driver/tty/tty_driver.rs:312) init_tty_device: create TtyCore [ DEBUG ] (src/driver/tty/tty_driver.rs:315) init_tty_device: to driver_install_tty [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "tty" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "vc0" [ DEBUG ] (src/driver/tty/tty_driver.rs:317) init_tty_device: driver_install_tty done, index: 0, dev_n" [ DEBUG ] (src/driver/tty/tty_driver.rs:330) init_tty_device: to ldisc_setup [ DEBUG ] (src/driver/tty/tty_driver.rs:335) init_tty_device: to new tty device [ DEBUG ] (src/driver/tty/tty_driver.rs:341) init_tty_device: to devfs_register [ DEBUG ] (src/driver/tty/tty_driver.rs:343) init_tty_device: to device_register [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "tty" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "hvc0" [ DEBUG ] (src/driver/char/virtio_console.rs:609) virtio console: add_device: init tty device done,0 [ DEBUG ] (src/driver/virtio/sysfs.rs:204) virtio_device_add: to setup irq [ DEBUG ] (src/driver/virtio/sysfs.rs:206) virtio_device_add: setup irq done [ DEBUG ] (src/driver/virtio/virtio.rs:43) Detected virtio PCI device with device type Block, featur4 [ DEBUG ] (/home/wu-eee/.cargo/git/checkouts/virtio-drivers-8f80cb9945f6cdfd/415ab38/src/transport/mod.rs:) [ INFO ] (/home/wu-eee/.cargo/git/checkouts/virtio-drivers-8f80cb9945f6cdfd/415ab38/src/device/blk.rs:59) 0 [ INFO ] (/home/wu-eee/.cargo/git/checkouts/virtio-drivers-8f80cb9945f6cdfd/415ab38/src/device/blk.rs:64) B [ DEBUG ] (src/driver/virtio/sysfs.rs:199) virtio_device_add: dev: "virtio1" [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "virtio1" dev parent: "0000:00:03.0" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "0000:00:03.0" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "virtio1" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'virtio' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: 'virtio1' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device 'virtio1' is not bound. [ DEBUG ] (src/driver/virtio/sysfs.rs:204) virtio_device_add: to setup irq [ DEBUG ] (src/driver/virtio/sysfs.rs:206) virtio_device_add: setup irq done [ DEBUG ] (src/driver/virtio/virtio.rs:43) Detected virtio PCI device with device type Network, feat4 [ DEBUG ] (/home/wu-eee/.cargo/git/checkouts/virtio-drivers-8f80cb9945f6cdfd/415ab38/src/transport/mod.rs:) [ INFO ] (/home/wu-eee/.cargo/git/checkouts/virtio-drivers-8f80cb9945f6cdfd/415ab38/src/device/net/dev_raw) [ DEBUG ] (/home/wu-eee/.cargo/git/checkouts/virtio-drivers-8f80cb9945f6cdfd/415ab38/src/device/net/dev_ra) [ DEBUG ] (src/driver/net/virtio_net.rs:115) VirtIONetDevice mac: Address([82, 84, 0, 18, 52, 86]) [ DEBUG ] (src/driver/net/virtio_net.rs:637) VirtIONetDevice 'DeviceId { data: None, allocated: Some("d [ DEBUG ] (src/driver/virtio/sysfs.rs:199) virtio_device_add: dev: "virtio2" [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "virtio2" dev parent: "0000:00:06.0" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "0000:00:06.0" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "virtio2" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'virtio' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: 'virtio2' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device 'virtio2' is not bound. [ DEBUG ] (src/driver/net/virtio_net.rs:842) VirtIONetDriver::probe() [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "eth1" dev parent: "virtio2" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "net" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "eth1" [ DEBUG ] (src/driver/virtio/sysfs.rs:204) virtio_device_add: to setup irq [ DEBUG ] (src/driver/virtio/sysfs.rs:206) virtio_device_add: setup irq done [ ERROR ] (src/driver/virtio/mmio.rs:13) virtio_probe_mmio failed: ENODEV [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "kprobe" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'event_source' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: 'kprobe' [ DEBUG ] (src/driver/base/device/dd.rs:90) do_device_attach: device 'kprobe' is not bound. [ DEBUG ] (src/driver/base/device/bus.rs:300) bus 'platform' add driver 'rtc_cmos' [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "rtc0" dev parent: "rtc_cmos" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "rtc" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "rtc0" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "tty" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "console" [ DEBUG ] (src/driver/base/device/bus.rs:300) bus 'platform' add driver 'serial8250' [ INFO ] (src/driver/base/device/mod.rs:565) deivce: "serial8250" dev parent: "platform" [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "platform" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "serial8250" [ INFO ] (src/driver/base/device/bus.rs:459) MT bus 'platform' autoprobe driver [ WARN ] (src/driver/base/device/dd.rs:63) do_device_attach: allow_async is true, but currently not d [ WARN ] (src/driver/base/device/dd.rs:69) do_device_attach: dev: 'serial8250' [ WARN ] (src/driver/base/device/mod.rs:929) device_links_force_bind not implemented [ DEBUG ] (src/driver/tty/tty_driver.rs:312) init_tty_device: create TtyCore [ DEBUG ] (src/driver/tty/tty_driver.rs:315) init_tty_device: to driver_install_tty [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "tty" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "vc1" [ DEBUG ] (src/driver/tty/tty_driver.rs:317) init_tty_device: driver_install_tty done, index: 0, dev_n" [ DEBUG ] (src/driver/tty/tty_driver.rs:330) init_tty_device: to ldisc_setup [ DEBUG ] (src/driver/tty/tty_driver.rs:335) init_tty_device: to new tty device [ DEBUG ] (src/driver/tty/tty_driver.rs:341) init_tty_device: to devfs_register [ DEBUG ] (src/driver/tty/tty_driver.rs:343) init_tty_device: to device_register [ DEBUG ] (src/driver/base/device/mod.rs:573) kobject parent: "tty" [ INFO ] (src/driver/base/device/bus.rs:589) bus_probe_device: dev: "ttyS0" [ DEBUG ] (src/exception/manage.rs:776) irq_startup: irq: 36, name: None [ DEBUG ] (src/driver/tty/tty_driver.rs:312) init_tty_device: create TtyCore [ DEBUG ] (src/driver/tty/tty_driver.rs:315) init_tty_device: to driver_install_tty [ WARN ] (src/driver/video/fbdev/base/fbcon/framebuffer_console.rs:188) The Framebuffer with FbID 0 has n. [ ERROR ] (src/driver/tty/tty_driver.rs:287) driver_install_tty: Failed to install. name: tty0, err: EV [ INFO ] (src/driver/tty/virtual_terminal/mod.rs:240) Set vc by cmdline: hvc0 [ DEBUG ] (src/smp/cpu/mod.rs:205) Bring up CPU 1 [ DEBUG ] (src/smp/cpu/mod.rs:221) cpu_up: cpu_id: 1, cpu_state: Offline, target_state: Online [ DEBUG ] (src/arch/x86_64/smp/mod.rs:78) smp_ap_start_stage1: id: 1

[ INFO ] (src/arch/x86_64/driver/apic/mod.rs:490) Initializing apic for cpu ProcessorId(1) [ INFO ] (src/arch/x86_64/driver/apic/x2apic.rs:47) x2APIC software enabled. [ INFO ] (src/arch/x86_64/driver/apic/mod.rs:495) x2APIC initialized for cpu ProcessorId(1) [ INFO ] (src/arch/x86_64/driver/apic/mod.rs:519) Apic initialized. [ INFO ] (src/smp/init.rs:27) Successfully started AP 1 [ [ DEBUG ] INFO( ] src/arch/x86_64/driver/apic/apic_timer.rs:137) LocalApicTimerIntrController::insl [ DEBUG ] (src/arch/x86_64/driver/apic/apic_timer.rs(:src/smp/cpu/mod.rs120) init_ap_apic_timer [ DEBUG ] (src/arch/x86_64/driver/apic/apic_timer.rs::225212) ) install_periodic_mode: initial_co4 [ DEBUG ] (src/arch/x86_64/driver/apic/apic_timer.rs:130) init_ap_apic_timer done [ DEBUG ] (src/arch/x86_64/driver/apic/apic_timer.rs:153) LocalApicTimerIntrController::enable [ DEBUG ] (src/driver/disk/ahci/mod.rs:87) <ahci_rust_init> Find a None type Disk. [ DEBUG ] (src/driver/disk/ahci/mod.rs:87) <ahci_rust_init> Find a None type Disk. [ DEBUG ] (src/driver/disk/ahci/mod.rs:93) <ahci_rust_init> Find a SATAPI type Disk. [ ERROR ] (src/init/initial_kthread.rs:45) ahci_init failed: EINVAL [ INFO ] (src/filesystem/vfs/vcore.rs:136) Try to mount root fs... [ DEBUG ] (src/driver/base/block/manager.rs:177) All gendisks: ["/dev/vda1"] [ INFO ] (src/filesystem/vfs/vcore.rs:129) Use /dev/vda1 as rootfs [ DEBUG ] (src/driver/block/cache/cached_block_device.rs:47) BlockCache Initialized! [ INFO ] (src/filesystem/vfs/vcore.rs:89) VFS: Migrating filesystems... [ INFO ] (src/filesystem/vfs/vcore.rs:122) VFS: Migrate filesystems done! [ INFO ] (src/filesystem/vfs/vcore.rs:166) Successfully migrate rootfs to FAT32! [ DEBUG ] (src/net/net_core.rs:58) dhcp_query: net_face=eth1 [ DEBUG ] (src/net/net_core.rs:74) DHCP try round: 0 [ INFO ] (src/net/net_core.rs:102) Successfully allocated ip by Dhcpv4! Ip:10.0.2.15/24 [ DEBUG ] (src/init/initial_kthread.rs:54) initial kernel thread done. [ INFO ] (src/init/initial_kthread.rs:90) Boot with specified init process: "/bin/busybox" [ DEBUG ] (src/init/initial_kthread.rs:130) Trying to run init process at "/bin/busybox" [ DEBUG ] (src/misc/reboot.rs:87) do_sys_reboot: magic1=4276215469, magic2=672274793, cmd=CadOff [rcS] Running system init script...


| _ \ _ __ __ _ __ _ ___ _ __ / _ \ / | | | | || '| / | / _ | / _ \ | ' \ | | | |__ \
| || || | | (| || (| || () || | | || || | ) | |/ || _,| _, | _/ || || _/ |_/ |/
DragonOS - An opensource operating system. Copyright: DragonOS Community. 2022-2024, All rights reserved. Version: V0.1.10 Git commit SHA1: a69d1a93 Build time: Jun 29 2025 02:06:44

You can visit the project via:

Official Website: https://DragonOS.org
GitHub: https://github.com/DragonOS-Community/DragonOS

Maintainer: longjin [email protected] Get contact with the community: [email protected]

Join our development community: https://bbs.dragonos.org.cn

[ WARN ] (src/syscall/mod.rs:868) SYS_RT_SIGTIMEDWAIT has not yet been implemented [ WARN ] (src/syscall/mod.rs:868) SYS_RT_SIGTIMEDWAIT has not yet been implemented

Please press Enter to activate this console. [ WARN ] (src/syscall/mod.rs:868) SYS_RT_SIGTIMEDWAIT has nd

/ # ls bin dev go.mod lib main mnt sys var boot etc helloStatic lib64 main.go proc usr / # ls -l total 12570390 drwxrwxrwx 1 root root 8192 Jan 1 00:00 bin drwxrwxrwx 1 root root 4096 Jan 1 00:00 boot drwxr-xr-x 1 root root 0 Jan 1 00:00 dev drwxrwxrwx 1 root root 4096 Jan 1 00:00 etc -rwxrwxrwx 1 root root 24 Jan 1 00:00 go.mod -rwxrwxrwx 1 root root 2208858 Jan 1 00:00 helloStatic drwxrwxrwx 1 root root 4096 Jan 1 00:00 lib drwxrwxrwx 1 root root 4096 Jan 1 00:00 lib64 -rwxrwxrwx 1 root root 2208850 Jan 1 00:00 main -rwxrwxrwx 1 root root 78 Jan 1 00:00 main.go drwxrwxrwx 1 root root 4096 Jan 1 00:00 mnt dr-xr-xr-x 1 root root 0 Jan 1 00:00 proc drwxr-xr-x 1 root root 0 Jan 1 00:00 sys drwxrwxrwx 1 root root 4096 Jan 1 00:00 usr drwxrwxrwx 1 root root 4096 Jan 1 00:00 var / # ./helloStatic [ WARN ] (src/syscall/mod.rs:642) SYS_SIGALTSTACK has not yet been implemented [ WARN ] (src/syscall/mod.rs:642) SYS_SIGALTSTACK has not yet been implemented [ WARN ] (src/syscall/mod.rs:642[ WARN ] (src/syscall/mod.rs:642) SYS_SIGALTSTACK has not yet been d [ WARN ] (src/syscall/mod.rs:642 [ WARN ] (src/syscall/mod.rs:642) SYS_SIGALTSTACK has not yet been implemented) SYS_SIGALTSTACK hd

[ WARN ] (src/syscall/mod.rs:642) SYS_SIGALTSTACK has not yet been implemented [ WARN ] (src/syscall/mod.rs:642) SYS_SIGALTSTACK has not yet been implemented Hello World! / # [ ERROR ] (src/debug/panic/mod.rs:42) Kernel Panic Occurred. Location: File: src/syscall/mod.rs Line: 871, Column: 18 Message: Unsupported syscall ID: 234 Rust Panic Backtrace: [1] function:_Unwind_Backtrace() (+) 0051 address:0xffff8000002f9123 [2] function:dragonos_kernel::debug::panic::hook::print_stack_trace() (+) 0232 address:0xffff8000002ef328 [3] function:rust_begin_unwind() (+) 0689 address:0xffff8000001c1521 [4] function:core::panicking::panic_fmt() (+) 0028 address:0xffff800000396ddc [5] function:dragonos_kernel::syscall::Syscall::handle() (+) 6941 address:0xffff800000462fbd [6] function:dragonos_kernel::debug::panic::kernel_catch_unwind() (+) 0063 address:0xffff8000001c160f [7] function:syscall_handler() (+) 0247 address:0xffff800000503a57 [8] function:syscall_64() (+) 0103 address:0xffff800000147798 [ ERROR ] (src/debug/panic/mod.rs:89) Catch Unwind Error: Any { .. }

wu-eee avatar Jul 02 '25 15:07 wu-eee

SYS_SIGALTSTACK 信号备用栈未实现,导致多次警告 [ WARN ] (src/syscall/mod.rs:642) SYS_SIGALTSTACK has not yet been implemented 234号系统调用不支持,导致内核panic崩溃 Unsupported syscall ID: 234

wu-eee avatar Jul 02 '25 15:07 wu-eee

可以对比一下linux的strace,看看这个程序需要哪些系统调用,接着看看dragonos差了哪些。

fslongjin avatar Jul 03 '25 05:07 fslongjin

solved

fslongjin avatar Dec 14 '25 18:12 fslongjin