[ 0:00] | load /var/obj/divine-nightly/semidbg/test/_expand/abstract/mstring-strcmp-b.pkg.c/sym.c sym.c [ 0:00] | expect --result error --location sym.c:20 [ 0:00] | expect --trace FAULT: --trace-count 1 [ 0:00] | cc -o testcase.bc sym.c [ 0:00] | verify --max-memory 4GiB --max-time 600 --threads 2 --report-filename verify.out --solver z3 --lamp symstring --symbolic -o nofail:malloc testcase.bc [ 0:00] compiling sym.c [ 0:00] loading bitcode … DiOS … LART … RR … constants … done [ 0:06] booting … done [ 0:06] states per second: 0.561482 [ 0:10] state count: 2 [ 0:10] mips: 0.33 [ 0:10] symbolic: 1 [ 0:14] [ 0:14] error found: yes [ 0:14] error trace: | [ 0:14] ASSUME (not (bvuge #x0000000000000000 #x0000000000000005)) [ 0:14] ASSUME (and (not (not (bvuge #x0000000000000000 #x0000000000000000))) (not (not (bvult #x0000000000000000 #x0000000000000002)))) [ 0:14] ASSUME (not (bvuge #x0000000000000000 #x0000000000000005)) [ 0:14] ASSUME (and (not (not (bvuge #x0000000000000000 #x0000000000000000))) (not (not (bvult #x0000000000000000 #x0000000000000002)))) [ 0:14] ASSUME (not (= #x0000000000000000 #x0000000000000002)) [ 0:14] ASSUME (not (= #x61 #x00)) [ 0:14] ASSUME (not (= #x0000000000000002 #x0000000000000004)) [ 0:14] ASSUME (not (= #x62 #x00)) [ 0:14] ASSUME (not (= #x0000000000000004 #x0000000000000005)) [ 0:14] ASSUME (= #x00 #x00) [ 0:14] ASSUME (not (bvuge #x0000000000000000 #x0000000000000007)) [ 0:14] ASSUME (and (not (not (bvuge #x0000000000000000 #x0000000000000000))) (not (not (bvult #x0000000000000000 #x0000000000000003)))) [ 0:14] ASSUME (not (bvuge #x0000000000000000 #x0000000000000007)) [ 0:14] ASSUME (and (not (not (bvuge #x0000000000000000 #x0000000000000000))) (not (not (bvult #x0000000000000000 #x0000000000000003)))) [ 0:14] ASSUME (not (= #x0000000000000000 #x0000000000000003)) [ 0:14] ASSUME (not (= #x63 #x00)) [ 0:14] ASSUME (not (= #x0000000000000003 #x0000000000000004)) [ 0:14] ASSUME (= #x00 #x00) [ 0:14] ASSUME (not (= #x0000000000000000 #x0000000000000002)) [ 0:14] ASSUME (not (= #x0000000000000000 #x0000000000000003)) [ 0:14] ASSUME (not (= #x61 #x63)) [ 0:14] ASSUME (not (= (concat #x000000 (bvsub #x61 #x63)) #x00000000)) [ 0:14] FAULT: sym.c:20: int main(): assertion 'cmp == 0' failed [ 0:14] [0] FATAL: assertion failure in userspace [ 0:14] [ 0:14] active stack: [ 0:15] - symbol: void __dios::FaultBase::handler<__dios::Context>(_VM_Fault, _VM_Frame*, void (*)()) [ 0:16] location: /dios/sys/fault.hpp:118 [ 0:16] - symbol: __dios_fault [ 0:16] location: /dios/arch/divm/fault.c:12 [ 0:16] - symbol: __assert_fail [ 0:16] location: /dios/libc/_PDCLIB/assert.c:24 [ 0:16] - symbol: main [ 0:16] location: sym.c:20 [ 0:16] - symbol: __dios_start [ 0:16] location: /dios/libc/sys/start.cpp:91 [ 0:16] + divine sim --batch --skip-init --load-report verify.out [ 0:16] [ 0:21] ^ —————. —.— . . —.— . . .————— . . [ 0:21] ——— | | | | | | |\ | | | | [ 0:21] —(o)— | | | | | | | \ | |———— '————| [ 0:21] ——————— | | | \ / | | \| | | [ 0:21] ————————— —————' —'— ' —'— ' ' '————— ' [ 0:21] [ 0:21] Welcome to 'divine sim', an interactive debugger. Type 'help' to get started. [ 0:21] traced states: [ 0:21] ▶ state #1 [new] -- active threads: [0:0] -- [ 0:21] T: FAULT: sym.c:20: int main(): assertion 'cmp == 0' failed [ 0:23] # executing void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:23] # NOTE: $frame in __dios_fault [ 0:23] > backtrace [ 0:23] void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:23] __dios_fault at /dios/arch/divm/fault.c:12 [ 0:23] __assert_fail at /dios/libc/_PDCLIB/assert.c:24 [ 0:23] main at sym.c:20 [ 0:23] __dios_start at /dios/libc/sys/start.cpp:91 [ 0:23] # executing void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:23] # NOTE: $frame in __dios_fault