Opened 7 weeks ago

Last modified 7 weeks ago

#70 new defect

libpng tests in divine hit op != OpCode::Call in setjmp

Reported by: blurrymoi Owned by: blurrymoi
Priority: major Milestone: 4.4
Component: divcc Keywords:
Cc:

Description

built zlib with dioscc
(https://zlib.net/zlib-1.2.11.tar.gz)

built libpng-1.6.37 with dioscc

../configure CC=dioscc CXX=diosc++ --disable-shared LDFLAGS=-L$HOME/src/divine/next/zlib-1.2.11/build-dioscc
make
make test

divine check --capture ../contrib/pngsuite/basn0g01.png:follow:/image.png ./pngimage /image.png

results in:
 Assertion failed: op == OpCode::Call, file /home/xbaranov/src/divine/next/dios/arch/divm/setjmp.cpp, line 23.

Change History (1)

comment:1 Changed 7 weeks ago by Vladimír Štill

It seems like the active "instruction" in the target frame is vm::lx::OpArg? (last LLVM instruction seem to have opcode 64, opcode in the frame is 67). Considering that
pc that setjmp uses is code* 80002 8 ddp, in given frame we are at pc: code* 80002 8. insn: %08 = call @setjmp %07 this seems like either (i) pc in frame is not update for some reason at call (probably not, as sim would then show wrong instruction probably), or (ii) metadata re wrong - either inst_table or entry_point do not reflect arguments right for some reason (the metadata entry seems to be for the right function).

Note: See TracTickets for help on using tickets.