ÿ CAC Customer Newsletter Sequence Number 0026 Dec 22, 1988 Stratus Computer, Inc 55 Fairbanks Blvd Marlboro MA 01754 The information in this document is subject to change without notice. Stratus Computer, Inc. makes no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. This document contains proprietary information that is protected by copyright. All rights are reserved. COPYRIGHT (c) 1988 Stratus Computer, Inc. All Rights Reserved. CAC Customer Newsletter #0026 Page i TABLE OF CONTENTS 1 EVENT MANAGEMENT CHANGES [DD] ................................. 1 1.1 Current Event ID Format ............................... 1 1.2 Release 9 Event ID Format ............................. 1 1.3 Future Event ID Change ................................ 2 1.4 Possible Trouble Areas ................................ 2 1.5 What Else? ............................................ 3 2 A NULL DEVICE IS NOT A USELESS DEVICE [MB] .................... 4 2.1 Examples .............................................. 4 2.2 Restrictions .......................................... 4 3 QUICK TIPS ............................................... 5 3.1 Useful Abbreviations [WPE] ............................ 5 3.1.1 list_abbreviations ............................ 5 3.1.2 display_out ................................... 5 3.1.3 edit_abbreviations ............................ 6 3.1.4 tellcac ....................................... 6 3.1.5 site_call_system abbreviatiions ............... 6 4 CONSOLIDATED TABLE OF CONTENTS [TP] ........................... 7 5 SEASON'S GREETINGS ........................................... 11 CAC Customer Newsletter #0026 Page ii FOREWORD The CAC Newsletter is a publication of the Stratus Customer Assistance Center. Its purpose is to distribute information to the users of Stratus software and hardware. This newsletter answers commonly asked questions, gives interesting tips and techniques, and tracks software and documentation availability. The overall intent of this newsletter is to provide answers before the questions are asked and to clarify often misunderstood areas. Comments and/or suggestions for future articles should be sent to the Stratus Customer Assistance Center via Remote Service Network mail addressed to: CAC Newsletter Editor. CAC Customer Newsletter #0026 Page 1 1 EVENT MANAGEMENT CHANGES [DD] A future version of the operating system (release 10 or greater) will contain a major change in the way events and event_ids are handled internally. Normally, such a change would be invisible to you as a user. In this case, however, the format of the event_id itself will change. Although the format has never been formally documented for users, it is discussed in Stratus Education classes, and is not all that hard to deduce. We are concerned that you might have used this knowledge in such a way that your programs could suddenly stop working if Stratus changes the event_id format. 1.1 Current Event ID Format In all currently-released systems, the 32-bit event_id that is used throughout the system contains subfields that uniquely identify a module (within a network of systems and modules) and an index (into the event table for that module) that uniquely identifies the event. In addition, another subfield is incremented for each new use of the same table entry (called the "unique" field); this allows re-use of the event table entry while maintaining the ability to recognize use of an old, invalid, event_id. The format imposes some restrictions: o Sixteen bits are required for unique module identification in large networks. The remaining 16 bits are available to identify the event. o Using 12 bits for the event_table index means that the maximum possible number of events per module is 4096 (other factors currently limit this to 4062). o The remaining 4 bits are used for the unique field, so after 16 re-uses of the event_table index, the event_id is no longer sufficiently unique to recognize old, invalid, uses of the event_id. This is also aggravated by the current assignment algorithm, since old, (currently) unused, event_table entries are reassigned (with the unique field incremented) before virgin entries are used. o The re-use of event_id values for events attached across the net is particularly difficult to detect and handle correctly in the event of network failures (bug net-69/vos-1443), and the event_id becomes unusable for some period of time. 1.2 Release 9 Event ID Format Customer system configurations continue to grow larger and larger, and some are constrained by the limited number of events per module. To alleviate this, release 9 contains a minor change to the event_id format: the size of the event_index field has been increased by 1 bit CAC Customer Newsletter #0026 Page 2 and the size of the unique field decreased by 1. This doubles the number of possible events per module, but increases the possibility of re-use of an old, invalid, event_id. To alleviate the latter condition, reassignment of event_ids will be on a round-robin basis, making the time between uses of the same event_table index much longer. 1.3 Future Event ID Change To overcome all of the limitations requires a drastic change: the event_id value that is passed to users will become an index into a per-process table of events attached by that process or it will be an index into a per-module table of "system" events (such as those for I/O devices) that do not need to be attached by a process. These tables, hidden from sight, will contain a new, expanded, event_identification structure that will have fields of sufficient size to address the event_id requirements of users, both now and in the future. In addition, there will be enough "unique" information retained for network events that bug vos-1443 can be resolved. The concept is similar to that used for I/O ports, where the port_id or port_number is really just an index into a table of pointers, each of which points to the actual structure used to control I/O on that port. 1.4 Possible Trouble Areas The changes make it useless to pass an event_id around among processes. In most cases, two or more processes attached to the same event will have a different event_id because each is likely to have information about the event in a different element of the process' event control table. Therefore, event_ids from different processes cannot be compared, nor can they be used outside of the owning process, even if passed to another process (perhaps via a queue or through shared virtual memory). Again, the comparison to port_id can be made: it's useless to compare port_id values from different processes or to pass the port numbers among processes. For the current releases, it would not be legal to use an event_id for system calls from a process that was not attached to that event, so we believe that there is little chance that event_id values are being misused in this manner. If you have misused knowledge of the format of an event_id, your only recourse is to revamp your programs before these changes are released. CAC Customer Newsletter #0026 Page 3 1.5 What Else? While we're on the subject of misused knowledge, and you're looking through your programs, you might watch out for any use of the knowledge of the format of module and system identifiers (specifically, internal system_id and module_id formats, not system or module names) and/or the format of a process_id. It's reasonable to assume that these formats also will change sometime in the future to accommodate the ever-increasing size of networks of Stratus systems. CAC Customer Newsletter #0026 Page 4 2 A NULL DEVICE IS NOT A USELESS DEVICE [MB] Mike Byrne of the Stratus Minneapolis office called our attention to a useful (little-known) feature of the operating system, the always-configured device called "#null". This device was originally implemented to support the Unix System Facility (USF) "/dev/null" device. #null is useful for throwing away unwanted output. 2.1 Examples Mike passed along two examples: o Nightly batch runs that cleanup .*edit* _edit* & *.backup with a series of walk_dir commands use #null as the -output_path of the process so they don't use up disk space for the .out file o A customer just wanted to read all disk drives (especially before replacing a drive) to see if any read errors occurred. Solution: attach_port null_port #null save null_port -all_disks 2.2 Restrictions As it is implemented in VOS, the #null device has a number of restrictions which mean it cannot be substituted for all port attachments o The io_type must be INPUT_TYPE (1), OUTPUT_TYPE (2), APPEND_TYPE (3), or UPDATE_TYPE (4). Otherwise, s$open returns e$invalid_file_type. o The access_mode must be SEQUENTIAL_MODE (1) or RANDOM_MODE (2). Otherwise, s$open returns e$invalid_access_mode. o Reads return error_code = e$end_of_file and record_length = 0. (#null is intended to be an output device). o Writes always return error_code = 0. o Any other operation (e.g., s$seq_position) returns error_code = e$invalid_io_operation. Thanks, Mike. Surely, imaginative customers will find undreamed of ways to use this feature. (And if you come up with something truly imaginative and useful to others, we'd like to hear about it). {Editor's note: A future enhancement to the operating system should allow the #null device to be the target of a link. Thus you can write an application with a canned pathname and later discard unwanted output without changing the program.} CAC Customer Newsletter #0026 Page 5 3 QUICK TIPS 3.1 Useful Abbreviations [WPE] The following is a contribution to the newsletter from Bill Everts, a System Administrator at a customer site. Thanks, Bill. 3.1.1 list_abbreviations If you are a long-standing Stratus user, the odds are that you have abbreviations that you don't even remember. On the other hand, if you are a new Stratus user, perhaps you haven't memorized all the abbreviations that your System Administrator gave you as a start. In either case, the 'la' (for list_abbreviations) abbreviation is helpful. first la by display (home_dir)>abbreviations -match &1& -line_numbers It will display your abbreviation file and match on a given string. For instance, to see all of your abbreviations that have the word "create" in them, la create %sys#d01>SysAdmin>joe_user>abbreviations 88-12-05 11:01:27 MST 54 first cd by create_dir 59 first ci by create_index 65 first crf by create_file 66 first crq by create_file -organization server_queue 67 first ct by create_table -totals Another way of using it is to see the definition of an abbreviation. What does "lsdu" mean? la ' lsdu ' %sys#d01>SysAdmin>joe_user>abbreviations 88-12-05 11:06:00 MST 193 first lsdu by list -all -sort date_used -header -full 3.1.2 display_out Do you often display the contents of a .out file? How about this "do" (for display_out) abbreviation? first do by display &1&*.out &f2& A variation of this has "*&1&*.out" but this prevents &1& from being anywhere but in the current directory. However, it does mean you can use something from the middle or end of the file name, not just the start. Take your pick. Either way, you only have to use enough characters to select the files you want to see. CAC Customer Newsletter #0026 Page 6 {Editor's note: A CAC manager contributed the following convoluted technique that is so long that it has to be put on two lines in this newsletter (you should join the lines before using it). first do by display (reverse (after (reverse &1&) (before (reverse &1&) > )))*(reverse (before (reverse &1&) > ))*.out &f2& He claims it actually works, and it eliminates the restrictions about objects having to be in the current directory. The combination of before, after, and reverse functions is a useful technique for taking apart names (perhaps to extract a suffix). In this case, however, the editor submits the following simplification: first do by display (directory_name &1&*)>*(object_name &1&*.out) &f2& So, take your pick.} 3.1.3 edit_abbreviations The next abbreviation is used to change your abbreviation file and then immediately begin using the changed abbreviations. first ea by emacs (home_dir)>abbreviations;use_abbreviations (You probably want to use other options and/or another editor, but you get the idea.) 3.1.4 tellcac Have you tried sending a message to a CAC support person logged into your system with send_message? If so, then you have found that send_message cannot locate the CAC login. This is a side effect of the special way the maintenance bridge server starts the pre-login process on the Remote Service Network port. Use this abbreviation to make it easier. first tellcac by maint_request send_message (string &f1&) 3.1.5 site_call_system abbreviatiions Here are some abbreviations to use with the site_call_system: first lc by list_calls first lcn by list_calls -status new first lco by list_calls -status open first lct by list_calls -updated_after (date) first lcw by list_calls -updated_after (date -1 week) first lcy by list_calls -updated_after (date -1 day) CAC Customer Newsletter #0026 Page 7 4 CONSOLIDATED TABLE OF CONTENTS [TP] This being the last issue of the year, we thought it might be appropriate to list the Table Of Contents of past issues of the CAC Customer Newsletter. The back issues should be found in the (master_disk)>system>doc directory on your system (except for release 8.0 systems, which is a bug that has been fixed). cac_newsletter_0001 1 DISK VERIFICATION 2 RELEASE 3.0 RJE 3 RSN SITE NAMES 4 POINTS OF INTEREST ... DEVICES 4.1 Quick Tip cac_newsletter_0002 1 TASKING: THE PROCESS TERMINAL 2 s$disk_sort_init 3 s$set_transaction_file 4 POINTS OF INTEREST ... DEVICES cac_newsletter_0003 1 DIRECT QUEUES 2 IF YOU HAVE PROBLEMS READING SERVER QUEUES 3 DISABLING TERMINAL DISPLAY 4 CAC CALL MANAGEMENT cac_newsletter_0004 1 LANGUAGES - EXTERNAL ERROR ENTRIES 2 I/O CONFIGURATION - SMART CARDS AND CHANNEL ZERO 3 PRODUCTIVITY TOOL - MONTHLY SYSTEM LOG MANAGEMENT 4 AUTOMATIC UPDATE OF WORD PROCESSING SPELLING DICTIONARY cac_newsletter_0005 1 RESPONSE TIME MEMO 2 s$search_library 3 QUESTIONS AND ANSWERS cac_newsletter_0006 1 s$msg_read 2 NETSERVERS - HOW MANY IS ENOUGH? 3 ORACLE LOCKING 4 BIG ARRAYS IN COBOL 5 SIZING INDEX SPACE 6 SNA DOC CORRECTION cac_newsletter_0007 1 STRATUS CUSTOMER SERVICE AFTER HOURS COVERAGE 2 TIP ON USING INSERT-DEFAULT and INSERT-SAVED KEYS 3 BISYNC: BSC_START_REC_OPCODE (303) 4 RSN CONFIGURATION CORRECTION REQUIRED 5 NOTE ON USING FORMS AND 3270's 6 REPORTING ORACLE PROBLEMS TO STRATUS 7 SYNCHRONOUS PROTOCOLS: I/O BLOCK EXIT STATUSES 8 PRODUCT ENHANCEMENTS AND REQUESTS 9 SETTING THE SYSTEM TIME FROM THE CALENDAR CLOCK CAC Customer Newsletter #0026 Page 8 cac_newsletter_0008 1 SPECIAL MESSAGES FROM THE CAC 2 SWITCHING BETWEEN VOS RELEASES 3 DEBUGGING FAULTS FROM s$free 4 QUESTIONS AND ANSWERS cac_newsletter_0009 1 CHANGES IN IMPLICIT LOCKING 2 FILE IO WARNINGS IN THE SYSERR LOG 3 FUNCTION KEYS ON V102 TERMINALS 4 TIP FOR COBOL FMS USERS 5 USING MULTIPLE ABBREVIATIONS FILES 6 NEW CAC 800 NUMBER FOR CUSTOMERS 7 WARNING: SERIOUS COMM_TRACE BUG 8 NOTIFICATION OF CAC MOVE/SCHEDULED SRSN DOWNTIME cac_newsletter_0010 1 BISYNC: set_comm_thresholds 2 CONFIGURING 3270 DEVICES 3 REMOTE 3270: set_comm_thresholds 4 dump_tcbh COMMAND 5 SDLC: s$control runout 6 X25/LAP: set_comm_thresholds 7 SDLC: set_comm_thresholds 8 SNA CONFIGURATION FOR MIXED R4 AND R5 SYSTEMS cac_newsletter_0011 1 REGISTRATION AND PASSWORD DATABASES 2 ORACLE LOCKING MODES 3 THE LEVEL 7 INTERRUPT 4 ORACLE USAGE NOTES 5 CHECKING AND SETTING (command_status) 6 CHANGING THE module_start_up.cm 7 TIP: RED-LIT BOARDS 8 STRATUS CUSTOMER SERVICE AFTER HOURS COVERAGE cac_newsletter_0012 1 UN-UNINITIALIZING A DISK 2 THE 'EXISTS' MACRO FUNCTION 3 REMOTE 3270: IO BLOCK EXIT STATUSES 4 A BRIEF GUIDE TO USING ASYNC IO 5 SNA: WATCH OUT FOR . . . . 6 SNA: s$write_device 7 ALTERING YOUR PRELOGIN BANNER cac_newsletter_0013 1 USING NO_WAIT IO 2 WIREABLE MEMORY 3 NEW/UPDATED MANUALS 4 THE REMOTE SERVICE NETWORK 5 PREPAGING 6 DUMP PARTITION AND DUMPS DIRECTORY 7 CAC EMERGENCY PHONE NUMBERS cac_newsletter_0014 1 RELEASE 5 HEAP MANAGEMENT 2 NEW BUG FIX SERVICE WITH RELEASE 5 3 RSN: NEW HARDWARE ERROR BEING MONITORED 4 RSN: CAC vs. HUB MAIL CAC Customer Newsletter #0026 Page 9 cac_newsletter_0015 1 'WARNING' FOR TTP CREATORS 2 RELEASE 5 DISK CABINET POWER 3 SOFTWARE RELEASE TERMS 4 FMS: MULTIPLE ACCEPT STATEMENTS 5 GENERATING RANDOM NUMBERS 6 BISYNC: POSSIBLE ERROR CODES cac_newsletter_0016 1 REMOTE 3270 PRINTER SPOOLER SUPPORT 2 FMS FORMS DESIGN 3 GATHERING SNA & SDLC TRACES 4 REMOTE 3270 FIRMWARE LOADING 5 NEW RELEASE 5 REMOTE 3270 PARAMETERS cac_newsletter_0017 1 A NOTE ABOUT CREATE_REGISTRATION_SYSDB 2 REMOTE 3270 POLL INTERVAL (RELEASE 5) 3 ENTERING RJE CALLS 4 SPOOLER REWRITE 5 SUPPORT COORDINATION TIP OF THE MONTH cac_newsletter_0018 1 s$set_io_time_limit 2 SDLC: NEW POLL RETRY FUNCTIONALITY 3 REMOTE 3270 LINE ADAPTER POLLING STATUS 4 BSC MESSAGES IN THE SYSERR LOG cac_newsletter_0019 1 DISK REPLACEMENT WARNING 2 RE-MAPPING BAD OR MARGINAL DISK BLOCKS 3 ANALYZE_SYSTEM DUMP_R3270_TRACE COMMAND 4 A CAC IMPOSTOR 5 TAPE CARE 6 DOCUMENTATION ERROR IN DEFINING A TERMINAL TYPE 7 ORACLE RELEASE 5 INSTALLATION PROCEDURE cac_newsletter_0020 1 WHAT TO DO UNTIL THE MODULE COMES BACK 2 BUT IT WORKED LAST RELEASE...... 3 PERIODIC TEST 4 REGISTRATION ADMINISTRATION cac_newsletter_0021 1 LINK ACCESS PROCEDURE (LAP) ERROR MESSAGES 2 RESTORING OUT OF SERVICE CHANNELS VIA UCI 3 HOW TO FIND MAX QUEUE DEPTH 4 IT'S 7.0 -- DO YOU KNOW WHERE YOUR SOFTWARE IS? 5 REACHING THE CAC ANSWERING SERVICE cac_newsletter_0022 1 PHOENIX CAC RSN 2 COBOL EXTERNAL FILES 3 FMS: e$form_invalid_rfi_feature IN RELEASE 6 4 SNA TRACING 5 HEAP ALLOCATION TAGS CAC Customer Newsletter #0026 Page 10 cac_newsletter_0023 1 X.25_EXCHANGE CALL TRANSFERS 2 DUMP PARTITION SIZES 3 THE STRATUS CUSTOMER SURVEY 4 PHOENIX CAC RSN 5 CUSTOMER CONTINGENCY PLANNING cac_newsletter_0024 1 RESTARTABLE SAVE 1.1 The Resave Log File 1.2 Responding to a Save Interrupt 2 PASSWORD SECURITY RULES 3 VERIFYING STRATALINK CONFIGURATION 3.1 display_ring Command 3.2 Diagnosing Problems 4 SDLC HEAP USAGE 5 KEEPING YOUR COOL 6 PROTECT YOUR IDENTITY 7 SAVE THE COMPLETE RELEASE cac_newsletter_0025 1 _DELETED_RECORD_INDEX VS. _RECORD_INDEX 2 X.3 BAUD RATE CODES [DD] 3 ONCE IT'S GONE, IT'S GONE 3.1 The Problem 3.2 Possible Solutions 4 MEMORY USAGE IN RELEASE 7 4.1 Device Drivers 4.2 Asynchronous Terminals and ICSS 4.3 FMS Kernel Loadable Program 4.4 Cache Manager Defaults 5 WHAT ARE YOU WAITING FOR? 6 QUICK TIPS 6.1 Site Call System Escalation Text 6.2 Useful Abbreviations 6.3 Listing the Links 7 GREETINGS AND SOLICITATIONS CAC Customer Newsletter #0026 Page 11 5 SEASON'S GREETINGS J ohn Acuna J T Amirault Ja y Appell David Arcar i Mike Baltes M aryAlice Bastian Greg Baryza John Beech inor Allan Beth Dia ne Biron Stewart Bogen Paula Botch Dave Boulter Ed B oulter Bonnie Braun John Brazile Lisa Bristol Kathle en Campbell Rich Capano Carole Cappello Jim Cardell Paul Carr Bill C rowley Dan Danz Noah Davids Nick DiFabio Chris Digou Gary Dixon Kevi n Dorer Rob Drelles Scott Duncan Tom Ec k Debbie Feldman Donna Fortunato George Fulle r Mary Fuller Bill Gauthier John Grayson John Green Tom Hamilton Ken Hatfield Bill H oke Charles Hughes Ellen Johansen Lorinda Jones David Kirkpatrick Rick Kovalcik Mardi Landes Paul Lel li Alex Lopatin Peggy Macunovich Dennis Maggard J oan McElvenny Eric McGrane Tim Mead Jim Monahan Deb bi Moore Laurie Moran Dave Morrison Vanaja Natarajan Is ela Nejbauer Wayne Newberry Trung Nguyen Mary Palmisano Tom P angbron Bill Peach Paul Pederson Ginger Phillips Sandy Po wers Joe Reinhardt Michael Rieth Deric Shea Greg Sheard Cha rlie Spitzer Bill Stamm Rajiv Sud Dennis Tetreault Warren Tuisk ula Wayne Tuiskula Greg Vachowski Howard Weiss Eric Williams Bud Wood ward KK So Barry Chau WM Cheung Eric Lai Herbert Ngan Philip Tsan g Becky Ng Zen Yamada Winston Hu Masaaki Furuya Takemi Ohnuki Atsuk o Takazawa Jean-Claude Alderweirelt Mike Bellhouse Frank van den Berg Denis Billings Steve Bradshaw Ally Clarke Brian Cairns Chris Evans Bob Fothergill Steve Gaines Henk Heijmink Frank van der Heijde Reinhardt Kl ingner Bart van Loon Rik Moss Paula OConnor Alan Pettigrew Joan Pegman Theresa P hillips L utz Schlo nsok Mich ael Schwenzner Rich ard Sharod Alan Smi th Mike Thomas Jukka Va inio Jaap Vrolijk Tony Wickenden Stuart Wilson Season's Greetings from all the folks in Stratus CACs around the world.