Last addition: May 16 1984 Vicky White File :: CD$SPR:SPR.MEM on VAX2 Notes/Problems/Suggestions on __________________________ __ The VAX Connected Machines software ___ ___ _________ ________ ________ This is a set of random notes, bug reports and suggestions for future enhancements to software. When a problem is fixed, or understood, or a suggested new feature has been added, this list will be modified to indicate that. Please everyone help, by making it your responsibility to see that this list is kept up to date. You can do this by sending MAIL for all problems and suggestions to the user name CD, as well as the person who is directly responsible for the particular software product. Notes/Problems/Suggestions on Connected Machines software Page 2 1.0 VAX SOFTWARE AND DOCUMENTATION 1.1 BUGS And Features Which Should Be Fixed ____ ___ ________ _____ ______ __ _____ 1. VAX-CDPACK Still a problem with CDTMO for units other than seconds 2. VAX-CDPACK CDSETEFS routine has a bug - also should get its EF numbers dynamically. 3. VAX-CDPACK - QRCV = .FALSE. This mode of operation has not been debugged fully and should not be used. It should either be fully debugged and tested, or removed. 4. VAX-EPPACK - Data statements You should be able to use the EPPACK routines to get events, without having to initialise any EPPACK variables in your own code. By default EPPACK should request an event by sending to the standard PTC=3. For special tests a routine should be provided to set the Event suppliers PTC, to whatever you want. 5. VAX-CD driver The recent bug fix, for timeout in a particular driver state now means that a timeout in this situation on the internal virtual link will give the error message "LINK down protocol error", rather than the correct error "No receiver for this message". 6. VAX-CD driver documentation. The installation guide for CD kit needs more details added. 7. VAX-CD driver The timer remains running (for read timeouts) when there are no longer timed reads. This makes constant trace entries and prevents the driver from being unloaded. Notes/Problems/Suggestions on Connected Machines software Page 3 1.2 Comments, Features, Suggestions, Ill-defined Problems _________ _________ ____________ ___________ ________ 1. VAX-CDPACK - CDSTAT Peter suggested that CDSTAT should be modified so that a call such as CDSTAT(STAT(2),INF,STAT(1)) would work - allowing the output variable STAT(2) to be used as an input variable too. 2. VAX-CDPACK - CDREJ This subroutine has not yet been written - might be useful 3. VAX-CDPACK - CDINF Peter has made a routine CDINF (similar to CDERRM) which reports in text what a particular value of INF on a call to CDSTAT(MBN,INF,ISTAT) means. This routine should be generalised to all systems - but it should not use routines such as MSGOUT, nor should it have any FORTRAN I/O in it for the PDP-11 version. 4. VAX-CD Driver and Quota You can quite easily get a process using CD reads into the MWAIT state, and be unable to abort it. If you issue several READs without waiting for completion, when your direct I/O quota runs out your process goes into the MWAIT state. Then apparently no driver gets called on CANCEL, when you try to abort your process. This appears to be a VMS bug - to be SPRd. To get the process out of this state you have to force the pending READS to complete, by sending the process some messages. The test program XMTLUP could be used to do this. The PTC of the 'hung' process can be found out using the CDTRACE program. Notes/Problems/Suggestions on Connected Machines software Page 4 2.0 RT SOFTWARE 2.1 BUGS And Features Which Should Be Fixed ____ ___ ________ _____ ______ __ _____ 1. RT-Driver - Some of the errors ("Immediate" type only) are handled by the RT driver differently than described in DS78. They are all reported as ERROR = 1, which is 'Hard Error'. (The RT-11 Monitor overwrites the CDDRIVER Error reported in byte 52 with this error). The presence of an "immediate" error most likely reflects a bug in the user program, rather than in an operational condition on the link. Documentation and CDPACK should be changed to reflect this. 2. RT-CDPACK - CDWAIT, CDXMTW and CDRCVW all currently wait for the completion of all I/O on a channel, rather than only on the completion of a particular message. This may cause a problem when there is more than one message outstanding on a channel. 3. RT-MULTI Connected machines parts of RT-MULTI should not use the IV array. 2.2 Comments, Features, Suggestions, Ill-defined Problems _________ _________ ____________ ___________ ________ 1. If you terminate a program using the CD driver, without doing an HRESET you may get a problem with the system looping doing repeated resets. To be sure to terminate a CD related program cleanly, you must 'catch' CTRL C and always exit the program by doing an HRESET. This is because RT-11/SJ does not provide a facility for a device driver to be informed of an abort or exit. 2. RT-Driver/RT-11 - When you have I/O outstanding, such as a CD READ posted, without waiting for it to complete, and the USR is set to SWAP, FORTRAN I/O will hang waiting for completion of all outstanding I/O. This appears to be a RT-11 bug or 'feature'. 3. RT-CDPACK - In the future CDPACK could be streamlined for RT-11 by removing all reference to channel tables, which are needed only for RSX. Also argument checking could be removed or conditionalised. Notes/Problems/Suggestions on Connected Machines software Page 5 4. RT-CDPACK - Some routines which exist for RSX and VAX are not implemented for RT. 5. RT-Driver supports only one physical DR11-W link at present. 6. RT-There are no command files to build RT software 7. There is a link-startup problem, because the RT driver is not called by the monitor when it is Fetched. Therefore it does not start the link protocol, or respond to a partner machines request to start, until an I/O request has been issued. A special function could be added to the driver to 'start' it but use of an existing function such as a READ without having an OPEN session will also serve to start the link up. 8. RT-MULTI - Not really an error, but LINK query prints out an awful lot of garbage. It would be nice to have an argument to LINK qu such as LINK QUERY{ FULL ,BUFFERS So that BUFFERS only would be the default, but the messge blocks would be available. Notes/Problems/Suggestions on Connected Machines software Page 6 3.0 RSX SOFTWARE 1. RSX-CD Driver - The version on the CD account on the VAX is not identical to that on the RSX CD ZG tape. There has been one bug fixed in a conditional, which did give errors when a driver was built with just one real DR11-W link and one virtual link. 2. RSX-CDPACK - The current distributed PDP-11 version of CDPACK, for RSX and RT-11, on the VAX CD account is not that on the RSX ZG tape. This version has been modified for RT-11 signals. This has changed the structure of the internal message block used in CDPACK. This version has never been tested for RSX. The ZG tape version of CDPACK has been archived on the CD account under CD$ROOT:[CDPACK.RSX]. 3. RSX-CDPACK - There are some routines implemented for VAX CDPACK, which have not yet been implemented for RSX - CDKILL, CDSTOP, CDREJ Notes/Problems/Suggestions on Connected Machines software Page 7 4.0 CORRECTED BUGS/PROBLEMS FOR ALL SYSTEMS _________ _____________ ___ ___ _______ (only those bugs/problems previously in the SPR file) 1. VAX-CDTRACE - position of .DAT file You must be on the account of the format file CDTRACE.DAT in order to run this program. This is a minor inconvenience, especially as the program does not report this, but just hangs. It would be better to have it read a file from a logical name directory, and report to you if it could not find or open that file. 2. VAX-CDTRACE There is a bug, when the last entry is at the very end of the buffer, and the FFFF marker field is in the first word of the buffer. CDTRACE falls off. 3. VAX-CDTRACE Some format statements print out the text associated with the last value in the format statement, but not the value. 4. VAX-CDTRACE Getting a snapshot of the trace buffer should be done before the reading of the format file, so that the long delay comes only after you have got the interesting data in the trace. 5. VAX-CDTRACE Can the way in which the format statement file is handled be speeded up. Is it another fortran formatting problem with 130A1 instead of character string (A)? It is incredibly slow. 6. VAX-CDTRACE Control O should completely stop the output of the trace - in the same way as control O works for SDA. At present the program continues to format up the records, just doesnt display them at the terminal, and that takes almost as long as actually showing the trace. The actual formatting is also extremely CPU intensive - could that be an ineffecient fortran format also? 7. VAXCDTRACE The SET OUTPUT LP: option should spool a file to the line printer, not grab the line printer and output to it line by line. 8. VAX-CDTRACE The SET OUTPUT option does not work. It gives no error but the file specified does not exist afterwards. 9. VAX-CDTRACE If the user has no privilege to get at the driver tables and trace buffer the program should report this - not say that there is no trace in the driver. Notes/Problems/Suggestions on Connected Machines software Page 8 10. VAX-CD driver REJECT QIO when message actually in progress crashes. 11. VAX-CDPACK - CDTMO and CDWAIT Steve Smith is having some problems using CDWAIT with MBN = 0. 1. CALL CDTMO(time, timunit) doesn't change the timeout period for reception of CDPACK messages; the timeout period remains about 2-3 seconds. In fact directly changing CDTIMOUT in the CDPACK common block doesn't affect the timeout period. CALL CDMODE can turn the timeout feature on and off. (? is there a problem with TIMUNIT other than seconds - I dont see a problem if TIMUNIT is for seconds - VW) 2. CALL CDWAIT(0) never exits, even when a transmission completes. (I can halt the program and see a perfectly good full buffer, but the program never got out of the wait for event flag.) CDWAIT(mbn) where mbn is an explicit message block number does work as always. Steve Smith 12. VAX-CDPACK - Event flag confusion in CDPACK. If you mix wait and no wait I/O you can find the wait I/O completing with a 'PENDING' status at the time the no-wait I/O completes. This is because CDPACK uses no event flag in the QIO call, but sets its own EF in an AST for no-wait I/O. However VMS actually uses EF 0 in this case. Must allocate another EF for CDPACK use and put in the documentation to cure this problem. 13. RT-CD Driver The RT CD Driver can not send or receive messages with PTC=174(D) and higher. This due to a bug in the driver which will be fixed. There are, actually, two similar bugs: page 14, line 46 (after 'CDCRQ:' and '20$:') and page 17, line 8 (after 'CDSPFN:' and '100$:') Both lines have: CMP 255,... They should have: CMP 255.,... Notes/Problems/Suggestions on Connected Machines software Page 9 i.e. the number 255 must be decimal, not octal. This error was originally reported by Steve Smith of E605 on 30-Nov-1983. Mark Pyatetsky, x3950. 14. SET option needed to dynamically specify CSR and vector for DR11-W, without re-assembling driver each time.