[ 0:00] + sim /home/xrockai/src/divine/nightly/test/lang-c/malloc.c [ 0:00] compiling /home/xrockai/src/divine/nightly/test/lang-c/malloc.c [ 0:00] [ 0:05] ^ —————. —.— . . —.— . . .————— . . [ 0:05] ——— | | | | | | |\ | | | | [ 0:05] —(o)— | | | | | | | \ | |———— '————| [ 0:05] ——————— | | | \ / | | \| | | [ 0:05] ————————— —————' —'— ' —'— ' ' '————— ' [ 0:05] [ 0:05] Welcome to 'divine sim', an interactive debugger. Type 'help' to get started. [ 0:05] # executing __boot at /home/xrockai/src/divine/nightly/dios/sys/dios.cpp:156 [ 0:05] > setup --debug libc [ 0:05] # executing __boot at /home/xrockai/src/divine/nightly/dios/sys/dios.cpp:156 [ 0:05] > trace --choices 0 1 [ 0:05] traced states: #1 [ 0:06] # executing malloc at /dios/src/libc/_PDCLIB/glue.c:27 [ 0:06] > stepa --count 3 [ 0:06] # a new program state was stored as #2 [ 0:06] # active threads: [0:0] [ 0:06] T: FAULT: invalid pointer passed to __vm_obj_free [ 0:06] # a new program state was stored as #3 [ 0:06] # executing - at - [ 0:06] > trace --choices 0 0 [ 0:06] traced states: #1 [ 0:06] # executing malloc at /dios/src/libc/_PDCLIB/glue.c:27 [ 0:06] > step --out [ 0:06] %12 = icmp.ne %11 [i32 0 d] # [i1 0 01] [ 0:06] br label %cond.end [ 0:06] %16 = icmp.ne [i64 4 d] [i64 0 d] # [i1 1 01] [ 0:06] %17 = and %16 %15 # [i1 0 01] [ 0:06] br %17 label %cleanup label %if.then [ 0:06] ret %1e [ 0:06] # executing main at /home/xrockai/src/divine/nightly/test/lang-c/malloc.c:7 [ 0:06] > step --count 2 [ 0:06] store [i32 32 d] %03 [ 0:06] T: FAULT: null pointer dereference: [global* 0 0 ddn] [ 0:06] T: [0] FATAL: memory error in userspace [ 0:06] # executing void __dios::FaultBase::handler<{Context} >(_VM_Fault, _VM_Frame*, void (*)()) at /dios/include/dios/sys/fault.hpp:87 [ 0:06] > trace --choices 0 0 0 [ 0:06] traced states: #1 #3 [ 0:06] unused choices: 0/0 [ 0:06] trace: [ 0:06] T: FAULT: null pointer dereference: [global* 0 0 ddn] [ 0:06] T: [0] FATAL: memory error in userspace [ 0:06] ERROR: the program has already terminated [ 0:06] # executing - at - [ 0:06] [ 0:06] = expected ========== [ 0:06] + ^# executing __boot at [ 0:06] > setup --debug libc [ 0:06] > trace --choices 0 1 [ 0:06] - FAULT [ 0:06] + ^traced states: #1 [ 0:06] + ^# executing malloc at [ 0:06] > stepa --count 3 [ 0:06] + ^# executing - at - [ 0:06] > trace --choices 0 0 [ 0:06] + ^traced states: #1 [ 0:06] + ^# executing malloc at [ 0:06] > step --out [ 0:06] > step --count 2 [ 0:06] + ^T: FAULT: null pointer dereference [ 0:06] + ^# executing.*FaultBase::handler [ 0:06] > trace --choices 0 0 0 [ 0:06] + traced states: #1 #3 [ 0:06] + unused choices: 0/0 [ 0:06] [ 0:06] = matched =========== [ 0:06] # executing __boot at /home/xrockai/src/divine/nightly/dios/sys/dios.cpp:156 | ^# executing __boot at [ 0:06] > setup --debug libc | ^> setup --debug libc [ 0:06] > trace --choices 0 1 | ^> trace --choices 0 1 [ 0:06] traced states: #1 | ^traced states: #1 [ 0:06] # executing malloc at /dios/src/libc/_PDCLIB/glue.c:27 | ^# executing malloc at [ 0:06] > stepa --count 3 | ^> stepa --count 3 [ 0:06] # executing - at - | ^# executing - at - [ 0:06] > trace --choices 0 0 | ^> trace --choices 0 0 [ 0:06] traced states: #1 | ^traced states: #1 [ 0:06] # executing malloc at /dios/src/libc/_PDCLIB/glue.c:27 | ^# executing malloc at [ 0:06] > step --out | ^> step --out [ 0:06] > step --count 2 | ^> step --count 2 [ 0:06] T: FAULT: null pointer dereference: [global* 0 0 ddn] | ^T: FAULT: null pointer dereference [ 0:06] # executing void __dios::FaultBase::handler<{Context} >(_VM_Fault, _VM_Frame*, void (*)()) at /dios/include/dios/sys/fault.hpp:87 | ^# executing.*FaultBase::handler [ 0:06] > trace --choices 0 0 0 | ^> trace --choices 0 0 0 [ 0:06] traced states: #1 #3 | traced states: #1 #3 [ 0:06] unused choices: 0/0 | unused choices: 0/0 [ 0:06] + check debris