Discussion:
KASSERT errors
(too old to reply)
Pratik Mathur
2005-04-09 03:37:11 UTC
Permalink
In general, when you get a KASSERT error, how do you go about debugging it?
Normally, it tells you which line in the code the KASSERT is located in, and
what condition it fails. What do you do when you don't know why the
condition failed ? Any help would be great.

In specific, I'm getting the following KASSERT error:

Failed assertion in Page_Fault_Handler: 0 at ../src/geekos/paging.c, line
102, RA = 1acac, thread = 0x00100000

-Pratik
c***@CSIC.UMD.EDU
2005-04-09 04:13:28 UTC
Permalink
you are having a page fault in "supervisor" ( kernel ) mode. most likely at
address 0x8000000 i'm guess. check to make sure that you're not free-ing memory
that is not allocated. the only reason to get a KASSERT error in pagefaulthandler
is because you are faulting in supervisor mode. as per the project description
states that only a "user" process may fault.

in general check:
userContext->memory isn't getting freed. has been the problem for many people.
Loading...