[ 0:01] | load /home/xrockai/src/divine/nightly/test/refine/pointers/subtract-a.c subtract-a.c [ 0:01] | expect --result error --location subtract-a.c:14 [ 0:01] | expect --trace FAULT: --trace-count 1 [ 0:01] | cc -o testcase.bc subtract-a.c [ 0:01] | refine -o nofail:malloc --refinement pointers --output testcase.bc testcase.bc [ 0:01] | verify --max-memory 4GiB --max-time 600 --threads 2 --report-filename verify.out --solver stp -o nofail:malloc --lamp pointers --symbolic -o abort:ptrcmp testcase.bc [ 0:01] compiling subtract-a.c [ 0:01] loading bitcode … DiOS … LART … RR … constants … done [ 0:39] booting … done [ 0:39] states per second: 5.15464 [ 0:40] state count: 2 [ 0:40] mips: 0.24 [ 0:40] symbolic: 1 [ 0:40] [ 0:40] error found: yes [ 0:40] error trace: | [ 0:40] ASSUME (not (= var_1 #x0000000000000000)) [ 0:40] ASSUME (not (= var_2 #x0000000000000000)) [ 0:40] ASSUME (and (not (= var_2 #x0000000000000000)) (bvult var_2 (bvsub #xffffffffffffffff #x0000000000000004))) [ 0:40] ASSUME (and (not (= var_1 #x0000000000000000)) (bvult var_1 (bvsub #xffffffffffffffff #x0000000000000004))) [ 0:40] ASSUME (and (and (and (not (= var_2 #x0000000000000000)) (bvult var_2 (bvsub #xffffffffffffffff #x0000000000000004))) (or (bvule (bvadd var_2 #x0000000000000004) var_1) (bvule (bvadd var_1 #x0000000000000004) var_2))) (and (not (= var_1 #x0000000000000000)) (bvult var_1 (bvsub #xffffffffffffffff #x0000000000000004)))) [ 0:40] ASSUME (not (= #x0000000000000004 #x0000000000000000)) [ 0:40] FAULT: unsupported abstract operation: sgt [ 0:40] [0] FATAL: not implemented in userspace [ 0:40] [ 0:40] active stack: [ 0:41] - symbol: void __dios::FaultBase::handler<__dios::Context>(_VM_Fault, _VM_Frame*, void (*)()) [ 0:42] location: /dios/sys/fault.hpp:118 [ 0:42] - symbol: __dios_fault.12 [ 0:42] location: /dios/arch/divm/fault.c:12 [ 0:42] - symbol: __lamp_sgt [ 0:42] location: /dios/lava/base.hpp:215 [ 0:42] - symbol: __lart_abstract.sgt.cmp.i64 [ 0:42] location: (unknown location) [ 0:42] - symbol: main [ 0:42] location: subtract-a.c:14 [ 0:42] - symbol: __dios_start [ 0:42] location: /dios/libc/sys/start.cpp:94 [ 0:42] + divine sim --batch --skip-init --load-report verify.out [ 0:42] [ 0:51] ^ —————. —.— . . —.— . . .————— . . [ 0:51] ——— | | | | | | |\ | | | | [ 0:51] —(o)— | | | | | | | \ | |———— '————| [ 0:51] ——————— | | | \ / | | \| | | [ 0:51] ————————— —————' —'— ' —'— ' ' '————— ' [ 0:51] [ 0:51] Welcome to 'divine sim', an interactive debugger. Type 'help' to get started. [ 0:51] traced states: [ 0:51] ▶ state #1 [new] -- active threads: [0:0] -- [ 0:52] T: FAULT: unsupported abstract operation: sgt [ 0:52] # executing void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:52] # NOTE: $frame in __dios_fault.12 [ 0:52] > backtrace [ 0:52] void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:52] __dios_fault.12 at /dios/arch/divm/fault.c:12 [ 0:52] __lamp_sgt at /dios/lava/base.hpp:215 [ 0:52] __lart_abstract.sgt.cmp.i64 at (unknown location) [ 0:52] main at subtract-a.c:14 [ 0:52] __dios_start at /dios/libc/sys/start.cpp:94 [ 0:52] # executing void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:52] # NOTE: $frame in __dios_fault.12