Skip to content

x86: directly created argv_test starts with argc=0 once boot registration completes #973

Description

@ryanbreen

The restored boot registration block in branch sched/508-boot-thread-disk-wait at b346196295db73f9fe4b44c8f080e75217f27693 reaches argv_test, which fails because its initial argument vector is empty.

Evidence from the x86 boot_tests,testing,external_test_bins profile:

  • serial_user.txt from the repaired boot reports argc: 0, FAIL: argc is 0 (expected at least 1), and ARGV_TEST_FAILED.
  • serial_kernel.txt records process 155, named argv_test, exiting with code 1.
  • The same boot's serial_user.txt reports [TEST_EXEC_BLOCK_COMPLETE:x86:calls=64] and [BOOT_DISK_WAIT_ORACLE:x86:switched_away=0:tests_completed=1:PASS].

At the cited source revision, kernel/src/process/creation.rs:42 calls manager.create_process(name.clone(), elf_data) on x86. Its aarch64 counterpart in the same file prepares a NUL-terminated default argv[0] and calls create_process_with_argv. kernel/src/test_exec.rs:3223 uses the x86 wrapper to launch this test, and userspace/programs/src/argv_test.rs requires at least one argument.

The full x86 gate also stops before a terminal tally with an ext2-lock stall; that observation is separate from this reproducible argv failure. This issue tracks setting up a valid default argv[0] for direct x86 process creation and retaining the existing argv test's checks. Do not make the test accept argc=0.

The 508 round's captures are under docs/planning/green-program/block/serials/508/repaired-boot/ on that branch. The source change is pushed; the evidence is being retained with the round's documentation commit.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions