dotnet/runtime · error
demo array size must be specified
Error message
demo array size must be specified
What it means
Printed by the vxsort simple_bench demo's main() at src/coreclr/gc/vxsort/standalone/simple_bench/demo.cpp:137 when argc != 2 — the array size argument was not supplied or extra arguments were given. The program then returns -1.
Source
Thrown at src/coreclr/gc/vxsort/standalone/simple_bench/demo.cpp:137
introsort::sort(begin, end, vector_size);
gettimeofday(&t1, 0);
long elapsed = (t1.tv_sec - t0.tv_sec) * 1000000 + t1.tv_usec - t0.tv_usec;
// Ensure sorted
prev = START - (1 << SHIFT);
for (auto & element : vtemp) {
assert(element == prev + (1 << SHIFT));
prev = element;
}
return elapsed;
}
int main(int argc, char** argv) {
if (argc != 2) {
fprintf(stderr, "demo array size must be specified\n");
return -1;
}
#if defined(TARGET_AMD64)
InitSupportedInstructionSet(1 << (int)InstructionSet::AVX2);
#elif defined(TARGET_ARM64)
InitSupportedInstructionSet(1 << (int)InstructionSet::NEON);
#endif
const size_t vector_size = atoi(argv[1]);
auto v = generate_random_garbage(vector_size);
long elapsed;
// Run once to ensure any global setup is done
elapsed = demo_vxsort(&v, vector_size);
elapsed = demo_insertsort(&v, vector_size);
View on GitHub (pinned to 60108ba66e)
Solutions
- Pass exactly one argument — the array size: `./demo 1000000`.
- Update wrapper scripts to pass a single integer.
Example fix
// before ./demo // after ./demo 1000000
Defensive patterns
Strategy: validation
Validate before calling
if (argc != 2) {
fprintf(stderr, "Usage: %s <array_size>\n", argv[0]);
return -1;
} Prevention
- Check argc before dereferencing argv[1].
- Print a usage line naming the program (argv[0]) on misuse.
When it happens
Trigger: Running simple_bench with no argument or with more than one argument: `./demo` or `./demo 1000 extra`.
Common situations: Running the binary without reading usage; a wrapper script passing the wrong number of args.
Related errors
- demo array size must be specified
- CPU doesn't seem to support any vectorized ISA, bye-bye
- CPU doesn't seem to support any vectorized ISA, bye-bye
- {coreclr_args.mode}
- {} not present at {}
AI-assisted analysis of dotnet/runtime@60108ba66e (2026-08-10).
Data as JSON: /api/errors/e8fa075e9ab3afeb.
Report an issue: GitHub.