> I don't recall off the top of my head whether the location of that > shared block of memory is in the per-process swappable kernel data > (which is included in the process core dump).
So I checked, and the swappable per-process kernel data does in fact include pre-computed contents for all the memory management registers, so we'll be able to see (from the process core dump) where the code and data segments were. On another front, that error message ("Memory error") is produced when a process gets a 'memory management trap' (trap to 0250). This could be caused by any number of things (it's a pity we don't know the contents of SR0 when the trap happened, that would tell us exactly what the cause was). With working hardware+OS, it's usually the result of a bad pointer in the program. In a tested program like 'ls', I don't think that's the case. It's most likely caused by faulty memory, but it's also faintly possible that the MMU has an issue. I'll look at the process dump a little later today, and see if I see anything of significance. Noel