inaciose / xv6-armv7-a15

xv6 implementation for armv7-a with working preemptive multitasking. This is the main version and works in qemu (-M vexpress-a15 -cpu cortex-a15)
0 stars 0 forks source link

sbrktest hang with data abort #2

Open inaciose opened 6 years ago

inaciose commented 6 years ago

issue sbrktest

The xv6 houcheng/xv6-armv7 version, in the initial import have a bug (crash with data abort) during sbrktest() on usertests.c.

inaciose commented 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.

console log

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