add fork logs to inject

This commit is contained in:
2026-04-18 11:52:52 +02:00
parent d9e0d8d70d
commit e7cfc59096

View File

@ -140,12 +140,14 @@ sub inject {
notify("Injecting $experiment using $count cores..."); notify("Injecting $experiment using $count cores...");
say "Forking...";
my $pid = fork(); my $pid = fork();
die "fork failed: $!" unless defined $pid; die "fork failed: $!" unless defined $pid;
if ( $pid == 0 ) { if ( $pid == 0 ) {
# child -> server # child -> server
say "Running server in child process...";
exec( exec(
"$fail_server --port $fail_server_port --database-option-file $remote_db_conf -v $experiment -b % --inject-single-bit --inject-registers" "$fail_server --port $fail_server_port --database-option-file $remote_db_conf -v $experiment -b % --inject-single-bit --inject-registers"
) or die "exec server failed: $!"; ) or die "exec server failed: $!";
@ -153,10 +155,12 @@ sub inject {
# parent -> client # parent -> client
# "-Wf,--catch-write-textsegment", # "-Wf,--catch-write-textsegment",
say "Running client with $count cores in parent process";
system( system(
"nice $bochs_runner -V $fail_share/vgabios.bin -b $fail_share/BIOS-bochs-latest -f $fail_inject -e $remote_builds_dir/$experiment/system.elf -i $remote_builds_dir/$experiment/system.iso -j $count -- -Wf,--server-port=$fail_server_port -Wf,--state-dir=$remote_builds_dir/$experiment/state -Wf,--trap -Wf,--catch-outerspace -Wf,--timeout=500000 -Wf,--ok-marker=fail_marker_positive -Wf,--fail-marker=fail_marker_negative -Wf,--detected-marker=fail_marker_detected > /dev/null" "nice $bochs_runner -V $fail_share/vgabios.bin -b $fail_share/BIOS-bochs-latest -f $fail_inject -e $remote_builds_dir/$experiment/system.elf -i $remote_builds_dir/$experiment/system.iso -j $count -- -Wf,--server-port=$fail_server_port -Wf,--state-dir=$remote_builds_dir/$experiment/state -Wf,--trap -Wf,--catch-outerspace -Wf,--timeout=500000 -Wf,--ok-marker=fail_marker_positive -Wf,--fail-marker=fail_marker_negative -Wf,--detected-marker=fail_marker_detected > /dev/null"
) or die "client failed: $?"; ) or die "client failed: $?";
say "Killing server with pid $pid...";
kill 'TERM', $pid; kill 'TERM', $pid;
waitpid( $pid, 0 ); waitpid( $pid, 0 );