You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think the bug that sometimes breaks the parallel tests which test eviction has to do with accessing a frame while it is being deleted.
Currently the tests are failing with exit(-1) because !user_vaddr(fault_addr) is true in the exception.c page_fault() handler. This is caused by a fault within the kernel code. The kernel code that is being called is fetch_data_to_frame(). Here is the backtrace right before it fails:
#0 page_fault (f=0xc0132e64) at ../../userprog/exception.c:149 #1 0xc0022817 in intr_handler (frame=0xc0132e64) at ../../threads/interrupt.c:330 #2 0xc0022a1f in intr_entry () at ../../threads/intr-stubs.S:37 #3 0xc0132e64 in ?? () #4 0xffffffff in ?? () #5 0x00000008 in ?? () #6 0x00000282 in ?? () #7 0xc0111000 in ?? () #8 0xc003024d in fetch_data_to_frame (page=page@entry=0xc0136b8c) at ../../vm/page.c:227 #9 0xc002c919 in page_fault (f=0xc0132fb0) at ../../userprog/exception.c:160 #10 0xc0022817 in intr_handler (frame=0xc0132fb0) at ../../threads/interrupt.c:330 #11 0xc0022a1f in intr_entry () at ../../threads/intr-stubs.S:37 #12 0xc0132fb0 in ?? () #13 0x08048141 in ?? ()
The line in page.c that it is failing on is provided below:
struct frame_table_entry *fte = get_frame();
The text was updated successfully, but these errors were encountered:
I think the bug that sometimes breaks the parallel tests which test eviction has to do with accessing a frame while it is being deleted.
Currently the tests are failing with exit(-1) because !user_vaddr(fault_addr) is true in the exception.c page_fault() handler. This is caused by a fault within the kernel code. The kernel code that is being called is fetch_data_to_frame(). Here is the backtrace right before it fails:
#0 page_fault (f=0xc0132e64) at ../../userprog/exception.c:149
#1 0xc0022817 in intr_handler (frame=0xc0132e64) at ../../threads/interrupt.c:330
#2 0xc0022a1f in intr_entry () at ../../threads/intr-stubs.S:37
#3 0xc0132e64 in ?? ()
#4 0xffffffff in ?? ()
#5 0x00000008 in ?? ()
#6 0x00000282 in ?? ()
#7 0xc0111000 in ?? ()
#8 0xc003024d in fetch_data_to_frame (page=page@entry=0xc0136b8c) at ../../vm/page.c:227
#9 0xc002c919 in page_fault (f=0xc0132fb0) at ../../userprog/exception.c:160
#10 0xc0022817 in intr_handler (frame=0xc0132fb0) at ../../threads/interrupt.c:330
#11 0xc0022a1f in intr_entry () at ../../threads/intr-stubs.S:37
#12 0xc0132fb0 in ?? ()
#13 0x08048141 in ?? ()
The line in page.c that it is failing on is provided below:
struct frame_table_entry *fte = get_frame();
The text was updated successfully, but these errors were encountered: