ReMon-MVEE / ReMon

Other
27 stars 10 forks source link

MVEE exits with divergence when the variants are in different directories #5

Open ahomescu opened 5 years ago

ahomescu commented 5 years ago

When trying to run a variant set where the binaries are in different directories, ReMon hits a divergence. For this configuration:

        "testapi-C":        { "path": "./testapi" },
        "testapi-Rust":     { "path": "./rust/target/release/examples/testapi" }

I get this:

MONITOR[0] - WARNING: ==================================
MONITOR[0] - WARNING: ERROR: Callnumber mismatch
MONITOR[0] - WARNING: pid1     : 24720
MONITOR[0] - WARNING: call1    : 6 (sys_lstat)
MONITOR[0] - WARNING: type1    : 2
MONITOR[0] - WARNING: pid2     : 24719
MONITOR[0] - WARNING: call2    : 59 (sys_execve)
MONITOR[0] - WARNING: type2    : 2
MONITOR[0] - WARNING: ==================================

where the C variant is trying to execute ./testapi, while the other is calling lstat on ./rust from inside realpath, which is called by os_normalize_path_name.

@stijn-volckaert Would it make sense to run every syscall in unsynced mode, up to but not including the execve in each variant?

danxinzhujian commented 4 years ago

Can you show me your MVEE.ini? The question must be here.