AccVio
One of the most fatal conditions you EVER can run into. Most useful to disable unintended access; overwriting data structures; Running into the wild without knowing where to end except crashing after potentially causing havoc in the system, your, and other persons data. And perhaps one of the most annoying things for hackers because they cannot get in areas they're not supposed to get into anyway.
ACCESS VIOLATION
Similar to "Trespassers will be executed". The process, indeed, crashes. If in Kernel mode, the system will. No exceptions.
But WHY did it crash? Well, the message does tell you: The reason (a bitmask), the offending address, and the process counter (and process status longword):
%SYSTEM-F-ACCVIO, access violation, reason mask=04, virtual address=0007F300, PC=00016D2F, PSL=03C00000
The reason mask tells you what access has been attempted. As said: it's a bit mask
Form HELP/MESSAGE ACCVIO, and scrolling a view entries you'll read:
The reason mask is a longword whose lowest 5 bits, if set, indicate that the instruction caused a length violation (bit 0), referenced the process page table (bit 1), attempted a read/modify operation (bit 2), was a vector operation on an improperly aligned vector element (bit 3), or was a vector instruction reference to an I/O space address (bit 4).
bit set |
Hex value |
Reason |
none |
00 |
generally spoken: Invalid address referenced |
0 |
01 |
Address outside allocated memory |
1 |
02 |
Address in page table |
2 |
04 |
Read/modify (in plain: WRITE) access on READONLY address |
3 |
08 |
vector operand badly aligned (*) |
4 |
10 |
invalid vector insruction (*) |
(*) Who has a vector processor?
These values can be combined: A write operation of a 1Kb variable into a 512-byte buffer at the end of allocated memory could (and will) lead to both 01 and 04 - hence 05.
No matter the reason, check the offending address. Typical values are "00000000" (or: NULL pointer) or a value that looks like an ASCII string ("20202020" or "34333231"). Therefore: ACCVIO are generally to be considered caused by programming errors.
