separate client/server logs + move logs to experiment dir

This commit is contained in:
Christoph Urlacher
2026-05-04 13:32:04 +02:00
parent 2de6e20675
commit 10fe608a90

View File

@ -136,7 +136,7 @@ sub import_trace {
"-v $experiment", "-v $experiment",
"-b ip", "-b ip",
"--objdump objdump", "--objdump objdump",
"--sources", # "--sources",
) )
); );
system( system(
@ -150,7 +150,7 @@ sub import_trace {
"-v $experiment", "-v $experiment",
"-b mem", "-b mem",
"--objdump objdump", "--objdump objdump",
"--sources", # "--sources",
) )
); );
system( system(
@ -164,7 +164,7 @@ sub import_trace {
"-v $experiment", "-v $experiment",
"-b regs", "-b regs",
"--objdump objdump", "--objdump objdump",
"--sources", # "--sources",
) )
); );
@ -186,39 +186,19 @@ sub inject {
Util::notify("Injecting $experiment using $count cores..."); Util::notify("Injecting $experiment using $count cores...");
say "Forking..."; my $server_command = join " ", (
my $pid = fork();
die "fork failed: $!" unless defined $pid;
if ( $pid == 0 ) {
# child -> server
say "Running server in child process...";
exec(
join " ",
(
"$fail_server", "$fail_server",
"--port $fail_server_port", "--port $fail_server_port",
"--database-option-file $remote_db_conf", "--database-option-file $remote_db_conf",
"-v $experiment", "-v $experiment",
"-b %", "-b %",
"--inject-single-bit", "--inject-single-bit",
"--inject-registers" "--inject-registers",
) ">$remote_root/server.log"
) == 0 or die "exec server failed: $!"; );
} say "Server command: $server_command";
# parent -> client my $client_command = join " ", (
say "Waiting for server...";
sleep(10);
say "Running client with $count cores in parent process";
system(
join " ",
(
"nice $bochs_runner", "nice $bochs_runner",
"-V $fail_share/vgabios.bin", "-V $fail_share/vgabios.bin",
"-b $fail_share/BIOS-bochs-latest", "-b $fail_share/BIOS-bochs-latest",
@ -236,9 +216,28 @@ sub inject {
"-Wf,--ok-marker=fail_marker_positive", "-Wf,--ok-marker=fail_marker_positive",
"-Wf,--fail-marker=fail_marker_negative", "-Wf,--fail-marker=fail_marker_negative",
"-Wf,--detected-marker=fail_marker_detected", "-Wf,--detected-marker=fail_marker_detected",
">/dev/null" # ">/dev/null"
) ">$remote_root/client.log"
) == 0 or die "client failed: $?"; );
say "Client command: $client_command";
say "Forking...";
my $pid = fork();
die "fork failed: $!" unless defined $pid;
if ( $pid == 0 ) {
# child -> server
say "Running server in child process...";
exec($server_command) == 0 or die "exec server failed: $!";
}
# parent -> client
say "Waiting for server...";
sleep(10);
say "Running client with $count cores in parent process";
system($client_command) == 0 or die "client failed: $?";
say "Killing server with pid $pid..."; say "Killing server with pid $pid...";
kill 'TERM', $pid; kill 'TERM', $pid;
@ -261,6 +260,10 @@ sub results {
} }
} }
system("rm $remote_root/runner.log");
system("rm $remote_root/server.log");
system("rm $remote_root/client.log");
# Run experiments # Run experiments
my @experiments = Util::find_subdirs($remote_builds_dir); my @experiments = Util::find_subdirs($remote_builds_dir);
for my $experiment (@experiments) { for my $experiment (@experiments) {
@ -271,6 +274,10 @@ for my $experiment (@experiments) {
import_trace($experiment); import_trace($experiment);
inject($experiment); inject($experiment);
results($experiment); results($experiment);
system("mv $remote_root/runner.log $remote_builds_dir/$experiment/runner.log");
system("mv $remote_root/server.log $remote_builds_dir/$experiment/server.log");
system("mv $remote_root/client.log $remote_builds_dir/$experiment/client.log");
} }
Util::notify("Finished all experiments"); Util::notify("Finished all experiments");