Skip to content

Valgrind Memcheck ​

Inspect native memory errors for a real workload. A plan checks availability and describes a command; it does not execute it.

From examples/kitchen-sink in the source checkout, run julia setup-linux.jl on Linux or WSL. Start Julia with julia --project=.controller/linux to plan the supplied native-workload.jl:

julia
using PerfChecker
plan = native_tool_plan(:memcheck, "native-workload.jl";
    project=dirname(Base.active_project()), output="exports/memcheck")
display(plan["availability"])
display(plan["arguments"])

From the same directory, prepare the native support files and run only this tool:

sh
julia --startup-file=no --project=.controller/linux setup-native.jl
julia --startup-file=no --project=.controller/linux native-run.jl datastructures memcheck

The existing Linux/Julia 1.13.0 receipt uses 512 events and three lifecycles, including startup. Recorded status: findings_reported, exit 97, memcheck.1640.xml and log. The workload oracle passed.

The oracle passed, but Memcheck reported findings. This is not a clean-memory verdict.

Oxygen has separate per-tool receipts; inspect its completion/timeout states instead of transferring a container-workload verdict.

Open source · Report an issue · Contributions welcome