Opened 9 years ago

Closed 9 years ago

Last modified 7 years ago

#96 closed defect (fixed)

Make ring-1 initializer commands pass correct argument lengths. (MCR10037)

Reported by: Gary Dixon Owned by: Gary Dixon
Priority: major Milestone: MR12.7
Component: Hardcore Version: MR12.6f
Keywords: Cc:

Description

A ring-1 initializer command, such as:

reload_volume -pvdv root2 dska_03b -operator xxx -sys

fails in reload_volume, saying device dska_03b cannot be found. This problem occurs because ring-1
command level calls a fixed set of commands, with small set of arguments. In a limited user environment,
it uses a small, built-in command processor instead of using the full Multics ring-4 command processor.
This limited CP in system_startup_ always passes arguments as char(32), with each argument passed with
blanks. This works in many cases, since PL/1 string comparison treats "ABC" as equal to "ABC ".
However, commands that check only the length of the input argument get invalid length data, since the
length includes the trailing spaces. Instead, system_startup_ should calculate the length of each arg
passed, and put the correct length in the arg_list structure.

I'm calling this a Hardcore bug, because it affects system operation at ring-1, which it part of the
hardcore administrative realm. Also, system_startup_ is on the MST.

Change History (4)

comment:1 by Gary Dixon, 9 years ago

Summary: Make ring-1 initializer commands pass correct argument lengths. → Make ring-1 initializer commands pass correct argument lengths. (MCR10037)

comment:2 by Eric Swenson, 9 years ago

Milestone: → MR12.6g
Version: → MR12.6f

comment:3 by Eric Swenson, 9 years ago

Resolution: → fixed
Status: new → closed

comment:4 by Eric Swenson, 7 years ago

Milestone: MR12.6g → MR12.7

Milestone renamed

Note: See TracTickets for help on using tickets.