Trailing-Edge
-
PDP-10 Archives
-
bb-bt99g-bb
-
t1l702.d12
There are no other files named t1l702.d12 in the archive.
EDIT DESCRIPTIONS FOR TOPS-10-KL-V702
EDIT 11055 FOR 702
[SYMPTOM]
Cannot raise DTR on an RSX-20F dial in line under TOPS-10 user
program control.
[DIAGNOSIS]
The RSX-20F protocol to do so exists, but no TOPS-10 code to make
use of it.
[CURE]
Add a new routine which does the opposite of TTDHUD (hang up).
********************************************************************************
EDIT 11376 FOR 702
[SYMPTOM]
When a file is RENAMEd or updated, it is impossible to
change the existing account string for the file, even from a
privileged program. This is contrary to documentation.
[DIAGNOSIS]
No code to do so.
[CURE]
Add code to enable a privileged user to specify a new
account string on an extended RENAME or update operation on
a file. If no account string is specified, the existing one
will be unchanged. Note that the new account string is not
validated in anyway. It is the responsibility of the
privileged program to ensure that a valid account string is
specified.
********************************************************************************
EDIT 11386 FOR 702
[SYMPTOM]
"?Job capacity exceeded" message appears when there are
still plenty of job slots left.
[DIAGNOSIS]
This message is printed for three different reasons:
1) The maximum job capacity has really been exceeded.
2) There are no free TTY DDBs to allocate to a new job.
3) There is not enough free core to allocate a PDB for
a new job.
Case 2) can occur rapidly if there are a lot of slave TTYs
on the system.
[CURE]
Append more informative error messages in cases 2 and 3.
"?Job capacity exceeded (No free TTY DDBs)" "?Job capacity
exceeded (No core for a PDB)"
A naive user can either ignore extra information or tell his
system programmer what the specific error message is.
Redefine parameter TTXTRA to include the number of slave
lines which the monitor dedicates to DTEs on a KL10. This
will increase the number of TTY DDBs available.
********************************************************************************
EDIT 11799 FOR 702
[SYMPTOM]
Stopcode IME creating long files on fragmented disk.
[DIAGNOSIS]
SCNPTR is referencing past the end of the DDB. If the DDB happens
to end in the last word of a funny page, and the next funny page does
not exist, an IME stopcode occurs.
[CURE]
Don't allow SCNPTR to reference a nonexistent address.
********************************************************************************
EDIT 11887 FOR 702
[SYMPTOM]
A user program specifying a null device in an OPEN UUO can see strange
results if some device is already open on channel zero.
[DIAGNOSIS]
Cracks in code which FILOP. UUO wants to fall through but which don't
make sense for OPEN/INIT.
[CURE]
Disallow device arguments in OPEN/INIT UUO which look like an I/O
channel number.
********************************************************************************
EDIT 11899 FOR 702
[SYMPTOM]
Greater number of disk errors reported than seems reasonable.
[DIAGNOSIS]
Bad blocks are being reused due to an off-by-one bug in FILIO.
[CURE]
Get the calculations right.
********************************************************************************
EDIT 11927 FOR 702
[SYMPTOM]
Stopcodes IME, DHD, NXU, or others caused by removing a file structure
while I/O was in progress.
[DIAGNOSIS]
Race conditions in FILSER allow removing the structure while jobs are
blocked in a UUO, or even while a UUO is in progress in an SMP
configuration.
[CURE]
Bump the generation number of all affected units early in the remove
structure function of the STRUUO. After this, wait for all units in the
structure to become idle before proceeding with removing the structure.
********************************************************************************
EDIT 11937 FOR 702
[SYMPTOM]
Stopcode RWD extending files in simultaneous update mode on a file
structure comprised of more than one unit.
[DIAGNOSIS]
If we start writing on one unit of the structure and that unit fills up
we will overflow to another unit of the structure. In the case of
simultaneous update files we have obtained the DA resource on the first
unit but will eventually try to return it for the new unit.
[CURE]
Return the DA resource for the correct unit.
********************************************************************************
EDIT 11939 FOR 702
[SYMPTOM]
IME stopcode removing structure with files still open.
[DIAGNOSIS]
Code in FILUUO isn't paranoid enough during RENAMEs. We're using a
pointer to an Access Table which was removed when the structure was
yanked.
[CURE]
Call CHEKU to make sure the RIB unit is still available before believing
the pointer to the AT.
********************************************************************************
EDIT 12076 FOR 702
[SYMPTOM]
System can hang after EUE or EPO stopcodes.
[DIAGNOSIS]
Not returning software interlocks.
[CURE]
Return them.
********************************************************************************
EDIT 12096 FOR 702
[SYMPTOM]
Most obvious symptom is a tape drive stuck in EW; other
scenarios possible.
[DIAGNOSIS]
Spacing operations don't block, yet call SETIOD when they are
finished. Since the user gained control as soon as the operation was
queued (rather than after it finished), he could have queued up some
I/O for us to do, and the call to SETIOD for the spacing operation,
releases him from his I/O wait. This can allow two queued protocol
requests to get in the queue, which can cause the drive to hang.
[CURE]
Don't call SETIOD on spacing operation completion. CLOSE which
used to exit through here does need SETIOD called, so give CLOSE a
separate interrupt handling routine.
********************************************************************************
EDIT 12110 FOR 702
[SYMPTOM]
Creation date/time is not always updated when appending to a file.
[DIAGNOSIS]
If no additional blocks are written (i.e., only the last existing block
of the file is updated) the monitor does not think it did any output, so
it never updates the creation date/time.
[CURE]
If the last block of the file gets written out make sure the monitor
remembers it did some output.
********************************************************************************
EDIT 12123 FOR 702
[SYMPTOM]
PC out of bounds if Control-C typed at the right time during LOGOUT.
[DIAGNOSIS]
PSI is still enabled while waiting for the ACTDAE to ACK the LOGOUT
message although we are not capable of granting PSI interrupts to the
user job. PSISER believes it can grant the interrupt, not realizing
we're in the middle of JOBKL.
[CURE]
Call RESET to clear the software interrupt system before proceding to
kill the job. Also clear .JBINT to prevent .JBINT-style interrupts.
********************************************************************************
EDIT 12169 FOR 702
[SYMPTOM]
Wrong error code returned when quota exceeded when updating a file.
[DIAGNOSIS]
UPDAT5 does not distinguish between quota exceeded and block not free
errors.
[CURE]
Add another return to UPDAT5 which means quota exceeded, and teach
callers to UPDAT5 to return the right error code in this case.
********************************************************************************
EDIT 12170 FOR 702
[SYMPTOM]
Jobs can get stuck in command wait state.
[DIAGNOSIS]
Can call PTYDTC with U set to zero.
[CURE]
Add a JUMPE U, to the code.
********************************************************************************
EDIT 12183 FOR 702
[SYMPTOM]
Local hardwired terminals (KS10, RSX20F) can get bad parity
output if TTY NO BLANK is set.
[DIAGNOSIS]
Silly check in SCNSER.
[CURE]
Remove silly check in SCNSER.
********************************************************************************
EDIT 12192 FOR 702
[SYMPTOM]
LOOKUP error 23 and other incorrect looking LOOKUP errors from the
".R" command when pathed to an SFD under SYS:.
[DIAGNOSIS]
The entire default path is being searched, instead of just
supplying [1,4].
[CURE]
Make sure SYS: just means [1,4].
********************************************************************************
EDIT 12195 FOR 702
[SYMPTOM]
Command dispatch flags not set up correctly on an unknown command.
[DIAGNOSIS]
If a customer changes the dispatch bits at COMERD in COMMON those bits
will not be used when an unknown command is typed. Instead, the bits
for the "CTEST" command (which are the same as the dispatch bits at
COMERD in a "virgin" monitor) are used.
[CURE]
Load the correct dispatch bits before dispatching the command.
********************************************************************************
EDIT 12196 FOR 702
[SYMPTOM]
Incorrect word count returned for DECtape extended LOOKUP.
[DIAGNOSIS]
Missing check for extended format block.
[CURE]
Add the check.
********************************************************************************
EDIT 12213 FOR 702
[SYMPTOM]
Possible scenarios include having a job stuck swapped out
forever, or a job in core which gets no run time; in rare cases a
race can occur where the swapper will try to swap out a job which is
already waiting for its high segment to finish swapping out before it
starts. The latter case can only happen for the highest numbered job
slot on the system.
[DIAGNOSIS]
Off-by-one in deciding whether to use a job number in J or in
SWPOUT. This can cause JS.SIP to be set for the wrong job and not for
the right job.
[CURE]
Change CAIGE to CAIG.
********************************************************************************
EDIT 12216 FOR 702
[SYMPTOM]
No easy way to determine where a protection failure came from when
using the default path on LOOKUP (i.e. if the file came from LIB: or
SYS:).
[DIAGNOSIS]
Sometimes no PPN is returned, other times the wrong PPN is
returned.
[CURE]
Store the PPN or path of the file on which we get a rib error or
protection failure in the LOOKUP/PATH block.
********************************************************************************
EDIT 12221 FOR DECNET
[SYMPTOM]
DECnet free core is exhausted after several days of uptime.
[DIAGNOSIS]
When a job who was using DECnet logs out, no one ever frees
up the core taken by that job's SJB block. DECnet free core
fills up with these blocks after a while.
[CURE]
In routine JOBKL in COMCON, call new routine SCULGO in
SCMUUO. SCULGO waits until all of the job's DECnet links
are gone, then calls FRESJB to free the memory taken by the
job's SJB.
********************************************************************************
EDIT 12262 FOR 702
[SYMPTOM]
Stopcode IME doing both input and output to a DECtape.
[DIAGNOSIS]
The way in which TOPS-10 handles Executive Virtual Memory makes this
type of operation illegal. However, there is no check for this case,
allowing a malicious (or naive) user to crash the system with an IME
stopcode.
[CURE]
Change UUOCON so it will not allow opening a single DECtape on more than
one I/O channel.
********************************************************************************
EDIT 12265 FOR 702
[SYMPTOM]
Stopcode IME doing asynchronous I/O on a DECtape with a bad directory.
(Digital-supplied software does not do asynchronous I/O to DECtapes.)
[DIAGNOSIS]
UUOCON stores the S word in the first word of the buffer when the IN UUO
completes. It does this using an Executive XCT of a MOVEM instruction
to reference the user's addressing space. However, if the buffer is
still addressed by Executive Virtual Memory the EXCT will fail unless
the user just happens to have a valid address the same as the monitor's
EVM address. This is usually not the case, so an IME stopcode results.
[CURE]
Check if the device still has EVM before storing the S word, and if so,
use a MOVEM rather than an EXCT of a MOVEM.
********************************************************************************
EDIT 12272 FOR 702
[SYMPTOM]
ILM stopcodes from QUASAR when running a KI paging 7.02 KL monitor.
[DIAGNOSIS]
Code in VMSER which clears the cache bit is assuming KL paging style
page map entries.
[CURE]
Change the code to handle both KI and KL paging page map entries.
********************************************************************************
EDIT 12276 FOR 702
[SYMPTOM]
IO.BKT from FILOP. CLOSE of a file protected <044>, opened for
append access, but never written to.
[DIAGNOSIS]
CHKLBK is called to append the first data buffer to the last block
previously written in the file. If it appears that the user has
attempted to corrupt the data already in the file, it will return
IO.BKT. Unfortunately, this will also fail if no data is written to the
file.
[CURE]
Change CAMG to CAMGE.
********************************************************************************
EDIT 12307 FOR 702
[SYMPTOM]
The terminal "APC" value for local (RSX-20F, KS-10 DZ) dataset
terminals always says "hardwired" (.TOHDW) rather than "dataset"
(.TODSD) terminal.
[DIAGNOSIS]
SYSINI calls LDBINI before calling LDBCLR, which results in the APC
value being calculated and set before the dataset status of the
terminal has been determined. This results in a local terminal always
being declared "hardwired".
[CURE]
Make LDBCLR initialize the APC field for the LDB. Remove the FTNET
conditional code in APCSET since all network-virtual-terminals (both
ANF-10 and DECnet/NRT) will always calculate and set the APC value
correctly independently of LDBCLR.
********************************************************************************
EDIT 12308 FOR 702
[SYMPTOM]
Possible stopcode KAF when setting large amounts of monitor
memory off-line. More likely to happen in 7.02 than 7.03.
[DIAGNOSIS]
When monitor memory is set off-line LOKCON moves all monitor
pages around during one clock tick. Due to how expensive PAGFRE is in
7.02 this can easily take more time than RSX-20F thinks we should be
ignoring his keep-alive counter. The more memory you try to set off
the greater the chance of this happening.
[CURE]
After moving each page check if the second timer has expired, and
if so, exit the loop. This will cause the once/second code to be
executed, preventing RSX-20F from causing a KAF stopcode.
********************************************************************************
EDIT 12326 FOR 702
[SYMPTOM]
Stopcode WTP when refreshing structures on KS-10 systems.
[DIAGNOSIS]
KS systems have FTMP shut off. This causes TAKBLK to be called
without PWAIT1 ever being patched. Thus, we call CLOCK1 to wait for I/O
to complete, causing the WTP.
[CURE]
Always patch TAKBLK at HIALCU regardless of conditional settings.
********************************************************************************
EDIT 12386 FOR 702
[SYMPTOM]
KAF stopcode in MSGSER with long buffer and DDB chains in virtual
programs.
[DIAGNOSIS]
No attempt made to let anything else run while checking the
chains.
[CURE]
Insert SCDCHKs into the inner loops.
********************************************************************************
EDIT 12393 FOR 702
[SYMPTOM]
Terminal settings LC, XONXOF, TAB, FORM, and CRLF are lost on an ANF
SET HOST.
[DIAGNOSIS]
Those flags are in the "STATUS" word, which is not checked for
terminal characteristics.
[CURE]
Add check for those five characteristics.
********************************************************************************
END OF TOPS-10-KL-V702