[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference helix::vxworks

Title:VxWorks for Alpha
Notice:Support 2.*; Kits 3.*; Ordering info 8.*
Moderator:HELIX::MIANO
Created:Mon Feb 07 1994
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:282
Total number of notes:1289

268.0. "Memory Management Exception message?" by ADISSW::FERRARA () Mon Jan 27 1997 14:32

    
    
    Does the "/g" on the following Memory Management Exception message 
    indicate anything special or is it some UART garbage?
    
    
    	Memory Management Exception/g
    	to escape to monitor
    	cause -> Instruction Fetch
    
    		Fault VA = 0
    		Exception PC = 0
    		Stack Frame Pointer = fffffc000168a500
    		Stack Pointer = fffffc000168a608
    
    
    Thanks for any help!
    BobF
T.RTitleUserPersonal
Name
DateLines
268.1HELIX::MIANOMy parents think I'm in collegeMon Jan 27 1997 16:3411
>    	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.2I'll double check...ADISSW::FERRARAMon Jan 27 1997 17:016
    
    
    The exception message was relayed from our customer...I'll 
    double check with them...
    
    -Bob
268.3Sources of Memory Management Exceptions?ADISSW::FERRARATue Jan 28 1997 10:1710
    
    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.4HELIX::MIANOMy parents think I'm in collegeTue Jan 28 1997 16:0428
    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.5More info...and questionsADISSW::FERRARATue Jan 28 1997 20:0531
    
    
    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.6RICKS::THULINWed Jan 29 1997 12:528
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.7How do you track it down?ADISSW::FERRARAWed Jan 29 1997 18:5611
    
    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.8HELIX::MIANOMy parents think I'm in collegeWed Jan 29 1997 20:433
    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.