ion crashes with a page fault after login
Created by: nihathrael
- [x ] I agree that I have searched opened and closed issues to prevent duplicates.
Description
ion crashes with a page fault on login in the terminal or when starting obital in the UI.
Environment info
- Arch Linux
- qemu and virtualbox
- Operating system: Arch Linux
-
uname -a
:Linux reaper 4.14.6-1-ARCH #1 SMP PREEMPT Thu Dec 14 21:26:16 UTC 2017 x86_64 GNU/Linux
-
rustc -V
:rustc 1.24.0-nightly (dc39c3169 2017-12-17)
-
git rev-parse HEAD
:ee7b0462a37897545114f1bdd41dc48530ffc2f1
(HEAD at December 19th 2017)
Steps to reproduce
- Launch redox
make qemu vga=none
- login
- see pagefault on launch of ion
OR
- Launch redox
make qemu
- login to UI
- launch orbital
- See page fault on terminal
Behavior
- Expected behavior: I can use Ion
- Actual behavior: Pagefault
Page fault: 0000000000000000
RFLAG: 0000000000010246
CS: 0000000000000023
RIP: 000000000056E16F
CODE: 0000000000000006
RAX: 0000028000001000
RCX: 0000028000001000
RDX: 0000000000000A30
RDI: 00000080000005C0
RSI: 00000080000005F0
R8: 8080808080808080
R9: 0000000200000000
R10: 0000000000000000
R11: 0000000000000065
RBX: 0000000000000000
RBP: 00000180000FFC40
R12: 0000000000000019
R13: 000000000000002E
R14: 00000080000005C0
R15: 00000000005F6BE8
FS: 0000000000000033
TRACE: FFFFFF40002017B0
FFFFFF40002017B0: FFFFFF000019C6B5
FFFFFF000019C610+00A5
kernel::arch::x86_64::interrupt::exception::page::inner::h55eaa041bbf4716d
FFFFFF4000201810: FFFFFF000019C60B
FFFFFF000019C5E0+002B
kernel::arch::x86_64::interrupt::exception::page::h7b475d05caa98e7d
00000180000FFC40: 0000000000575E86
00000180000FFD30: 0000000000575B52
00000180000FFD70: 000000000056E30C
00000180000FFDC0: 00000000005763F9
00000180000FFE80: 00000000004001F5
0000008000000018: EMPTY RETURN
SIGNAL 11, CPU 0, PID ContextId(42)
NAME file:/bin/ion
Kill 42 9
Send 9 to 42
Optional extras
We've been trying to get to the bottom of this on Mattermost and we found a few relevant pointers:
- Has happened to multiple people
- Happens on qemu and virtualbox
- Happens in terminal and UI
- Reverting ION as far back as august 6th doesn't help, still crashes
- Reverting Kernel back to 1.3.2 doesn't help, still crashes
- We tried gdb with breakpoint to
kernel::syscall::process::exec
and figured out that it crashes in filesrc/syscall/process.rs
after:
821 unsafe { usermode(entry, sp, 0); }
(gdb) next
The backtrace is not very helpful, it seems:
(gdb) bt
#0 kernel::kmain (cpus=<optimized out>, env=...) at src/lib.rs:171
#1 kernel::arch::x86_64::start::kstart (args_ptr=<optimized out>) at src/arch/x86_64/start.rs:135
If I can be of any further help, let me know! Also it would probably be good if someone with a bit more redox knowledge tried reproducing my reverts, to make sure I didn't make a mistake while doing it.