You are browsing as a guest. Sign up (or log in) to start making projects!

56m 33s logged

well this was embarassing. turns out I forgot to clean the project, and stale files with the wrong idea of data had corrupt structures that made the kernel randomly crash. This was confusing for a couple reasons.

  1. from the below screenshot, you can see that the kernel panic occurred inconsistently. the PCI device would register and memory would be allocated, but in other cases size was set to zero and stuff wasn’t very well allocated.
  2. It turns out that my kmalloc function is bugged, and panics if you call it with zero (since it doesn’t do a precondition check and the loop always compares length with a min valid of 1)
  3. Page faults were happening as well, which made me think a deeper memory corruption issue was happening. On top of changing the device structure to use an attributes pointer struct rather than an extension of the device itself, i allocated memory to copy that structure over, so I thought that early allocations were frying existing code.

all in all there’s a lot to learn from forgetting to clean stale files. now we can get back to the disk structure on hand!!!

0
10

Comments 0

No comments yet. Be the first!