[ 0:01] | load /var/obj/divine-nightly/semidbg/test/_expand/weakmem/x86-tso/load-xchg-noreorder.pkg.c/x0y1.c x0y1.c [ 0:01] | expect --result error --location x0y1.c:57 [ 0:01] | expect --trace FAULT: --trace-count 1 [ 0:01] | cc -o testcase.bc -DCHECK=1 x0y1.c [ 0:01] | verify --max-memory 4GiB --max-time 600 --threads 2 --report-filename verify.out --relaxed-memory tso testcase.bc [ 0:01] compiling x0y1.c [ 0:01] loading bitcode … DiOS … LART … RR … constants … done [ 0:03] booting … done [ 0:04] states per second: 12.9479 [ 0:07] state count: 43 [ 0:07] mips: 0.24 [ 0:07] relaxed memory: tso [ 0:10] [ 0:10] error found: yes [ 0:10] error trace: | [ 0:10] FAULT: x0y1.c:57: int main(): [ 0:10] [0] FATAL: assertion failure in userspace [ 0:10] [ 0:10] active stack: [ 0:33] - symbol: void __dios::FaultBase::handler<__dios::Context>(_VM_Fault, _VM_Frame*, void (*)()) [ 0:33] location: /dios/sys/fault.hpp:118 [ 0:33] - symbol: __dios_fault [ 0:33] location: /dios/arch/divm/fault.c:12 [ 0:33] - symbol: __assert_fail [ 0:33] location: /dios/libc/_PDCLIB/assert.c:24 [ 0:33] - symbol: main [ 0:33] location: x0y1.c:57 [ 0:33] - symbol: __dios_start [ 0:33] location: /dios/libc/sys/start.cpp:94 [ 0:33] + divine sim --batch --skip-init --load-report verify.out [ 0:33] [ 0:36] ^ —————. —.— . . —.— . . .————— . . [ 0:36] ——— | | | | | | |\ | | | | [ 0:36] —(o)— | | | | | | | \ | |———— '————| [ 0:36] ——————— | | | \ / | | \| | | [ 0:36] ————————— —————' —'— ' —'— ' ' '————— ' [ 0:36] [ 0:36] Welcome to 'divine sim', an interactive debugger. Type 'help' to get started. [ 0:36] traced states: [ 0:42] ▶ state #7 [new] -- active threads: [0:0] -- [ 0:42] T: FAULT: x0y1.c:57: int main(): [ 0:59] # executing void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:59] # NOTE: $frame in __dios_fault [ 0:59] > backtrace [ 0:59] void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:59] __dios_fault at /dios/arch/divm/fault.c:12 [ 0:59] __assert_fail at /dios/libc/_PDCLIB/assert.c:24 [ 0:59] main at x0y1.c:57 [ 0:59] __dios_start at /dios/libc/sys/start.cpp:94 [ 0:59] # executing void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 1:00] # NOTE: $frame in __dios_fault