Comments (1)
Further investigation shows it's not a SMAP fault. We do have some more info, and a new backtrace
(gdb) bt
#0 thor::panic () at ../../../src/managarm/kernel/thor/generic/debug.cpp:149
#1 thor::PanicSink::operator() (this=<optimized out>, msg=<optimized out>) at ../../../src/managarm/kernel/thor/generic/debug.cpp:190
#2 0xffffffff80071ddf in frg::stack_buffer_logger<thor::PanicSink, 128ul>::_emit (this=0xffffffff8015d950 <thor::pioLogHandler>, this@entry=0xffffffffffffffff,
message=0xffffe000169008a8 "\033[31mthor: Page fault in kernel, at 0xffffffff8015dd18, faulting ip: 0xffffffff8015dd18") at ../../../src/managarm/subprojects/frigg/include/frg/logging.hpp:92
#3 frg::stack_buffer_logger<thor::PanicSink, 128ul>::item::operator<< (this=0xffffe000169008a0) at ../../../src/managarm/subprojects/frigg/include/frg/logging.hpp:44
#4 thor::handlePageFault (image=..., address=<optimized out>, address@entry=18446744071563500824, errorCode=<optimized out>) at ../../../src/managarm/kernel/thor/generic/main.cpp:412
#5 0xffffffff8010875e in onPlatformFault (image=..., number=14) at ../../../src/managarm/kernel/thor/arch/x86/ints.cpp:351
#6 0xffffffff80000518 in faultStubPage () at ../../../src/managarm/kernel/thor/arch/x86/stubs.S:200
#7 0xffffffff8015dd18 in ?? ()
#8 0xffffe00018980000 in ?? ()
#9 0xffffe00016900b90 in ?? ()
#10 0xffffffff8001134f in frg::unique_lock<thor::IrqSpinlock>::lock (this=<optimized out>) at ../../../src/managarm/subprojects/frigg/include/frg/mutex.hpp:57
#11 frg::unique_lock<thor::IrqSpinlock>::unique_lock (mutex=..., this=<optimized out>) at ../../../src/managarm/subprojects/frigg/include/frg/mutex.hpp:35
#12 frg::slab_pool<thor::KernelVirtualAlloc, thor::IrqSpinlock>::free_in_slab_ (this=0x1, slb=0x246, p=0xffffe00016900ce0) at ../../../src/managarm/subprojects/frigg/include/frg/slab.hpp:328
Backtrace stopped: Cannot access memory at address 0xa8
(gdb)
E9 error
thor: Unhandled page fault at 0xffffffff8015dd18, faulting ip: 0xffffffff8015dd18
thor: Page fault at 0xffffffff8015dd18, faulting ip: 0xffffffff8015dd18
Errors: (Supervisor) (Access violation) (Instruction fetch)
thor: Page fault in kernel, at 0xffffffff8015dd18, faulting ip: 0xffffffff8015dd18
objdump -dS
ffffffff80070723: c6 05 e7 d5 0e 00 01 movb $0x1,0xed5e7(%rip) # ffffffff8015dd11 <_ZN4thor18kernelVirtualAllocE+0x1>
infoLogger() << "thor: Number of available pages: "
<< physicalAllocator->numFreePages() << frg::endlog;
kernelVirtualAlloc.initialize();
kernelHeap.initialize(*kernelVirtualAlloc);
ffffffff8007072a: 48 c7 c7 18 dd 15 80 mov $0xffffffff8015dd18,%rdi
ffffffff80070731: 48 c7 c6 10 dd 15 80 mov $0xffffffff8015dd10,%rsi
ffffffff80070738: e8 73 4b 00 00 call ffffffff800752b0 <_ZN3frg10manual_boxINS_9slab_poolIN4thor18KernelVirtualAllocENS2_11IrqSpinlockEEEE10initializeIJRS3_EEEvDpOT_>
FRG_ASSERT(_initialized);
ffffffff8007073d: 80 3d 8c d7 0e 00 00 cmpb $0x0,0xed78c(%rip) # ffffffff8015ded0 <_ZN4thor10kernelHeapE+0x1b8>
ffffffff80070744: 0f 84 ae fe ff ff je ffffffff800705f8 <thorInitialize+0x338>
FRG_ASSERT(!_initialized);
ffffffff8007074a: 80 3d 8f d7 0e 00 00 cmpb $0x0,0xed78f(%rip) # ffffffff8015dee0 <_ZN4thor11kernelAllocE+0x8>
ffffffff80070751: 0f 85 e7 00 00 00 jne ffffffff8007083e <thorInitialize+0x57e>
: pool_{pool} { }
ffffffff80070757: 48 c7 05 76 d7 0e 00 movq $0xffffffff8015dd18,0xed776(%rip) # ffffffff8015ded8 <_ZN4thor11kernelAllocE>
ffffffff8007075e: 18 dd 15 80
_initialized = true;
With KASAN enabled, we get
Fault #8, with IF=0, cs: 0x20, ip: 0xffffffff8013aca7
Error code: 0x0, SS: 0x38, RSP: 0xffffffffffffffd9
Backtrace:
(gdb) bt
#0 thor::panic () at ../../../src/managarm/kernel/thor/generic/debug.cpp:149
#1 thor::PanicSink::operator() (this=<optimized out>, msg=<optimized out>) at ../../../src/managarm/kernel/thor/generic/debug.cpp:190
#2 0xffffffff80427943 in frg::stack_buffer_logger<thor::PanicSink, 128ul>::_emit (this=0xffffffff80528bb0 <thor::pioLogHandler>, message=0xa <error: Cannot access memory at address 0xa>)
at ../../../src/managarm/subprojects/frigg/include/frg/logging.hpp:92
#3 frg::stack_buffer_logger<thor::PanicSink, 128ul>::item::operator<< (this=<optimized out>) at ../../../src/managarm/subprojects/frigg/include/frg/logging.hpp:44
#4 onPlatformFault (image=..., number=8) at ../../../src/managarm/kernel/thor/arch/x86/ints.cpp:333
#5 0xffffffff800002dc in faultStubDouble () at ../../../src/managarm/kernel/thor/arch/x86/stubs.S:194
#6 0xffffffff8013aca7 in thor::IrqObject::raise (this=<optimized out>) at ../../../src/managarm/kernel/thor/generic/irq.cpp:484
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)
Which is interesting, as irq.cpp:484
is this line.
Running with SMAP
and SMEP
disabled, -smp 1
on the command line.
from managarm.
Related Issues (20)
- Managarm fails to boot if the boot framebuffer is too big
- netserver: Crash on website load in WebKitGTK HOT 2
- Kernel panic while running abiword HOT 1
- VMware unsupported: vmdk producing errors when running #1
- VMware unsupported: vmdk producing errors when running #2
- thor: I/O APIC IRQs don't start off masked HOT 5
- thor: kernel panic when running terminal application on master HOT 3
- Unhandled page fault while running chromium HOT 1
- SteelSeries Rival 3 mouse causes an assertion failure in usb-hid HOT 1
- XHCI MSIs are broken on Intel Panther Point chipset HOT 3
- Add parsing of kernel and init arguments for debugging and changing functionality HOT 1
- Issue when booting via qemu HOT 7
- is there a plan to support linux device drivers as well HOT 2
- protocols/posix: uses reserved namespace HOT 1
- Define a clang-format file HOT 6
- Kernel assertion related to memory while running chromium
- Different kernel assertion related to memory while running chromium HOT 1
- General Network issue tracker HOT 4
- gfx/bochs: garbled output HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from managarm.