T.R | Title | User | Personal Name | Date | Lines |
---|
268.1 | | HELIX::MIANO | My parents think I'm in college | Mon Jan 27 1997 13:34 | 11 |
| > Memory Management Exception/g
> to escape to monitor
> cause -> Instruction Fetch
Nothing comes between "Memory Management Exception" and
"cause -> Instruction Fetch." Some other program must be sending that
other stuff to the console. I can't find the string "to escape to
monitor" anywhere in the operating system. Are you sure it's not one of
your application's messages?
M
|
268.2 | I'll double check... | ADISSW::FERRARA | | Mon Jan 27 1997 14:01 | 6 |
|
The exception message was relayed from our customer...I'll
double check with them...
-Bob
|
268.3 | Sources of Memory Management Exceptions? | ADISSW::FERRARA | | Tue Jan 28 1997 07:17 | 10 |
|
BTW, what are the sources of a Memory Management Exception?
Is this a complete list?
- Non-existent memory access
- ECC/Parity Error (hardware generated) for both main memory
and backup cache
|
268.4 | | HELIX::MIANO | My parents think I'm in college | Tue Jan 28 1997 13:04 | 28 |
| You get the "Memory Management Exception" message when any of the
following faults occur:
Access Control Violation fault (vector 0x080)
Translation Not Valid fault (vector 0x090)
Fault on Read fault (vector 0x0a0)
Fault on Write fault (vector 0x0b0)
Fault on Execute fault (vector 0x0c0)
All these faults come in as a System Entry MM Fault (entMM). For
whatever reason, we don't print out the actual vector. We just print
the value of a0 which is the "cause" code. One of the following
messages gets printed after the "cause ->" string"
Instruction Fetch
Memory Store
Memory Load
This tells you whether the MM fault was caused by an instruction fetch,
a store instruction or a load instruction.
Other primary messages are possible besides "Memory Management
Exception."
For full details, get a copy of the Alpha Architecture Reference
Manual. It's all in there.
M
|
268.5 | More info...and questions | ADISSW::FERRARA | | Tue Jan 28 1997 17:05 | 31 |
|
More info...
A more complete Customer screen dump is:
Memory Management Exception/g
to escape to monitor
cause -> Instruction Fetch
Fault VA = 0
Exception PC = 0
Stack Frame Pointer = fffffc000168a500
Stack Pointer = fffffc000168a608
Questions:
1) I was able to remotely log into the CPU that generated this
exception. The "sysNvrRead" to dump the error log (its been
enabled) showed nothing as far as Memory controller errors.
Is this expected?
2) Does the Faulting VA and Exception PC accurately indicate an
address of 0?
Would this, then, point to a software problem that initiates the
exception?
-BobF
|
268.6 | | RICKS::THULIN | | Wed Jan 29 1997 09:52 | 8 |
| re .-1
Ye, the fault va, and pc of zero would tend to indicate that
somebody jumped to location zero. Location zero on the AXPvme running
VxWorks is not a mapped location, also it is virtual location not a KSEG
address, so any access to it will cause a memory management fault.
As for the "escape to monitor" text, I can't explain that, never having seen
it before.
|
268.7 | How do you track it down? | ADISSW::FERRARA | | Wed Jan 29 1997 15:56 | 11 |
|
How's does one track down this "jumping to location zero"??
It has only occurred a few times at the customer site, never in
our lab.
Is there a way to log or capture a trace of routine calls or
instruction sequence leading to the jump to location Zero?
Any help/suggestions would be helpful,
BobF
|
268.8 | | HELIX::MIANO | My parents think I'm in college | Wed Jan 29 1997 17:43 | 3 |
| You might check for stack problems. Trying to execute at address 0 (or
any weird address) is probably a sign that memory is being corrupted.
Ask them to do a checkstack() the next time it happens.
|