[ 0:01] | load /home/xrockai/src/divine/nightly/test/dios/sync/sync-error.cpp sync-error.cpp [ 0:01] | expect --result error --location sync-error.cpp:15 [ 0:01] | expect --trace FAULT: --trace-count 1 [ 0:01] | cc -o testcase.bc -std=c++14 sync-error.cpp [ 0:01] | verify --max-memory 4GiB --max-time 600 --threads 2 --report-filename verify.out --leakcheck exit --synchronous testcase.bc [ 0:01] compiling sync-error.cpp [ 0:01] loading bitcode … DiOS … LART … RR … constants … done [ 0:03] booting … done [ 0:03] states per second: 86.9565 [ 0:03] state count: 4 [ 0:03] mips: 0.23 [ 0:03] [ 0:03] error found: yes [ 0:03] error trace: | [ 0:03] (-2) A1: 1 [ 0:03] (-2) B1: 2 [ 0:03] FAULT: sync-error.cpp:15: void routine1(): assertion 'glob == 1' failed [ 0:03] [-2] FATAL: assertion failure in userspace [ 0:03] [ 0:03] active stack: [ 0:04] - symbol: void __dios::FaultBase::handler<__dios::Context>(_VM_Fault, _VM_Frame*, void (*)()) [ 0:04] location: /dios/sys/fault.hpp:118 [ 0:04] - symbol: __dios_fault [ 0:04] location: /dios/arch/divm/fault.c:12 [ 0:04] - symbol: __assert_fail [ 0:04] location: /dios/libc/_PDCLIB/assert.c:24 [ 0:04] - symbol: routine1() [ 0:04] location: sync-error.cpp:15 [ 0:04] - symbol: __dios_sync_entry [ 0:04] location: /dios/libc/sys/task.c:11 [ 0:04] + divine sim --batch --skip-init --load-report verify.out [ 0:04] [ 0:07] ^ —————. —.— . . —.— . . .————— . . [ 0:07] ——— | | | | | | |\ | | | | [ 0:07] —(o)— | | | | | | | \ | |———— '————| [ 0:07] ——————— | | | \ / | | \| | | [ 0:07] ————————— —————' —'— ' —'— ' ' '————— ' [ 0:07] [ 0:07] Welcome to 'divine sim', an interactive debugger. Type 'help' to get started. [ 0:07] traced states: [ 0:07] trace: [ 0:07] T: (-2) A1: 1 [ 0:07] T: (-2) B1: 2 [ 0:07] T: FAULT: sync-error.cpp:15: void routine1(): assertion 'glob == 1' failed [ 0:07] # executing void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:07] # NOTE: $frame in __dios_fault [ 0:07] > backtrace [ 0:07] void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:07] __dios_fault at /dios/arch/divm/fault.c:12 [ 0:07] __assert_fail at /dios/libc/_PDCLIB/assert.c:24 [ 0:07] routine1() at sync-error.cpp:15 [ 0:07] __dios_sync_entry at /dios/libc/sys/task.c:11 [ 0:07] # executing void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:07] # NOTE: $frame in __dios_fault