Heikki Lindholm wrote:
> > o When and how does it crash? At start-up immediately? Or after a
> > while?
>
> I inserted some serial debug prints and it gets two passes to
> eval_outer_loop done (enter/exit function). After that it freezes.
> Without the debug printing it dies with kernel access of illegal memory
> at xnpod_schedule, which btw. has been quite a common place to die.
A way to know a bit more about this error would be to have a look at the
exact address given by the kernel oops in the disassembly of
xnpod_schedule and try and find which pointer is invalid. This is not
very subtle, but sometimes works.
One reason why there used to be some invalid pointers accesses in
xnpod_schedule was when the context switch routine (on x86) forgot to
declare a few output or clobbered registers. In this case, the compiler
may assume that the contents of the registers are correct, whereas the
context switch clobbered them.
--
Gilles Chanteperdrix.