equation314 / equation314/RVM-Tutorial

Panicked at src/task/structs.rs:155 new_user: no such app

Open
#2 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
161
Forks
36
PR merge metrics
No merged PRs in 30d

Description

# 环境
* Ubuntu 22.04 5.15.0-60-generic
* qemu 7.2.50
* cargo 1.67.0-nightly
* 已开启KVM且支持嵌套虚拟化
* Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz, 已启用VT-x
# log
在`hypervisor`下执行`make run`时报错如下:
```sh
[ERROR nimbos::lang_items] Panicked at src/task/structs.rs:155 new_user: no such app
[WARN nimbos::drivers::misc::qemu_x86_reset] Shutting down...
[ 0.199425 ERROR rvm_hypervisor::lang_items:5] panicked at 'Unsupported I/O port 0x604 access: VmxIoExitInfo {
access_size: 0x2,
is_in: false,
is_string: false,
is_repeat: false,
port: 0x604,
}', src/hv/vmexit.rs:122:9
```
完整启动log如下:
```sh
SeaBIOS (version rel-1.16.1-0-g3208b098f51a-prebuilt.qemu.org)

iPXE (http://ipxe.org) 00:02.0 CA00 PCI2.10 PnP PMM+06FD0CD0+06F30CD0 CA00

Booting from ROM..

RRRRRR VV VV MM MM
RR RR VV VV MMM MMM
RRRRRR VV VV MM MM MM
RR RR VV VV MM MM
RR RR VVV MM MM
___ ____ ___ ___
|__ \ / __ \ |__ \ |__ \
__/ / / / / / __/ / __/ /
/ __/ / /_/ / / __/ / __/
/____/ \____/ /____/ /____/

arch = x86_64
build_mode = release
log_level = warn

Initializing heap at: [0xffffff800124b010, 0xffffff800164b010)
Initializing GDT...
Initializing IDT...
Initializing Local APIC...
Initializing frame allocator at: [0x164c000, 0x4000000)
Initialization completed.

Starting virtualization...
Hardware support: true
Running guest...

NN NN iii bb OOOOO SSSSS
NNN NN mm mm mmmm bb OO OO SS
NN N NN iii mmm mm mm bbbbbb OO OO SSSSS
NN NNN iii mmm mm mm bb bb OO OO SS
NN NN iii mmm mm mm bbbbbb OOOO0 SSSSS
___ ____ ___ ___
|__ \ / __ \ |__ \ |__ \
__/ / / / / / __/ / __/ /
/ __/ / /_/ / / __/ / __/
/____/ \____/ /____/ /____/

arch = x86_64
platform = pc
build_mode = release
log_level = warn

Initializing kernel heap at: [0xffffff800022cd00, 0xffffff800062cd00)
Initializing IDT...
Loading GDT for CPU 0...
Initializing frame allocator at: [PA:0x62d000, PA:0x8000000)
Mapping .text: [0xffffff8000200000, 0xffffff800021b000)
Mapping .rodata: [0xffffff800021b000, 0xffffff8000220000)
Mapping .data: [0xffffff8000220000, 0xffffff8000228000)
Mapping .bss: [0xffffff800022c000, 0xffffff800062d000)
Mapping boot stack: [0xffffff8000228000, 0xffffff800022c000)
Mapping physical memory: [0xffffff800062d000, 0xffffff8008000000)
Mapping MMIO: [0xffffff80fec00000, 0xffffff80fec01000)
Mapping MMIO: [0xffffff80fed00000, 0xffffff80fed01000)
Mapping MMIO: [0xffffff80fee00000, 0xffffff80fee01000)
Initializing drivers...
Initializing Local APIC...
Initializing HPET...
HPET: 100.000000 MHz, 64-bit, 3 timers
Calibrated TSC frequency: 2904.451 MHz
Calibrated LAPIC frequency: 726.124 MHz
Initializing task manager...
[ERROR nimbos::lang_items] Panicked at src/task/structs.rs:155 new_user: no such app
[WARN nimbos::drivers::misc::qemu_x86_reset] Shutting down...
[ 0.199425 ERROR rvm_hypervisor::lang_items:5] panicked at 'Unsupported I/O port 0x604 access: VmxIoExitInfo {
access_size: 0x2,
is_in: false,
is_string: false,
is_repeat: false,
port: 0x604,
}', src/hv/vmexit.rs:122:9
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce with `make run` under `hypervisor` using the reported Ubuntu, QEMU, Cargo, and KVM setup. Start at `src/task/structs.rs:155` and inspect the task-manager initialization around the `new_user: no such app` panic, then review `src/hv/vmexit.rs:122` for the subsequent I/O-port failure. Done means the hypervisor reaches normal guest startup without the reported panic.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.