Compare commits
2 Commits
4bd3a9d7a4
...
2c43e630f0
| Author | SHA1 | Date | |
|---|---|---|---|
|
2c43e630f0
|
|||
|
0cb829ccf4
|
BIN
fail/bin/fail-x86-tracing
(Stored with Git LFS)
BIN
fail/bin/fail-x86-tracing
(Stored with Git LFS)
Binary file not shown.
BIN
fail/bin/generic-experiment-client
(Stored with Git LFS)
BIN
fail/bin/generic-experiment-client
(Stored with Git LFS)
Binary file not shown.
BIN
fail/bin/generic-experiment-server
(Stored with Git LFS)
BIN
fail/bin/generic-experiment-server
(Stored with Git LFS)
Binary file not shown.
BIN
fail/bin/import-trace
(Stored with Git LFS)
BIN
fail/bin/import-trace
(Stored with Git LFS)
Binary file not shown.
BIN
fail/bin/prune-trace
(Stored with Git LFS)
BIN
fail/bin/prune-trace
(Stored with Git LFS)
Binary file not shown.
@ -12,7 +12,7 @@ benchmark, resulttype, SUM(t.time2 - t.time1 + 1) AS faults,
|
|||||||
CONCAT('0x', HEX(p.injection_instr_absolute)) AS fault_address
|
CONCAT('0x', HEX(p.injection_instr_absolute)) AS fault_address
|
||||||
FROM variant v
|
FROM variant v
|
||||||
JOIN trace t ON v.id = t.variant_id
|
JOIN trace t ON v.id = t.variant_id
|
||||||
JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_address = t.data_address
|
JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_physical_address = t.data_physical_address
|
||||||
JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
||||||
JOIN fsppilot p ON r.pilot_id = p.id
|
JOIN fsppilot p ON r.pilot_id = p.id
|
||||||
WHERE v.variant = '$experiment'
|
WHERE v.variant = '$experiment'
|
||||||
|
|||||||
@ -11,7 +11,7 @@ sub query {
|
|||||||
benchmark, resulttype, sum(t.time2 - t.time1 + 1) AS faults
|
benchmark, resulttype, sum(t.time2 - t.time1 + 1) AS faults
|
||||||
FROM variant v
|
FROM variant v
|
||||||
JOIN trace t ON v.id = t.variant_id
|
JOIN trace t ON v.id = t.variant_id
|
||||||
JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_address = t.data_address
|
JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_physical_address = t.data_physical_address
|
||||||
JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
||||||
JOIN fsppilot p ON r.pilot_id = p.id
|
JOIN fsppilot p ON r.pilot_id = p.id
|
||||||
WHERE v.variant = '$experiment'
|
WHERE v.variant = '$experiment'
|
||||||
|
|||||||
@ -11,7 +11,7 @@ sub query {
|
|||||||
benchmark, resulttype, sum(t.time2 - t.time1 + 1) AS faults
|
benchmark, resulttype, sum(t.time2 - t.time1 + 1) AS faults
|
||||||
FROM variant v
|
FROM variant v
|
||||||
JOIN trace t ON v.id = t.variant_id
|
JOIN trace t ON v.id = t.variant_id
|
||||||
JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_address = t.data_address
|
JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_physical_address = t.data_physical_address
|
||||||
JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
||||||
JOIN fsppilot p ON r.pilot_id = p.id
|
JOIN fsppilot p ON r.pilot_id = p.id
|
||||||
WHERE v.variant = '$experiment'
|
WHERE v.variant = '$experiment'
|
||||||
|
|||||||
@ -55,7 +55,7 @@ sub trace {
|
|||||||
|
|
||||||
# "-Wf,--full-trace",
|
# "-Wf,--full-trace",
|
||||||
# "-Wf,--check-bounds",
|
# "-Wf,--check-bounds",
|
||||||
">$remote_builds_dir/$experiment/1_trace.log"
|
">$remote_builds_dir/$experiment/1_trace.log 2>&1"
|
||||||
);
|
);
|
||||||
say "Trace command: $trace_command";
|
say "Trace command: $trace_command";
|
||||||
|
|
||||||
@ -78,10 +78,9 @@ sub import_trace {
|
|||||||
"-b ip",
|
"-b ip",
|
||||||
"--no-gp", # Don't inject general purpose registers
|
"--no-gp", # Don't inject general purpose registers
|
||||||
"--ip", # Inject instruction pointer
|
"--ip", # Inject instruction pointer
|
||||||
">$remote_builds_dir/$experiment/2_import_ip.log"
|
">$remote_builds_dir/$experiment/2_import_ip.log 2>&1"
|
||||||
);
|
);
|
||||||
say "Import IP command: $import_ip_command";
|
say "Import IP command: $import_ip_command";
|
||||||
|
|
||||||
system($import_ip_command);
|
system($import_ip_command);
|
||||||
|
|
||||||
# Benchmark: mem
|
# Benchmark: mem
|
||||||
@ -94,10 +93,9 @@ sub import_trace {
|
|||||||
"-e $remote_builds_dir/$experiment/system.elf",
|
"-e $remote_builds_dir/$experiment/system.elf",
|
||||||
"-v $experiment",
|
"-v $experiment",
|
||||||
"-b mem",
|
"-b mem",
|
||||||
">$remote_builds_dir/$experiment/2_import_mem.log"
|
">$remote_builds_dir/$experiment/2_import_mem.log 2>&1"
|
||||||
);
|
);
|
||||||
say "Import MEM command: $import_mem_command";
|
say "Import MEM command: $import_mem_command";
|
||||||
|
|
||||||
system($import_mem_command);
|
system($import_mem_command);
|
||||||
|
|
||||||
# Benchmark: regs
|
# Benchmark: regs
|
||||||
@ -110,10 +108,9 @@ sub import_trace {
|
|||||||
"-v $experiment",
|
"-v $experiment",
|
||||||
"-b regs",
|
"-b regs",
|
||||||
"--flags", # Inject flags register
|
"--flags", # Inject flags register
|
||||||
">$remote_builds_dir/$experiment/2_import_regs.log"
|
">$remote_builds_dir/$experiment/2_import_regs.log 2>&1"
|
||||||
);
|
);
|
||||||
say "Import REGS command: $import_regs_command";
|
say "Import REGS command: $import_regs_command";
|
||||||
|
|
||||||
system($import_regs_command);
|
system($import_regs_command);
|
||||||
|
|
||||||
# Import fulltrace for VisualFAIL
|
# Import fulltrace for VisualFAIL
|
||||||
@ -129,63 +126,64 @@ sub import_trace {
|
|||||||
# )
|
# )
|
||||||
# );
|
# );
|
||||||
|
|
||||||
# Import disassembly/sources
|
# Import disassembly/sources
|
||||||
system(
|
my $import_ip_asm_command = join " ", (
|
||||||
join " ",
|
"$fail_import",
|
||||||
(
|
"--database-option-file $remote_db_conf",
|
||||||
"$fail_import",
|
"-t $remote_builds_dir/$experiment/trace.pb",
|
||||||
"--database-option-file $remote_db_conf",
|
"-i ElfImporter",
|
||||||
"-t $remote_builds_dir/$experiment/trace.pb",
|
"-e $remote_builds_dir/$experiment/system.elf",
|
||||||
"-i ElfImporter",
|
"-v $experiment",
|
||||||
"-e $remote_builds_dir/$experiment/system.elf",
|
"-b ip",
|
||||||
"-v $experiment",
|
"--objdump objdump",
|
||||||
"-b ip",
|
|
||||||
"--objdump objdump",
|
|
||||||
|
|
||||||
# "--sources",
|
# "--sources",
|
||||||
)
|
">$remote_builds_dir/$experiment/2_import_ip_asm.log 2>&1"
|
||||||
);
|
);
|
||||||
system(
|
say "Import IP Asm command: $import_ip_asm_command";
|
||||||
join " ",
|
system($import_ip_asm_command);
|
||||||
(
|
|
||||||
"$fail_import",
|
|
||||||
"--database-option-file $remote_db_conf",
|
|
||||||
"-t $remote_builds_dir/$experiment/trace.pb",
|
|
||||||
"-i ElfImporter",
|
|
||||||
"-e $remote_builds_dir/$experiment/system.elf",
|
|
||||||
"-v $experiment",
|
|
||||||
"-b mem",
|
|
||||||
"--objdump objdump",
|
|
||||||
|
|
||||||
# "--sources",
|
my $import_mem_asm_command = join " ", (
|
||||||
)
|
"$fail_import",
|
||||||
);
|
"--database-option-file $remote_db_conf",
|
||||||
system(
|
"-t $remote_builds_dir/$experiment/trace.pb",
|
||||||
join " ",
|
"-i ElfImporter",
|
||||||
(
|
"-e $remote_builds_dir/$experiment/system.elf",
|
||||||
"$fail_import",
|
"-v $experiment",
|
||||||
"--database-option-file $remote_db_conf",
|
"-b mem",
|
||||||
"-t $remote_builds_dir/$experiment/trace.pb",
|
"--objdump objdump",
|
||||||
"-i ElfImporter",
|
|
||||||
"-e $remote_builds_dir/$experiment/system.elf",
|
|
||||||
"-v $experiment",
|
|
||||||
"-b regs",
|
|
||||||
"--objdump objdump",
|
|
||||||
|
|
||||||
# "--sources",
|
# "--sources",
|
||||||
)
|
">$remote_builds_dir/$experiment/2_import_mem_asm.log 2>&1"
|
||||||
);
|
);
|
||||||
|
say "Import Mem Asm command: $import_mem_asm_command";
|
||||||
|
system($import_mem_asm_command);
|
||||||
|
|
||||||
my $prune_command = join " ",
|
my $import_regs_asm_command = join " ", (
|
||||||
(
|
"$fail_import",
|
||||||
|
"--database-option-file $remote_db_conf",
|
||||||
|
"-t $remote_builds_dir/$experiment/trace.pb",
|
||||||
|
"-i ElfImporter",
|
||||||
|
"-e $remote_builds_dir/$experiment/system.elf",
|
||||||
|
"-v $experiment",
|
||||||
|
"-b regs",
|
||||||
|
"--objdump objdump",
|
||||||
|
|
||||||
|
# "--sources",
|
||||||
|
">$remote_builds_dir/$experiment/2_import_regs_asm.log 2>&1"
|
||||||
|
);
|
||||||
|
say "Import Regs Asm command: $import_regs_asm_command";
|
||||||
|
system($import_regs_asm_command);
|
||||||
|
|
||||||
|
my $prune_command = join " ", (
|
||||||
"$fail_prune", "--database-option-file $remote_db_conf",
|
"$fail_prune", "--database-option-file $remote_db_conf",
|
||||||
"-v $experiment", "-b %%",
|
"-v $experiment", "-b %%",
|
||||||
#'-p NoPruner',
|
|
||||||
`-p BasicPruner`,
|
|
||||||
"--overwrite", ">$remote_builds_dir/$experiment/2_prune.log"
|
|
||||||
);
|
|
||||||
say "Prune command: $prune_command";
|
|
||||||
|
|
||||||
|
#'-p NoPruner',
|
||||||
|
'-p BasicPruner',
|
||||||
|
"--overwrite", ">$remote_builds_dir/$experiment/2_prune.log 2>&1"
|
||||||
|
);
|
||||||
|
say "Prune command: $prune_command";
|
||||||
system($prune_command);
|
system($prune_command);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -203,7 +201,7 @@ sub inject {
|
|||||||
"--database-option-file $remote_db_conf", "-v $experiment",
|
"--database-option-file $remote_db_conf", "-v $experiment",
|
||||||
"-b %", "--inject-single-bit",
|
"-b %", "--inject-single-bit",
|
||||||
"--inject-registers",
|
"--inject-registers",
|
||||||
">$remote_builds_dir/$experiment/3_server.log"
|
">$remote_builds_dir/$experiment/3_server.log 2>&1"
|
||||||
);
|
);
|
||||||
say "Server command: $server_command";
|
say "Server command: $server_command";
|
||||||
|
|
||||||
@ -230,9 +228,9 @@ sub inject {
|
|||||||
# Called in WAMR exception handler
|
# Called in WAMR exception handler
|
||||||
"-Wf,--group1-marker=fail_marker_group1",
|
"-Wf,--group1-marker=fail_marker_group1",
|
||||||
|
|
||||||
">/dev/null"
|
">/dev/null 2>&1"
|
||||||
|
|
||||||
# ">$remote_builds_dir/$experiment/4_client.log"
|
# ">$remote_builds_dir/$experiment/4_client.log 2>&1"
|
||||||
);
|
);
|
||||||
say "Client command: $client_command";
|
say "Client command: $client_command";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user