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.