Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#87 closed defect (worksforme)

MCS accept_input does not work.

Reported by: charles.unix.pro@… 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 Eric Swenson, 9 years ago

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

comment:2 by Eric Swenson, 9 years ago

Resolution: worksforme
Status: newclosed

comment:3 by canthony, 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.

Note: See TracTickets for help on using tickets.