Hi,
I am having trouble aligning large traces. I have a good and a bad
trace of about 14 GB each.
The traces contain only one thread, and they were started on the same
function.
If I extract the first million instructions from each trace, alignment
works perfectly.
Also phase 0 works fine.
But giving the full traces to phase 1 gives the following error after
parsing all CFG-files:
Found cached functions list. Loaded 2493 functions.
Found cached address to count table. Loaded 110767 mappings.
Found cached ijmp to targets table. Loaded targets of 409 indirect
jumps.
Sucesfully loaded all trace data from cache. Finshed preprocessing
step.
Succesfully opened trace file bad.trace
Succesfully opened trace file good.trace
ALIGNMENT RESULTS:
Fatal error: exception Failure("Error: cf_stack depths don't match @
#00000001 ~ #00000001")
Raised at file "
pervasives.ml", line 22, characters 22-33
If I specify -start-ctrs 32,32 which is passed the first call
instruction, alignment works until the first divergence:
ALIGNMENT RESULTS:
ALIGNED @ T0:#00000032-00000123 (00000092 insts) ~
T1:#00000032-00000123 (00000092 insts)
DISALIGNED @ ~
T1:#00000124-00000131 (00000008 insts) T0
Fatal error: exception Failure("Error: cf_stack depths don't match @
#00000139 ~ #00000147")
Raised at file "
pervasives.ml", line 22, characters 22-33
The same two traces could be aligned without errors from instruction 1
to a million, giving several aligned and disaligned regions.
Is there a way to fix the stack depth somehow?
Cheers