Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99e-bb - gal702.d10
There is 1 other file named gal702.d10 in the archive. Click here to see a list.
                 EDIT DESCRIPTIONS FOR GALAXY-10-V702                           
  
  
                             EDIT 4712   FOR BATCON
  
BATCON EDIT 4712
  
  
[Symptom]
  
BATCON stops processing batch jobs.
  
  
[Diagnosis]
  
If BATCON fails to fire up a stream because no PTYs
are available, the count of active streams gets decrement when
it was never incremented to begin with. If the count reaches zero,
BATCON stops processing jobs because he doesn't think there are
any active.
  
  
[Cure]
  
Move the AOS G$SACT from after the call to P$OPEN to
right before it.
********************************************************************************
  
  
                             EDIT 4713   FOR BATCON
  
BATCON EDIT 4713
  
  
[Symptom]
  
BATCON sends an erroneous checkpoint message to QUASAR.
QUASAR spits out "Specified request is not yours" as an error WTO.
  
  
[Diagnosis]
  
If BATCON fails to fire up a stream because no PTY is
available, he send a "resourse not available" response to setup
message to QUASAR. QUASAR correctly removes the batch request from
the "use" queue. BATCON while shutting down the stream he couldn't
start incorrectly sends a checkpoint message to QUASAR. QUASAR then
emits the above error message.
  
  
[Cure]
  
If BATCON can't fire up a stream because of no PTYs, set
 .JBCHK(R) to -1. Make CHKPNT just return if .JBCHK(R) is negative.
********************************************************************************
  
  
                             EDIT 1173   FOR GLXLIB
  
GLXLIB EDIT 1173
  
  
[Symptom]
  
GLXFIL edit 110's, channel release code for the first LOOKUP/ENTER is missing.
  
  
[Diagnosis]
  
The channel release code was dropped on the floor.
  
  
[Cure]
  
Pick up the pieces after edit GLXFIL 110,
add code to release the channel associated with the first LOOKUP/ENTER.
********************************************************************************
  
  
                             EDIT 1174   FOR GLXLIB
  
GLXLIB EDIT 1174
  
  
[Symptom]
  
Programs that use GLXLIB, more specifically GLXIPC,
will eventually die if they
run at or above the physical core limit set for their job.
  
  
[Diagnosis]
  
GLXIPC calls M%NXPG to get/reserve a page number for IPCF
reception. M%NXPG marks the page "in use" so the other routines won't
use it. When the program reaches or exceeds its core limit, and there's
no hole in core to do the receive, M%IPRM is called to make a hole in core.
M%IPRM calls M%NXPG to find an unused page number (remember unused page is
marked in use by M%NXPG), then M%IPRM creates this new page on disk,
faults it into core and then destroys it, leaving a hole for the IPCF
reception. Since GLXIPC tells the monitor to put the IPCF message in
another the page, the page used to create the hole in core is left in
PAGTBL marked "in use". Eventually when this happens over and over,
all pages get marked "in use". Program then dies.
  
  
[Cure]
  
In M%IPRM, make sure the corresponding PAGTBL entry for the
page just used to make a hole in core with is zeroed, indicating
its free to use if needed.
********************************************************************************
  
  
                             EDIT 1175   FOR GLXLIB
  
GLXLIB EDIT 1175
  
  
[Symptom]
  
GLXLIB version 1 doesn't know how to handle local copy
terminals.
  
  
[Diagnosis]
  
I guess TOPS20 didn't either when the code was taken from it.
  
  
[Cure]
  
Check to see if .TOLCP bit is on in K%INIT, and save the state.
When it is time to echo the characters, check if local copy is on,
and don't if it is.
********************************************************************************
  
  
                             EDIT 306    FOR GLXLIB
  
D60JSY EDIT 306
  
[Symptom]
  
Programs that link with D60JSY (LPTSPL,CDRIVE,IBMSPL) die horrible
deaths when used in IBMCOM mode.
  
  
[Diagnosis]
  
Some clever programmer used JUMPF @.RETT etc., to save
a JRST instruction to get into the hi seg. Now that some of these
little routines are now in the low seg, indirecting on a SETOM 0
instruction doesn't quite do what was intended.
  
  
[Cure]
Change all the Jxxx @.yyyy to Jxxxx .yyyyy .
  
xxxx is RST , UMPE, etc., and yyyy is RETT, RET, RETF, POPJ, POPJ1.
********************************************************************************
  
  
                             EDIT 3012   FOR LPTSPL
  
LPTSPL EDIT 3012
  
[Symptom]
  
LPTSPL has problems loading VFU's on LP20/LP26.
  
  
[Diagnosis]
  
If LPTSPL gets on output error because the VFU of an LP20 printer
is bad, it reloads the VFU and continues printing. Problem is that just
reloading the VFU doesn't always work, especially if the printer was just
powered up.
  
  
[Cure]
  
Always load the RAM before loading the VFU. This always seems to work.
Also, check status of VFU before each job, and if bad, reload RAM and VFU.
This keeps us from bothering the operator to make sure the forms are aligned.
We assume the forms are OK because no output has been done since last job
when supposedly everything was setup correctly.
********************************************************************************
  
  
                             EDIT 3013   FOR LPTSPL
  
LPTSPL EDIT 3013
  
[Symptom]
  
GCO 10068, LPTSPL edit 3007, incomplete.
  
  
[Diagnosis]
  
We accounted for the fact that an offline interrupt may rarely
not happen in stream context and fixed the code that reported printers
offline accordingly. However, we (I) forgot to use the current streams
job page address for setting up the continuation address that is used
after DEBRKing to OUTWON.
  
  
[Cure]
  
Make sure current stream's job page is used when setting up J$LIOA(J).
********************************************************************************
  
  
                             EDIT 3014   FOR LPTSPL
  
LPTSPL EDIT 3014
  
[Symptom]
  
LPTSPL edit 3012 has problems, it prevents loading a different
VFU on forms change.
  
  
[Diagnosis]
  
At FORM4A, even if we aren't going to force a RAM and VFU{
load because the VFU is bad, we still need to call LODRAM and LODVFU
since they check if a new RAM or VFU needs to be loaded.
  
  
[Cure]
  
At FORM4A+1, $RETIT => JUMPT FORM.5
********************************************************************************
  
  
                             EDIT 104    FOR OPERAT
  
OPR EDIT 145 AND OPRPAR EDIT 104
  
  
  
[Symptom]
  
OPR TAKE Command garbage error messages.
  
  
[Diagnosis]
  
OPR's error message code includes the atom buffer
contents and this buffer may not be ASCIZ as we expect
or it may not contain the name of the missing file, but
instead the last command typed.
  
  
[Cure]
  
Alter the TAKE command file error handling code.
********************************************************************************
  
  
                             EDIT 145    FOR OPERAT
  
OPR EDIT 145 AND OPRPAR EDIT 104
  
  
  
[Symptom]
  
OPR TAKE Command garbage error messages.
  
  
[Diagnosis]
  
OPR's error message code includes the atom buffer
contents and this buffer may not be ASCIZ as we expect
or it may not contain the name of the missing file, but
instead the last command typed.
  
  
[Cure]
  
Alter the TAKE command file error handling code.
********************************************************************************
  
  
                             EDIT 1225   FOR QUASAR
  
QUASAR EDIT 1225
  
  
[Symptom]
  
QUASAR doesn't notify the operator of a mount request for
non-volume-set-oriented devices (printers, plotters) if G$DEAD is
zero - deadlock avoidance disabled.
  
  
[Diagnosis]
  
If deadlock avoidance is on, G$DEAD nonzero, the operator
is not notified until the deadlock avoidance check is made. If a
deadlock will result if the volume is mounted, the OPR is not notified
of the mount request. If not, QUASAR tries to mount the volume(s)
and then notifies the operator of the request only if QUASAR could
not mount the volume(s). If deadlock avoidance is off, G$DEAD is zero,
QUASAR always notifies the operator of a mount request, regardless of
request type. The problem is that QUASAR decides whether or not perform
the deadlock avoidance check based on the request type before the code
that notifies the operator if G$DEAD is zero. If the request type
is not volume-set oriented (type "unknown"), QUASAR jumps to code
that notifies the operator if G$DEAD is non-zero. Since V4.1 was shipped
with G$DEAD zero, the operators never see mount requests for printers, etc.
  
  
  
[Cure]
  
If the request type is not volume-set oriented (type %UNKN),
notify the request to the operator regardless of whether or not
deadlock avoidance is enabled.
********************************************************************************
  
  
                             EDIT 1226   FOR QUASAR
  
QUASAR EDIT 1226
  
  
[Symptom]
  
QUASAR doesn't check mount requests via QUEUE. UUOs very
well.
  
  
[Diagnosis]
  
MOUNT weeds out mounts for ersatz and generic devices etc.,
but the same type of checking isn't done for mount requests done
via QUEUE.'s. The mounts usually fail with ?Structure not in system catalog
even if the mount request was for SYS:.
  
  
[Cure]
  
Add code similar to MOUNT's in QUASAR.
********************************************************************************
  
  
                             EDIT 1227   FOR QUASAR
  
QUASAR EDIT 1227
  
  
[Symptom]
  
Structures that are dismounted with pending allocations and
then are remounted with an alias get reallocated to the requestors of the
structure before it was aliased. Aliased structures are meant to be new
"resources" and should not be associated with the pre-aliased structure
even though it's the same disk.
  
  
[Diagnosis]
  
QUASAR doesn't delete VOL blocks for a dismounting structure
if there are pending requests (allocations) for the structure. When
the same structure is recognized (but not mounted) it's VOL blocks still
exist and are linked to the appropriate UCBs. At this point everything
is like it was before the structure was dismounted except the stucture
is not "mounted". When the OPR MOUNT command is processed to mount
the structure with an alias in this case, all that really happens is the
structure name is changed in the VOL block. The requestor now owns
a structure he/she didn't ask for.
  
  
[Cure]
  
In QSRMDA, D$ALIAS, if the structure to be aliased has pending
allocations, make copies of it's VOL blocks and linked them to the
proper UCBs. This will make it look like a completely new structure
which as far as the users as concerned is really what happens. This
was also prevent the changing the structure name in a VOL block
already linked to a VSL making it look like a different resource than
what was asked for.
********************************************************************************
  
  
                             EDIT 1230   FOR QUASAR
  
QUASAR EDIT 1230
  
  
[Symptom]
  
The QUEUE. UUO lacks the ability to set the OPR
intervention bit or the IBMCOM processing node field.
  
  
[Diagnosis]
  
The are no symbols in UUOSYM or code in QUASAR.
  
  
[Cure]
  
Add the code in QSRQUE to do this and cleanup
the CRQNOD/.QBNOD code.
********************************************************************************
  
  
                             EDIT 1231   FOR QUASAR
  
QUASAR EDIT 1231
  
  
[Symptom]
  
SHOW PARAMETERS BATCH /NODE:FOO where FOO is an IBM emulation
node gives "unknown device" even when the IBM node is started and online.
  
  
[Diagnosis]
  
QSRDSP doesn't like IBM emulation.
  
  
[Cure]
  
In QSRDSP at CHKO.# + a few change a $RETF to a $RETT.
********************************************************************************
  
  
                             EDIT 523    FOR QUEUE
  
QUENCH EDIT 523
  
  
[Symptom]
  
When an ERSATZ device is part of the file spec,
QUEUE cannot find any SFD's on it.
For example the "PRINT REL:FILE.EXT[,,EXAMPL]" command
will fail.
  
  
[Diagnosis]
  
QUENCH Edit 517 went a little too far clearing the path
block when an ERSATZ device is part of the file spec.
  
  
[Cure]
  
Remove the code in Edit 517 that blasts the path block.
********************************************************************************
  
  
                             EDIT 2541   FOR SPROUT
  
SPROUT EDIT 2451
  
[Symptom]
  
SPROUT doesn't enable for PSI hung device interrupts and there
fore gets ?Error in detach job when the papertape punch runs out of tape.
  
  
[Diagnosis]
  
No code
  
  
[Cure]
  
Add code to catch hung device errors with PSI and while we're at it,
also check for CPU failure.
********************************************************************************
  
  
  
END OF  GALAXY-10-V702