Open inaciose opened 6 years ago
After give some time debuging, i did not find a completely final solution. I take as example the trap() on trap.c (xv6 x86), mix both codes, and add a call to exit(). This solve partialy the issue as os doesnt crash, the offender processes are killed. Its some what radical, because the parent is also killed and become temporary zombie.
So the sbrktest didn't successfully complete, it don't hang the os, and we return to shell, without doing the remaining tests.
sbrk test data abort: pid 533 usertests instruction 0x3858, fault addr 0x40000000, reason 0x5 data abort: pid 3 usertests instruction 0x4888, fault addr 0xc8000000, reason 0x5 data abort: pid 534 usertests instruction 0x3858, fault addr 0x4000c350, reason 0x5 zombie! $
if sbrktest() cal is removed from usertests, all the tests are complete ok.
Use it until better solution is found. And keep the issue open because the behavior its not as xv6 x86.
See commit: bug correction: issue sbrktest, partial solution
issue sbrktest
The xv6 houcheng/xv6-armv7 version, in the initial import have a bug (crash with data abort) during sbrktest() on usertests.c.