Discussion:
Clarification on Exception 6
(too old to reply)
c***@CSIC.UMD.EDU
2005-04-10 08:02:36 UTC
Permalink
I'm managing to get returns on recurses up until 3216. I get what
seems like a normal page fault to some kind of stack page that needs
a page in. But then immediately after that I receive a page in for
80000000. This doesn't seem to be the correct behavior to start
with, it should just keep paging in the appropriate stack pages until
the end, right?

The page in for 80000000 seems to work just find but immediately
after I receive an interrupt, number 6. An invalid opcode exception.
The intel docs state that cs and eip point to the instruction that
cause the error, but can anyone tell me how exactly they refer to the
bad instruction? eip=000016a0, cs=00000007

Is there anything common that might be causing this?
Samit
2005-04-10 21:09:16 UTC
Permalink
I'm having the same problem...any insights would be appreciated, thanks.
My rec.c return up until 1286 and I get this error.
c***@CSIC.UMD.EDU
2005-04-11 07:37:37 UTC
Permalink
I figured out what happened. (AWFUL dumb mistake. That's what I get
for programming for hours with no break and little sleep).

In my Read/Write functions to the paging file, I was copying to the
struct Page pointer rather than the pointer to the actuall physical
memory, paddr.

So my guess was that the data that was actually in the pages was just
totally wrong.

I guess my suggestion would be to check your paging in, read/write
functions to make sure that the data being written out/read in is
correct.

It's deceiving because the page ins and page outs will work until I
guess it actually needs to utilize data then it just craps out, which
would explain the invalid operation interrupt 6.

Hope this helps in time!

Loading...