#87 closed defect (worksforme)
MCS accept_input does not work.
| Reported by: | Owned by: | Eric Swenson | |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | Hardcore | Version: | |
| Keywords: | tty_buf, absorig, FIRST_TTY_BUF_PAGEX, accept_input, input_accepted | Cc: |
Description
MCS accept_input sets incorrect buffer addresses in the rtx/input_accepted message, causing the FNP to copy the input data to the wrong memory location.
The problem arises in bound_355_wired::dn355$process_accept_input:
input_sub_mbx.dcw (k).abs_addr =
bit (bin (tty_buf.absorig + bin (rel (addr (buffer.chars))), 24), 24);
/* point DCW at data portion of buffer */
wherein tty_buf.absorig putatively contains the absolute address of of tty_buf.
tty_buf.absorig is set in bound_temp_2::fnp_init:
tty_buf.absorig = sys_info$page_size * FIRST_TTY_BUF_PAGEX;
with:
dn355_data.incl.pl1:declare FIRST_TTY_BUF_PAGEX fixed bin init (64) int static options (constant);
However, in tty_buf.cds we see that in Jan. 81, tty_buf became a dynamically allocated segment, invalidating the value calculated in fnp_init.
The line calculating absorig in fnp_init need to be fixed to look or calculate the correct address, and/or all references to absorig and FIRST_TTY_BUF_PAGEX need to be tracked down and replaced with correct code.
Change History (3)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
| Resolution: | → worksforme |
|---|---|
| Status: | new → closed |
comment:3 by , 9 years ago
This was not a Multics bug; it is a dps8m simulator bug. This report was the result of not understanding the io_page_table addressing scheme, and blaming the the misinterpretation of the FNP mailbox data on the code that put it there.

From Charles: Removed the workaround to stop the 3270 code from using 256 word buffer (and therefore accept_input); works....