Skip to content
This repository has been archived by the owner on Oct 11, 2023. It is now read-only.

Coverage data (resp. features) from crashing inputs. #494

Answered by kcc
janphilg asked this question in Q&A
Discussion options

You must be logged in to vote

The coverage information is passed from the runner (child process) to the engine (parent process)
after executing an input, not during, because the coverage data needs to be pre-processed.
When the runner crashes, the "after" code is not invoked.

It may be possible to "fix" this by intercepting all ways a process can crash, and passing the coverage to the engine there.
But it's a non-trivial amount of work.

The communication is not actually pipes, but shmem, but it's a minor implementation detail.

The code is in ExecuteInputsFromShmem:

    if (!StartSendingOutputsToEngine(outputs_blobseq)) break;

    RunOneInput(data.data(), data.size(), test_one_input_cb);

    if (!FinishSendingOutputs…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@janphilg
Comment options

Answer selected by janphilg
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants