DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ E T ┃
Length: 305230 (0x4a84e) Types: TextFile Names: »ENVIRONMENT_RELEASE12_6_5_LPT«
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3 └─ ⟦fc9b38f02⟧ »DATA« └─⟦47afa1691⟧ └─⟦this⟧ └─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS └─ ⟦91c658230⟧ »DATA« └─⟦75a4ca594⟧ └─⟦this⟧
Rational Environment Release Information Release D_12_6_5 \f Copyright 1992 by Rational Part Number: 508-003207-006 May 1992 (Software Release D_12_6_5) IBM is a registered trademark and RISC System/6000 is a trademark of International Business Machines Corporation. PostScript is a registered trademark of Adobe Systems Incorporated. Rational and R1000 are registered trademarks and Rational Environment is a trademark of Rational. Sun Workstation is a registered trademark of Sun Microsystems, Inc. UNIX is a registered trademark of UNIX System Laboratories, Inc. Rational 3320 Scott Boulevard Santa Clara, California 95054-3197 \f Release D_12_6_5 1. Overview The D_12_6_5 release of the Rational Environment is primarily a maintenance release that: * Fixes a large number of problems from previous releases, enabling existing commands to work correctly. Some of these fixes introduce new features (see section 6); other fixes involve changed features (see section 7). Efforts to fix problems have been focused in: - System reliability. Several problems that could cause the Environment to crash have been fixed; and the Environment has been made more robust in many (previously fatal) error conditions. - The Ada compilation system. In select cases, some changes may cause code that used to compile to no longer compile. For details, see section 7.6. * Changes the default value of the R1000_Cg.Retain_Delta1_Compatibility library switch (from True to False) so that, by default, the R1000 code generator takes advantage of numerous features and bug fixes introduced in the D_12_1_1 compiler. These features and bug fixes may cause the code generator to emit code that is not compatible with releases prior to D_12_1_1; see section 7.7. * Introduces various new Environment interfaces, including: - New procedures and functions in packages Access_List_Tools, System_Maintenance, and Dfs; see sections 6.1, 6.2, and 6.3. - A new world (!Machine.Login_Policy), in which you can place subprograms and files that control login policies and messages; see section 6.4. - A new subsystem (!Tools.Telnet_Tools), which provides tools for writing programs that use the Environment's networking facilities; see section 6.5. * Delivers the Documentation Tools, Rational X Interface (RXI), and Rational Windows Interface (RWI) products with the standard Environment. Product authorization tokens are no longer required to use these products. See sections 3 and 7.14. * Introduces three expanded and up-to-date volumes of the Rational Environment Reference Manual: - Volume 4: Session and Job Management (SJM) RATIONAL May 1992 1\f Rational Environment Release Information - Volume 5: Library Management (LM) - Volume 10: System Management Utilities (SMU) New online help is also provided for each of the packages described in these books; see section 8. Note: This release information can be found in the !Machine.Release.Release_Notes world in line-printer (Environment_Release12_6_5_Lpt) and PostScript (Environment_Release12_6_4_Ps) formats. 2. Supported Configurations and Upgrades D_12_6_5 supports the following configurations of the R1000: * Series 100 * Series 200 (Models 10, 20, and 40) * Series 300 System (300S) * Series 300 Coprocessor (300C) for the IBM RISC System/6000 and Sun Workstation servers * Series 400 System (400S) * Series 400 Coprocessor (400C) for the IBM RISC System/6000 and Sun Workstation servers D_12_6_5 supports two kinds of tape drive: * The 9-track tape drive, which is standard on the Series 100 and 200, and an optional upgrade to the Series 300S * The 8-millimeter tape drive, which is standard on the Series 300S, 300C, 400S, and 400C, and an optional upgrade to the Series 200 D_12_6_5 also supports the optional expansion of memory from 32 megabytes to 64 megabytes to improve system performance. This upgrade applies to all series except the Series 100. The combinations of configurations and upgrades supported by D_12_6_5 are shown in Table 1. 2 May 1992 RATIONAL\f Release D_12_6_5 Table 1 Configurations and Upgrades Supported by D_12_6_5 ---------------------------------------------- | | | | | | | | 8-mm |9-Track | 32-Mb | 64-Mb | |Configurat| Tape | Tape | Memory | Memory| | ion | Drive | Drive | | | ---------------------------------------------- | | | | | | |Series 100|N/A |Standard|Standard| N/A | ---------------------------------------------- | | | | | | |Series 200|Upgrade |Standard|Standard| Upgrade| ---------------------------------------------- | | | | | | |Series |Standard|Upgrade |Standard| Upgrade| |300S | | | | | ---------------------------------------------- | | | | | | |Series |Standard|N/A |Standard| Upgrade| |300C | | | | | ---------------------------------------------- | | | | | | |Series |Standard|N/A |Standard| Upgrade| |400S | | | | | ---------------------------------------------- | | | | | | |Series |Standard|N/A |Standard| Upgrade| |400C | | | | | ---------------------------------------------- 3. Compatibility D_12_6_5 is fully compatible with all production versions of Rational layered-software products (Table 2). Table 2 Compatibility with D_12_6_5 ------------------------------- | | | | |Compatible| | Rational Product | Release | ------------------------------- | | | |CDF: Mc68020_Bare |5_1_2*or | | |later | ------------------------------- RATIONAL May 1992 3\f Rational Environment Release Information Table 2 Compatibility with D_12_6_5 (continued) ------------------------------- | | | | |Compatible| | Rational Product | Release | ------------------------------- | | | |CDF: Mc68020_Os2000 |6_1_3 or | | |later | ------------------------------- | | | |CDF: Mc68020_Hp_Unix|6_2_4 or | | |later | ------------------------------- | | | |Design Facility: |6_0_7 or | |2167 |later | ------------------------------- | | | |Design Facility: |6_2_5 or | |2167A |later | ------------------------------- | | | |Design Tools |10_2_9 or | | |later | ------------------------------- | | | |Documentation Tools |10_2_# or | | |later | ------------------------------- | | | |Mail |11_4_5 or | | |later | ------------------------------- | | | |Rational Publishing |1_0_2 or | |Interface |later | ------------------------------- | | | |Rational Teamwork |2_1_2 or | |Interface |later | ------------------------------- | | | |Rational X Interface|10_5_# or | | |later | ------------------------------- | | | |Rational Windows |10_1_# or | |Interface |later | ------------------------------- 4 May 1992 RATIONAL\f Release D_12_6_5 Table 2 Compatibility with D_12_6_5 (continued) ------------------------------- | | | | |Compatible| | Rational Product | Release | ------------------------------- | | | |Remote Compilation |1_1_1 or | |Facility |later | ------------------------------- | | | |RCF: Ibm_Rs6000_Aix |1_1_0 or | | |later | ------------------------------- | | | |RPC |1_0_2 or | | |later | ------------------------------- | | | |Software Analysis |6_0_0 or | |Workstation |later | ------------------------------- | | | |Target Build Utility|10_0_3 or | | |later | ------------------------------- * Before attempting to install new or changed CDF products or customizations, see section 5.1. # Beginning with D_12_6_5, the most recent releases of Documentation Tools, RXI, and RWI are delivered with the Environment. Thus, compatibility with these products is no longer an issue. For more information, see sections 6.6 and 7.14. 4. Upgrade Impact The Environment can be upgraded from to D_12_6_5 without forcing you to Archive.Save and Archive.Restore your applications. You will not have to modify or recompile any of your own tools, with the possible exception of: * Tools written against the unit specifications listed in "Impact of Specification Changes," below. * Customizations of unit bodies listed in "Impact of Implementation Changes," below. The new declarations listed in section 6 are all installed upward-compatibly and therefore have no impact on user-written RATIONAL May 1992 5\f Rational Environment Release Information tools. Rational does not provide tools for reverting to previous releases of the Environment. You will be able to revert to the previous release, however, if you make a complete backup of the Environment, including the Diagnostic File System (DFS), before you upgrade. 4.1. Impact of Specification Changes The installation process for D_12_6_5 changes several Environment specifications. The installation process attempts to make all changes incrementally; however, if incremental changes fail, the installation process overwrites the necessary specifications. Overwriting these specifications will cause the demotion of any customer-created tools written against them. The installation process tries to recompile such tools automatically; however, depending on the nature of the tools, some may require modification before they can be recompiled. Units that cannot be recompiled during installation are listed in the installation log. The unit specifications that are overwritten depend on the release from which you are upgrading. 4.1.1. Upgrading from D_12_5_0 The following unit specifications are overwritten when you upgrade from D_12_5_0 to D_12_6_5: * !Commands.Library'Spec * !Commands.System_Backup'Spec * !Tools.Access_List_Tools'Spec * !Tools.Code_Segment_Object_Editor'Spec * !Tools.Library_Object_Editor'Spec 4.1.2. Upgrading from D_12_2_4 In addition to the unit specifications overwritten when upgrading from D_12_5_0, upgrading from D_12_2_4 overwrites the following unit specification: * !Commands.Abbreviations.Print'Spec * !Commands.Access_List'Spec * !Commands.Archive'Spec 6 May 1992 RATIONAL\f Release D_12_6_5 * !Commands.Queue'Spec * !Commands.Remote_Passwords'Spec * !Tools.Networking.Tcp_Ip_Boot'Spec * !Tools.Networking.Transport'Spec * !Tools.Networking.Transport_Defs'Spec * !Tools.Networking.Transport_Name'Spec Furthermore, the units in !Machine.Initialize@ are either demoted or moved to other locations to accommodate the D_12_5_0 mechanisms for initializing an R1000; for complete details, see Appendix A, "Guide to Machine Initialization," or the online information in !Machine.Initialization.Guide_To_Machine_Initialization. If you are upgrading from D_12_2_4, you should also see the release information for D_12_5_0; release information is located online in !Machine.Release.Release_Notes. 4.1.3. Upgrading from D_12_1_1 In addition to the unit specifications overwritten when upgrading from D_12_5_0 and D_12_2_4, upgrading from D_12_1_1 overwrites the following unit specification: * !Implementation.Work_Order_Implementation'Spec If you are upgrading from D_12_1_1, you should also see the release information for D_12_2_4 and D_12_5_0; release information is located online in !Machine.Release.Release_Notes. 4.2. Impact of Implementation Changes The installation process for D_12_6_5 overwrites one Environment unit body (regardless of the release from which you are upgrading): * !Commands.Abbreviations.Print'Body Because this body may contain user customizations, its contents are saved in a text file in the same library as the overwritten body. The name of the file is of the form Unit_Name_Vnn, where nn is the unit's default version number. These customizations then can be transferred to the new implementation. 5. Known Problems and Limitations RATIONAL May 1992 7\f Rational Environment Release Information 5.1. Problem Installing the Cross-Development Facility The D_12_6_5 release of the Environment affects the installation of any of Rational's family of Cross-Development Facility (CDF) products. Specifically, you will not be able to install new or changed CDF products or customizations without first making a minor change to the following package specification: !Targets.Target_Key.Io.Floating_Point.M68k_Floats'Spec As delivered, the CDF products release prior to the D_12_6_5 Environment cannot be promoted to the coded state on a D_12_6_5 system because of changes made to the Environment's compilation system that enable it to comply with validation. Existing CDFs are not affected by this problem unless package M68k_Floats is demoted and an attempt is made to repromote it. The change you need to make to M68k_Floats'Spec follows. Note: Changing M68k_Floats'Spec will cause the demotion of M68k_Floats'Body, M68k_Float_Conversions'Body, and M68k_Float_Conversions.Based_Value'Body. Demoting these units will also demote any coded main programs that were coded with the CDF. 1. Locate the following two representation clauses. They can be found at the beginning of the private part (line 164 of the unit). for Single_Format use record at mod 4; Negative at 0 range 0 .. 0; Exponent at 0 range 1 .. 8; Fraction at 0 range 9 .. 31; end record; for Double_Format use record at mod 4; Negative at 0 range 0 .. 0; Exponent at 0 range 1 .. 11; Fraction_Hi at 0 range 12 .. 31; Fraction_Lo at 0 range 32 .. 63; end record; 2. Move the representation clause for Single_Format so that it immediately follows the declaration of its type (line 34 of the unit). type Single_Format is -- line 34 record Negative : Boolean; Exponent : Single_Exponent; Fraction : Single_Fraction; end record; 8 May 1992 RATIONAL\f Release D_12_6_5 for Single_Format use -- move rep clause to here record at mod 4; Negative at 0 range 0 .. 0; Exponent at 0 range 1 .. 8; Fraction at 0 range 9 .. 31; end record; function Convert_Out is new Unchecked_Conversion (Source => Single_Float, Target => Single_Format); function Convert_In is new Unchecked_Conversion (Source => Single_Format, Target => Single_Float); 3. Move the representation clause for Double_Format so that it immediately follows the declaration of its type (now line 60 of the unit). type Double_Format is -- line 60 record Negative : Boolean; Exponent : Double_Exponent; Fraction_Hi : Double_Fraction_Hi; Fraction_Lo : Double_Fraction_Lo; end record; for Double_Format use -- move rep clause to here record at mod 4; Negative at 0 range 0 .. 0; Exponent at 0 range 1 .. 11; Fraction_Hi at 0 range 12 .. 31; Fraction_Lo at 0 range 32 .. 63; end record; function Convert_Out is new Unchecked_Conversion (Source => Double_Float, Target => Double_Format); function Convert_In is new Unchecked_Conversion (Source => Double_Format, Target => Double_Float); 4. Repromote M68k_Floats'Spec. 5. Repromote M68k_Floats'Body and the other two units that have been demoted, M68k_Float_Conversions'Body and M68k_Float_Conversions.Based_Value'Body. 6. Repromote any coded main programs that were coded with the CDF. This problem will be fixed in Release6_3_3 of the Bare compiler, which should be available soon. Rational is also in the process of creating a new version of the OS2000 CDF product with this fix RATIONAL May 1992 9\f Rational Environment Release Information in place. 5.2. Errors Reported When Archiving Switch Files to Non-D_12_6_5 Machines The D_12_6_5 release of the Environment makes several changes to switches. When combined, two of these changes result in error messages when archiving switch files from D_12_6_5 systems to previous releases: * The D_12_6_5 release of the Environment changes the way in which switch files are copied. When used to copy a switch file in previous releases, the Archive.Copy procedure copied only switches that had nondefault values. In D_12_6_5, the Archive.Copy procedure copies the entire switch file, including switches that have default values. * D_12_6_5 also introduces a new library switch (see section 7.7). As a result of these changes, if you use Archive.Copy to copy library switches from D_12_6_5 to a system running a previous release of the Environment, Archive.Copy may generate errors indicating that certain switches do not exist. These errors can be ignored; the copy operation will complete successfully. Note that these errors are not considered a bug and will not be fixed in future releases. 5.3. Limitation in Archiving between Machines Running Different Releases There is a potential problem when performing Archive.Resore operations between two systems that are running different releases of the Environment. Because of changes made in D_12_5_0 (and perpetuated in D_12_6_5) in the way Archive saves subsystem compatibility databases (CDBs), you may experience problems when trying to restore a D_12_5_0 or D_12_6_5 archive on a pre-D_12_5_0 system. For example, the Archive operation may generate internal errors such as: INTERNAL ERROR (declaration mapping): ARCHIVE_IS_BAD restoring !Subsystem_Name.State.Compatibility.Declaration_Numbers.Unit_ Name A simple workaround exists. When saving objects to pre-D_12_5_0 systems, specify Version=527 in the the Options parameter of Archive.Save. For example, the following operation successfully saves My_View: Archive.Save (Objects => "My_View", 10 May 1992 RATIONAL\f Release D_12_6_5 Options => "Version=527", Device => "Machine.Devices.Tape_0", Response => "<PROFILE>"); When an attempt is made to restore My_View to a D_12_5_0 or D_12_6_5 system, Archive.Restore checks to see under what version of Archive the object was saved and adjusts accordingly. Note that this problem does not affect: * Archive.Copy operations, which copy over the network. In this case, Archive checks the version number on each end and uses the lower version number of the two. * Archive operations on text files, Ada units, or other non-CDB objects. * Archive operations between systems running D_12_6_5 and D_12_5_0. Note also that this is a compatibility issue with how CDBs are saved and not a bug. 5.4. Problem with Record Representation Clauses and Long_Integer Type A record representation clause may not include a component clause corresponding to a component of type Standard.Long_Integer (or a type derived, directly or indirectly, from type Long_Integer) unless an explicit range constraint has been given. An update that fixes this problem is already being developed and will be available shortly. (PRS number 8391844-Gato-Gbd) 5.5. Problem Using DFS Tools with Coprocessors A problem has been found with the new Diagnostic File System (DFS) tools, located in !Machine.Dfs. Specifically, the Fs_Download procedure does not work correctly when attempting to load a new DFS onto either a series 300C or 400C. This is considered a bug and will be fixed in a future release. Furthermore, the Fs_Download procedure cannot be used to load a new DFS onto a 100. This is a permanent limitation and will not be fixed. 5.6. Problems with Documentation Tools The Documentation Tools delivered with the D_12_6_5 release of the Environment include only the Document Formatter; they do not RATIONAL May 1992 11\f Rational Environment Release Information include the Spelling Checker. If you would like to obtain the Spelling Checker, contact your Rational representative. For information about the Document Formatter, see section 6.6.2. 5.7. Problem When Initializing Session Switch Files A problem has been found in the way in which the Environment initializes session switch files for sessions other than the default session. This problem is not introduced by the D_12_6_5 release; however, it has become more obvious with the introduction of new documentation for session switches in the SJM book. Each user's default session (S_1) obtains its initial session-switch values from system-defined default values. If a switch file does not exist for session S_1, the session uses the same system-defined default values. Subsequent sessions for which switch files have not been created use the switch values set for the user's default session, S_1. If a user creates a switch file for any of these subsequent sessions, the initial values are copied from the system-defined default values. This is a bug. Subsequent sessions should copy their initial switch values from the default session, S_1, as described in the new SJM book. 6. New Environment Interfaces D_12_6_5 provides a number of new interfaces, including: * New procedures and functions in: - Package Access_List_Tools; see section 6.1 - Package System_Maintenance; see section 6.2 - Package Dfs; see section 6.3 * New login policy features; see section 6.4. * A new subsystem that provides networking tools; see section 6.5. * New interface and documentation facilities that were previously delivered separately; see section 6.6. 6.1. New Declarations in Package Access_List_Tools Package !Tools.Access_List_Tools contains the new procedures and functions described in the following paragraphs. 12 May 1992 RATIONAL\f Release D_12_6_5 For complete information about this subprograms, see the new documentation for package Access_List_Tools in the Library Management (LM) book or in online help. 6.1.1. Function Grants function Grants (For_List : Acl; Desired : Access_Class; User_Name : String := "") return Boolean; Returns a Boolean value indicating whether the specified access-control list grants the specified username the desired access rights. This function is useful for restricting jobs that normally have unlimited access, such as servers and other *SYSTEM jobs. For example, you can use this function to cause a job or program to operate on objects only if members of the group Network_Public are permitted the appropriate access to those objects. 6.1.2. Function Is_In_Group function Is_In_Group (User_Name : String; Group_Name : String) return Boolean; Returns a Boolean value indicating whether the specified username is a member of the specified access-control group. This function returns True if the specified user is a member of the specified access-control group. This function returns False if an error is detected during the test or if the user is not a member of the specified access-control group. (PRS numbers 0-0301-9 and 9723630-0011-5) 6.1.3. Function Is_Valid_Group function Is_Valid_Group (Name : String) return Boolean; Returns a Boolean value indicating whether the specified name is a valid access-control group. 6.1.4. Procedure Remove procedure Remove (Group : String; Initial_Acl : Bounded_String.Variable_String; New_Acl : out Bounded_String.Variable_String; Group_Found : out Boolean); Removes the entry for the specified group from the specified access-control list. RATIONAL May 1992 13\f Rational Environment Release Information 6.1.5. Procedure Set procedure Set (For_Object : Directory.Version; To_List : Acl; Status : in out Simple_Status.Condition; Action_Id : Action.Id); Setting an object's ACL requires owner access to the nearest world enclosing the object. Note that setting a world's ACL does not require owner access to the world itself, provided that you have owner access to its parent world. This allows you to change the ACL of a world when no one has owner access to it. This procedure is the same as other Set procedures, with the addition of an Action_Id parameter. 6.1.6. Procedure Set_Default procedure Set_Default (For_World : Name; To_List : Acl; Status : in out Simple_Status.Condition; Action_Id : Action.Id); Sets the default access-control list (ACL) for the specified world or worlds. Setting a world's ACL requires owner access to that world. A world's default ACL is used to initialize the ACLs of new Ada units and files created in the world. This procedure does not modify the ACLs of already existing objects whose ACLs were set by the previous default ACL. This procedure is the same as other Set_Default procedures, with the addition of an Action_Id parameter. 6.2. New Procedures in System_Maintenance Subsystem !Commands.System_Maintenance'Spec_View contains the new procedures described in the following paragraphs. 6.2.1. Procedure Last_Gasp_Destroy procedure Last_Gasp_Destroy (Name : String); Caution: Use this procedure only as a last resort. Forcibly removes an object from a directory. Use this procedure only when you've tried every other means of deleting an object or 14 May 1992 RATIONAL\f Release D_12_6_5 set of objects. Normally: * This procedure should be used only if you are consistently getting Version_Error on a particular object. * This procedure can be used instead of elaborating Dir_Tester. * This procedure should not be used if you are getting "Key not found" errors. This procedure should be used only by Rational personnel or at their discretion. For a detailed description, including a complete list of steps you should try before using this procedure, see this procedure's specification: !Commands.System_Maintenance'Spec_View.Units.Last_Gasp_ Destroy'Spec Note that you must be operating in privileged mode to execute this procedure. 6.2.2. Procedure Release_Tape_User procedure Release_Tape_User (Drive : Natural); Resets the specified tape drive so that it is free, thereby allowing tape-mount requests to proceed without "Drive is in use" errors. This procedure also attempts to rewind the tape. Note that this procedure does not physically reset the drive. Note also that you must be operating in privileged mode to execute this procedure. The fully qualified name of this procedure is: !Commands.System_Maintenance'Spec_View.Units.Release_Tape_User (PRS number 9123690-0160-1 and CSR number 4788) 6.2.3. Procedure Show_Load_Proc_Unit_Names procedure Show_Load_Proc_Unit_Names (Load_Proc : String := "<SELECTION>"; Response : String := "<PROFILE>"); Obtains information that allows you to find the objects from which a loaded main program (Load_Proc or Load_Func) was created. Specifically, this procedure obtains the Ada object instance ID numbers for the Ada units that make up the source code for the RATIONAL May 1992 15\f Rational Environment Release Information loaded main program specified in the Load_Proc parameter. The display produced by this procedure includes lines of the form: Library.Resolve ("<[ADA, 12345,1]>"); These lines indicate the Ada object instance ID of one or more of the original Ada source units used to create the loaded main program. If those Ada source units still exist, and if they exist on the current machine, then the Environment pathnames of those units are also displayed. If the original source units do not exist (because they have been edited, moved, renamed, or deleted), or if the loaded main program was copied from another machine, then no pathname is printed. To attempt to locate the source units for a loaded main program that was copied from another machine: 1. Take the Library.Resolve lines that were printed by the Show_Load_Proc_Unit_Names procedure (as shown above). 2. Log into each R1000 where the source units might still exist. 3. Execute the Library.Resolve commands. If the source unit exists on any of these machines, the Library.Resolve command returns the fully qualified pathname of that unit. The fully qualified name of this procedure is: !Commands.System_Maintenance'Spec_View.Units.Show_Load_Proc_ Unit_Names (PRS number 9123690-0148-4) 6.2.4. Procedure Show_Tape_Users procedure Show_Tape_Users; Displays the current user and session for each tape drive that is defined in the IOP configuation. The fully qualified name of this procedure is: !Commands.System_Maintenance'Spec_View.Units.Show_Tape_Users 6.3. New Features in Package Dfs 16 May 1992 RATIONAL\f Release D_12_6_5 6.3.1. Support Tools The access routines for the Environment's Diagnostic File System (DFS) have been enhanced to make it easier to upgrade the DFS and to aid in problem resolution at the DFS (and lower) level. These changes allow an operator to: * Read a DFS tape into the Environment. * Create an Environment MT Image file object, containing the contents of that tape. (An MT Image object contains an ordered collection of DFS files. Creation of an MT Image object makes it possible to handle a set of DFS files as a single object.) * Download to the DFS from the Environment (either from an arbitrary Environment file object or from an Environment MT Image object created from a DFS tape). Support tools to create DFS tapes and move DFS files within the DFS are also provided. These support tools take the form of: * Several new commands in package !Machine.Dfs'Spec_View.Units.Dfs * A new package, !Machine.Dfs'Spec_View.Units.Install_Tools For complete details about the new commands in package Dfs and the new package Install_Tools, see the exported specifications online. For information about changes to existing commands in package Dfs, see section 7.12. 6.3.2. Dfs_Release File To aid in tracking updates to the DFS, D_12_6_5 also includes a new Dfs_Release file, which contains the release date, number, and notes for the current DFS release. To read Dfs_Release from the Environment, execute the following command: "!Machine.Dfs'Spec_View.Units".Dfs.Copy (Dfs_Filename => "Dfs_Release", Env_Filename => "Environment filename for output", Allow_Overwrite => False); Then traverse to the file specified in the Env_Filename parameter. The file should contain DFS release information such as the following: DFS D3.0 April 14, 1992 RATIONAL May 1992 17\f Rational Environment Release Information DFS release D3.0 User interface is now menu driven New program TOMBSTONE for viewing tombstone files from the DFS invoked by using "x tombstone" from the "CLI>" prompt. New program REWRITE for refreshing all data on a disk from the DFS invoked by using "x rewrite" from the "CLI>" prompt. For details and a copy of the standard help dialogue, see below. New IOP Kernels for 300C, 300S, 400C and 400S are provided. The following bug(s) was(were) fixed: PRS => 9123690-0165-8/2, 9123690-0164-4 CSR => 5559 Software flow control om port 16 has been repaired. This file was originally introduced in release D_12_5_0A. 6.4. New Login_Policy World D_12_6_5 includes a new world, !Machine.Login_Policy, in which system managers can create subprograms and files that: * Establish a policy monitoring and responding to successful and failed login attempts. * Specify the login message that is displayed when users connect to the R1000. For security purposes, this world is delivered with Operator access only. As delivered, the Login_Policy contains no procedures; sites that do not take advantage of this feature will notice no change in the system behavior. These features are described in more detail in the following paragraphs. 6.4.1. Establishing a Login Policy The login manager now contains a call to operator-defined procedures that determine site-specific login policies. Although primarily intended as a mechanism for system managers to react promptly to invalid login attempts, these facilities also provide the basis for additional site-specific features. 18 May 1992 RATIONAL\f Release D_12_6_5 When a login attempt is made, the Environment's login manager now checks for the existence of operator-defined procedures Successful_Login and Failed_Login in world !Machine.Login_Policy. If these procedures exist, then: * If the login attempt was successful, the login manager calls Successful_Login. * If the login attempt was not successful, the login manager calls Failed_Login. The user-defined procedures must be placed in !Machine.Login_Policy and have the following specifications: procedure Successful_Login (Username : String; Session : String; Time : String; Port : Natural; Network_Name : Transport_Defs.Network_Name; Host_Id : Transport_Defs.Host_Id; Socket_Id : Transport_Defs.Socket_Id; Error_Status : Natural); procedure Failed_Login (Username : String; Session : String; Time : String; Port : Natural; Network_Name : Transport_Defs.Network_Name; Host_Id : Transport_Defs.Host_Id; Socket_Id : Transport_Defs.Socket_Id; Error_Status : Natural); The parameters of these procedures are described below: * Username: the name supplied at the Enter username prompt during the attempted login or the null string if this information has not yet been entered. * Session: the session specified at the Enter session name prompt during the attempted login or the null string if this information has not yet been entered. If a [#Return#] is supplied at the Enter session name prompt, session S_1 is assumed. * Time: the date and time at which the login attempt occurred. The format for this string is the date, one blank space, and then the time. The date is of the form month/day/year, and the time is expressed in military format. Procedures from package !Tools.Time_Utilities can be used to process this information. RATIONAL May 1992 19\f Rational Environment Release Information * Port: the number of the R1000 port on which the login attempt is being made. * Network_Name: identifies one of several available protocol stacks for the current connection. For example, the value TCP.IP is passed for a Telnet connection, and the null string is passed for a direct connection to the R1000. See package Transport_Defs and subsystem Telnet_Tools in !Tools.Networking for procedures to process this variable. * Host_Id: identifies the machine within a network making the connection. See package Transport_Defs and subsystem Telnet_Tools in !Tools.Networking for procedures to process this variable. * Socket_Id: identifies a program within a machine. See package Transport_Defs and subsystem Telnet_Tools in !Tools.Networking for procedures to process this variable. * Error_Status: a status code that indicates either success or the reason that the login attempt failed. The status codes are: 0 - Successful 1 - Bad_Username_Or_Password 2 - Expired_Password 3 - Abandoned_Login 4 - Read_Timed_Out 5 - Read_Error 6 - Input_Unreadable 7 - Terminal_Type_Unreadable 8 - Resource_Restriction 9 - Product_Not_Authorized 10 - Internal_Error Note: The Successful_Login and Failed_Login procedures are run under the identity of *SYSTEM to allow privileged operations to be performed. For this reason, system managers may want to use existing access-control mechanisms to control access to these procedures and ensure system security. As it is delivered, the Login_Policy world is accessible only to the members of group Operator. If the procedures exist, and if an attempt to run either of these procedures is unsuccessful, this is noted in the system error log. If the procedures do not exist, then the login process runs as usual, and nothing is recorded in the system log. This change does not affect the disconnect and login behavior options for a port. These options are still set separately through !Machine.Initialization or through commands in package !Commands.Terminal. (PRS number 9723630-0074-7) 6.4.2. Specifying the Login Message The D_12_6_5 release provides the ability for system managers to specify the message users see when they connect to an R1000. 20 May 1992 RATIONAL\f Release D_12_6_5 The system's standard message indicates the release number for the current Environment, a name identifying the machine, the port number through which the connection has been made, and the current date and time: Rational Environment D_12_5_0; Roget - Ada Tech Pubs; Port 232. January 16, 1992 at 2:07:34 PM In D_12_6_5, system managers can place other messages in a text file of the name !Machine.Login_Policy.Login_Text. If this file exists, its contents are displayed when users connect to the R1000. Placing the string <Standard_Message> on its own line in this file causes the standard login message to be displayed (in addition to any other text in the file). (PRS number 9723630-0025-8) 6.5. New Telnet_Tools Subsystem This new subsystem provides programmatic interfaces to Rational Networking as well as some new utility software. It includes three new packages: * !Tools.Networking.Telnet_Tools'Spec_View.Units.Telnet_Port * !Tools.Networking.Telnet_Tools'Spec_View.Units.Telnet_Protocol * !Tools.Networking.Telnet_Tools'Spec_View.Units.Telnet_Tools For more information, see the exported specifications online. 6.6. Products Now Delivered with the Environment 6.6.1. Rational X-Interface and Windows-Interface Rational's X-Interface (RXI) and Windows Interface (RWI) have become the primary access mechanisms to the Environment. In response to this evolution, the most recent releases of RXI (10_9_0) and RWI (10_1_1) are delivered with the D_12_6_5 release of the Environment. Note that RXI and RWI still must be installed using a separate installation process; they are not installed during Environment installation: * If you already have RXI and/or RWI installed on your system, you do not need to install them again. D_12_6_5 does not include any changes to these products. * If you do not have RXI and/or RWI installed on your system and would like to install one or the other, contact your Rational RATIONAL May 1992 21\f Rational Environment Release Information representative for installation instructions, keyboard overlays, and documentation. To install RWI, you will also need to obtain a diskette that contains software to be installed on the PC. * If you have purchased a new system, the installation instructions for RXI and RWI are included with that system. Contact your Rational representative to obtain keyboard overlays and documentation. For further information about RXI token issues, see section 7.14. ll problem reports concerning the improper consumption of tokens by RXI 6.6.2. Documentation Tools D_12_6_5 includes Rational's Documentation Tools as part of the standard Environment. As part of the D_12_6_5 release, a new release of the Document Formatter has been introduced (Rev10_7_12) and the system default activity has been updated to reverence this release. To ensure backward compatibility, the previous version of the Document Formatter (Rev10_7_7) has been preserved and can be used simply by changing your activity file. Although the Spelling Checker is part of Rational's Documentation Tools, it has not been included in the D_12_6_5 Environment release (see section 5.6). If you would like to obtain the Spelling Checker, contact your Rational representative. Documentation is available for both the Document Formatter and the Spelling Checker. For information, contact your Rational representative. 7. Changes from D_12_5_0 This section describes the changes, enhancements, and user-visible problem fixes that D_12_6_5 makes to existing features of the Environment. The information in this section is presented in roughly the same order in which it would be found in the Rational Environment Reference Manual (ERM): * Information on editing specific types of objects such as Ada units (EST) (sections 7.1 and 7.2) * Information on session and job management (SJM)-specifically, packages Job, Remote_Passwords, Operator, and Search_List (section 7.4) * Library-management information (LM), including changes to archive (section 7.5), compilation (7.6), library switches (7.7), and other library-management facilities (7.8) * Device input and output (DIO) changes (section 7.9) 22 May 1992 RATIONAL\f Release D_12_6_5 * System-management information (SMU), including changes to system backup (section 7.11), the Diagnostic File System (DFS) (7.12), crash analysis (7.13), token policies (7.14), and miscellaneous system-management facilities (7.15) * Information about subsystems and CMVC (PM) (section 7.16) * Information about changes to the Math_Support subsystem (section 7.17) * Information about other miscellaneous changes (section 7.18) 7.1. Changes to Package Common Performing Common.Definition on an object in a generic instantiation now takes you to the declaration in the generic. (PRS numbers 9123690-0163-9, 9123690-0165-3, 9123690-0169-0, and 9723630-0122-0 and CSR numbers 5501, 5454, and 5707) The Common.Format procedure has been fixed so that it no longer destroys the contents of an Ada unit when an attempt to format that unit fails. (PRS numbers 1704151-Shei-Jst, 2437110-Sier-Geb, 5172201-Cook-Swb, 7039962-Sier-Geb, 7030779-Zebr-Lore, 8068463-Mago-Sdj, 9123690-0156-7, 9123690-0175-9, and 9123690-0181-8 and CSR numbers 4786 and 6261) 7.2. Changes to Editing Ada Units The Ada.Make_Inline procedure now properly maintains Sm_Subunits. Sm_Subunits is an attribute on the DIANA nodes for compilation units. Specifically, Sm_Subunits is a sequence of the subunit Stub_Ids that exists for that unit. (PRS number 6452721-Shei-Jst) The Ada.Show_Unused procedure no longer erroneously flags an enumeration-type declaration as unused when the enumeration type's literals are referenced elsewhere. (PRS number 9123690-0134-5) Procedures Ada.Withdraw, Install_Unit, Install_Stub, and Make_Separate now require only that the executing user have Create access to the enclosing world or view to enter the unit or stub into the library listing. This change fixes a problem introduced in D_12_5_0 in which Owner access was required. (PRS number 9123690-0171-3 and CSR number 5841) Procedure !Commands.Dependents.Find now releases actions that are no longer needed. (PRS number 9723630-0120-7) A problem has been fixed so that an attempt to incrementally edit a statement that depends on another statement that has been incrementally demoted itself no longer fails. (PRS number 6265678-Sier-Geb) RATIONAL May 1992 23\f Rational Environment Release Information The Environment now demotes units in the correct order when: * An attempt is made to incrementally demote a type * That type is used in a procedure's parameter list * Both that procedure and the original type are used as parameters in a generic instantiation (PRS number 9123690-0161-1) A problem has been fixed so that the following valid incremental insertions now are accepted: package P is type T is private; type A is array (1 .. 10) of T; -- insert 1 private type T is new Integer; X, Y : A; -- insert 2 B : Boolean := X < Y; -- insert 3 end P; (PRS number 9924694-Mago-Sdj) 7.3. Changes to Debugging Function Debug_Tools.Get_Exception_Name now correctly returns the fully qualified name of the exception, regardless of the setting of the R1000_Cg.Retain_Delta1_Compatibility library switch. In previous releases, if this switch was set to False, the function returned a string such as <Exception: Unit =-35983540864679680, Ord = 0>. (PRS numbers 12729-Star and 9123690-0160-7 and CSR number 4626) 7.3.1. Quitting While the Debugger is Running In previous releases of the Environment, if your session was terminated -for example by Quit or Operator.Force_Logoff-while a job under the control of the debugger was running, a deadlock could occur. The symptoms of this deadlock could be any combination of the following: * Job 4 stuck in Awaiting_Entry * Jobs stuck In_Fa_Queue * Jobs hanging on Quit Most of these problems have been fixed. If, however, a job hangs during a Quit, it is now always possible to use Job.Kill to kill all debugger jobs, causing the system to resume normal operation. 24 May 1992 RATIONAL\f Release D_12_6_5 (PRS numbers 9123690-0159-0, 9123690-0159-1, 9123690-0172-6, and 9123690-0183-3 and CSR numbers 4740, 5142, 5917, and 6091) 7.4. Changes to Session and Job Management Job.Kill has been modified so that it can kill editor jobs-even unallocated jobs-and find any tasks holding actions and abort them. The user must have operator capability to perform these tasks. (PRS numbers 5360143-Rati-Jls and 9123690-0166-0) The remote-passwords facility has been changed so that *SYSTEM jobs, such as machine initialization and spoolers, now use the Operator password as the key for decrypting remote-passwords files. To instruct a *SYSTEM job to use a remote-passwords file, set the remote-passwords file for the job by calling Profile.Set_Remote_Passwords from within the job. For additional information, see package !Commands.Remote_Passwords in the new Session and Job Management (SJM) book or in online help. (PRS number 9123690-0166-5) Special names such as "<IMAGE>" can no longer be inserted either directly into searchlists or in indirect files named in searchlists. Be aware, however, that if you have a special name already in a searchlist and if you attempt to delete that searchlist or searchlist entry, the system may crash, as it did in previous releases. (PRS number 9123690-0138-2) The Program.Change_Identity command now delays when it encounters an illegal username and password pair. The length of the delay increases with each illegal encounter. (PRS number 3289131-Gato-Bas) When logging on to the system in previous releases, if you entered a valid username and an invalid password and if the correct password associated with that username had expired, the password-expiration warning was emitted. The password-expiration warning implies that the username was correct. This situation has been fixed so that no information is given when either the username or password is invalid. (PRS number 4289272-Voya-Cmd) 7.5. Archive Changes The comments in the specification for package Archive have been improved. In particular, the comments now include all supported options for the Archive.Copy, Archive.Restore, and Archive.Save procedures. (PRS number 9123690-0131-8) 7.5.1. Copying Ada Units with Subobjects The Archive.Copy, Archive.Save, and Library.Copy procedures now copy non-Ada subobjects of Ada units that are not managed by one of Rational's layered products as if they were Ada subunits. RATIONAL May 1992 25\f Rational Environment Release Information These subobjects are sometimes called associated files and indicated in library images by brackets (<>). A recursive copy of a parent unit now will pick up the subobject, but a nonrecursive one will not. In previous releases of the Environment, non-Ada subobjects of Ada objects were not copied as part of a recursive copy operation. 7.5.2. Archiving Library Switch Files The Archive.Copy and Archive.Save procedures have been changed so that archiving a library switch file now archives the complete switch file. (In previous releases, only nondefault values were archived.) As a result, restoring a D_12_6_5 switch file to a system running a previous release will result in messages of the form: Switch does not exist. These messages result from the fact that new switches exist in the D_12_6_5 switch file that do not exist in switch files from the previous release. The messages are for your information only; the Archive operation will complete successfully. For information about the new switches, see section 7.7. 7.6. Compilation Changes Procedures in package !Commands.Compilation now print correct symbols for log messages. In particular, commands no longer use the note symbol (---) for messages that should be auxiliary (:::). For information about log-message symbols and their meanings, see the documentation for !Tools.Profile.Msg_Kind. (PRS number 1000002-Sier-Geb) A problem has been fixed in which compilation operations sometimes would hang-without generating an error message-if the program library was locked. In particular, if you executed Definition ("<*Program_Library>") to display a world's program library, the operation would lock the program library. If you attempted to perform a compilation operation while the program library was locked, the compilation operation would hang. In D_12_6_5, compilation operations now time out and produce an error message indicating that the program library is locked. (PRS number 2949267-Etoi-Hts) 7.6.1. Installing Units Note: The D_12_6_5 release of the Environment contains a number of changes to adhere more closely to the standards defined in the Reference Manual For the Ada Programming Language (LRM). In certain cases, these changes can cause source code that installed in the past to install no longer. Existing installed or coded units are not affected by these changes. Promoting a unit to the installed state for the first time now requires only that the executing user have Create access to the 26 May 1992 RATIONAL\f Release D_12_6_5 enclosing world or view. This change fixes a problem introduced in D_12_5_0 in which Owner access was required. (PRS number 9123690-0171-3 and CSR number 5841) Semantic checking has been fixed so that the Environment no longer allows a private type to be used as a generic formal parameter before the type's completion in the private part; this way of using a private type is not legal in Ada (see LRM 7.4.1 (4)). (PRS number 9123690-0128-9) In accordance with LRM 13.4.(8), semantic checking now allows implementation-dependent attributes to be used in record representation clauses. (PRS number 1000000-Sier-Geb) Semantic checking has been improved so that an extra nonterminal ([expression] prompt) used as a record aggregate is flagged now as an error. In previous releases, an error was not generated until code was generated. (PRS number 9123690-0128-6) Semantic checking now properly supports the renaming of subprograms. In previous releases, problems were encountered if the renamed subprogram had a parameter for which the default value was an expression that could be misinterpreted as a predefined type. (PRS number 9123690-0156-3 and CSR number 4845) In accordance with LRM 13.1 (7), semantic checking no longer allows the following source code to install (PRS number 1140702-Gato-Gbd): package Csr5310 is type Type_1 is record Q_Addr_2 : Integer; end record; Forcing_Occurrence : constant Type_1 := (Q_Addr_2 => 0); -- The compiler detects the violation against LRM 13.1 (7) if the -- object is not constant. for Type_1 use record at mod 2; Q_Addr_2 at 2 range 0 .. 4 * 8 - 1; end record; end Csr5310; A problem has been fixed in which performing semantic checking more than once on a single unit results in the disappearance of the error underlines. This problem has been fixed so that the same error underlines reappear each time the unit is semanticized. (PRS number 9123690-0157-9 and CSR number 5005) RATIONAL May 1992 27\f Rational Environment Release Information Both the R1000 compiler and the Mc68020_Bare Cross-Development Facility (CDF) (Rev5_1_1) now flag as an error any renaming of a record component in which the record object is returned as the result of a function call (see LRM 8.5 (4)). Attempts to install subprograms containing such renames now fail with the message Expanded name name is not a renamable object. (PRS number 9123690-0169-8) Semantic checking now allows the following to be applied to an enumerated type: * An enumeration representation clause that starts with negative values * A size clause that comes before the enumeration representation clause (PRS number 9123690-0180-7 and CSR number 4844) In accordance with LRM 3.2 (9) and 3.3.2 (2), semantic checking no longer allows you reference a type mark that is not a simple name. (PRS number 9123690-0152-8 and CSR number 4735) Messages have been improved so that if you reach the architectural limit for the size of a DIANA node (2**23 bytes), the coding attempt now fails gracefully with the message Promote Failed - Other Error in the message window and with the message !!! Action.Acquire Invalid_Class nnnnnnnnnn for instance nnnnnn machine id 1 on the console error log. (PRS number 8277786-Voya-Bas) Error messages have been improved so that if you attempt to declare a record with more than 256 fields, the compiler now generates a message such as Field F in record type R exceeds the number of fields implementation limit of 256, and the offending unit fails to install. (PRS number 9123690-0142-3) Messages have been improved so that if the physical representation of an enumeration type does not have a range of Integer'Range (as specified in LRM 3.4.1), semantic checking fails with a message such as *UNIVERSAL_INTEGER* ... Constant expression not in Integer'Range. (PRS number 5700190-Etoi-Tnu) The error message generated when a body fails to install has been punctuated for easier readability. Specifically, quotation marks have been added around the declaration of the body. The message now appears similar to the following: 1: ERROR The spec for "package body FOO is " could not be installed. (PRS number 10270-Shei-Swb) 7.6.2. Coding Units The R1000 code generator now successfully codes any package that declares a constant of a subtype such that the subtype is: 28 May 1992 RATIONAL\f Release D_12_6_5 * Externally declared * Of an integer type that uses an explicit conversion for a range constraint In previous releases, attempts to code these packages failed with Constraint_Error. (PRS numbers 9123690-0145-5 and 306859-Cook-Swb) Messages have been improved so that if you attempt to code a unit that instantiates a generic whose original declaration has been corrupted, you no longer get an internal error. The primary cause of this kind of corruption is using Program_Library_Maintenance.Build on Delta-1-style code views. (CSR number 5215) As documented in section 1.2.10 of Appendix F for the R1000 Target of the LRM, the R1000 code generator now ignores pragma Private_Eyes_Only for generic units. (PRS number 9123690-0151-1 and CSR number 4723) A problem has been fixed in which the R1000 code generator failed with a Constraint_Error when coding a very large task-entry family. The code generator now codes the task-entry family successfully and generates the following warning: 1: WARNING Declaring a very large entry family (may cause STORAGE_ERROR): E1. (PRS number 4967545-Voya-Phil) You now can control whether the Environment allows you to promote to the coded state Ada units that contain [statement] prompts. For details, see the description of the new Semantics.Reject_Statement_Prompts library switches in section 7.7. (PRS number 9123690-0143-2) The compiler now handles sparse types of discriminants properly. In previous releases, when sparse types were used as discriminant types, the compiler would not work correctly in assigning the variant part of the record, and the incorrect case alternative would be chosen. (PRS number 9123690-0166-6 and CSR number 5666) 7.6.3. Loading and Executing Units The Compilation.Load procedure has been changed so that it always builds the specification of the loaded main program (Load_Proc or Load_Func) from the specification of the unit specified to the Load procedure. If a unit body is specified, the unit specification associated with that body is used. This practice ensures that the loaded main program obtains its context clause from the unit specification. If the Load procedure used the context clause from the unit body, and that unit body depended on the specification's context clause, the procedure would fail with semantic errors. (PRS number 6821610-Stan-Deg) RATIONAL May 1992 29\f Rational Environment Release Information Attempting to execute a derived procedure inherited by instantiation in a generic that is itself instantiated no longer generates an Internal_Error (unsatisfiable import requirement) if the generics are in different subsystems. (PRS number 9123690-0171-8 and CSR number 5650) Declaring a private derived type of !Tools.Unbounded_String.Variable_String no longer causes an unhandled exception at runtime when the unit that declared the derived type is coded with the R1000_Cg.Retain_Delta1_Compatibility library switch set to True. (PRS number 9123690-0168-1 and CSR number 5723) If an unhandled exception is encountered at the outermost level, programs coded with the R1000_Cg.Retain_Delta1_Compatibility switch set to False no longer generate an Internal_Error. (PRS number 12729-Star) 7.6.4. Program Libraries The Program_Library_Maintenance.Verify procedure and function have no valid options. The comments in the specification for these subprograms now state this explicitly. The full pathname for these subprograms is: !Tools.Program_Library'Spec_View.Units.Program_Library_ Maintenance.Verify (PRS number 9123690-0131-7) 7.7. Changes to Library Switches D_12_6_5 introduces two new library switches and changes the default value of one. Because of the addition of these two switches, copying library switch files from D_12_6_5 to previous releases generates error messages indicating that certain switches do not exist. These errors can be ignored; the copy operation will complete successfully. This behavior is also mentioned in section 5. D_12_6_5 also includes new online help for several library switches. See section 8.3 for a list of these switches. 7.7.1. New Switch: Semantics.Limit_Semantic_Messages This switch controls the number of semantic messages (errors and warnings combined) that can be attached to an Ada image. Those messages with numbers greater than this limit will be discarded. Discarded messages can be regenerated by increasing the limit specified in this switch and resemanticizing the image. The default is 200 messages. 30 May 1992 RATIONAL\f Release D_12_6_5 Note that generation of an extremely large number of messages for a single unit can cause semanticizing to take an excessive amount of time. Setting this switch to a lower number may speed semantic checking. (PRS number 9123690-0136-8 and CSR number 3956) 7.7.2. New Switch: Semantics.Reject_Statement_Prompts This switch controls whether the Environment allows you to promote to the coded state Ada units that contain [statement] prompts. When False (the default), units with [statement] prompts can be coded; an error is generated only if an attempt is made to execute the prompt. When True, units that contain [statement] prompts cannot be coded. Setting this switch to True may cause code that was able to code in the past to code no longer but will not affect units that are coded already. (PRS number 3336165-Shei-Jst and 9123690-0143-2) 7.7.3. Change to Default Value of R1000_Cg.Retain_Delta1_Compatibility Switch The D_12_1_1 release of the Environment contained a major revision of the R1000 compiler. The D_12_1_1 version of the compiler has been validated under releases 1.10 and 1.11 of the Ada validation suite (ACVC 1.10 and 1.11) and includes significant new features, improved generated-code quality, and numerous bug fixes. Certain of the compiler's features and bug fixes are available only when explicitly enabled by the Retain_Delta1_Compatibility library switch. This is because enabling these features and bug fixes causes the compiler to produce code that is incompatible with the code generated by versions of the compiler prior to D_12_1_1. D_12_6_5 changes the default value of this switch to False, allowing the compiler to take advantage of the features of the D_12_1_1 compiler unless otherwise specified. This change affects all new switch files created using Switches.Create or Switches.Edit. It also affects all new systems. Installation of D_12_6_5 preserves the current settings in switch files so that work in progress should not be significantly affected unless new switch files are created. Note that units coded with one setting of the switch may reference units coded with the switch set the other way. However, there is one restriction: when a main program is prelinked, a check is made to ensure that each unit in a spec view was coded with the same switch setting as the corresponding unit in the load view. The compatibility checker also makes this check when checking load view/spec view compatibility. RATIONAL May 1992 31\f Rational Environment Release Information To avoid confusion, it is recommended that you use the same switch setting for all units in a given view. Furthermore, to prevent problems with spec view/load view compatibility, it is recommended that you use the same switch setting for all views in a given subsystem. There is no need for you to convert existing code that was compiled with the Retain_Delta1_Compatibility switch set to True. However, if you choose to convert existing code, you must set the switch to False in each of the affected libraries or views, demote the units to the installed state, and then repromote them to the coded state. Code views cannot be recompiled and therefore should be destroyed. For more information about the effects of this switch, see the new Library Management (LM) book and the D_12_1_1 release information. (Release information can be found online in !Machine.Release.Release_Notes.) 7.8. Changes to Other Library Management Facilities Commands in package !Commands.Access_List now print log messages indicating when they have completed and whether they completed successfully. Commands in package Access_List now also print the correct symbols for log messages. For information about log-message symbols and their meanings, see the documentation for !Tools.Profile.Msg_Kind. (PRS number 1000001-Sier-Geb) Comments have been added to the specification for the Library.Copy procedure to more accurately describe the default value for the Volume parameter. For additional information, see the documentation for Library.Nil in the new LM book and in online help. (PRS number 9123690-0150-4) The Library.Move procedure no longer moves any part of an Ada unit-either the specification or body-without sufficient access to the destination library. In previous releases, if you attempted to move a unit specification and body pair in a single operation, the Move command would fail to copy the unit specification but would successfully copy the unit body. (PRS number 2679572-Roge-Srp) The Library.Create@ procedures now require that the executing user have only Create access to the enclosing world or view. This change fixes a problem introduced in D_12_5_0 in which Owner access was required. (PRS number 9123690-0171-3 and CSR number 5841) Procedures !Commands.Links.Edit and Links.Display now require Owner access to the world for which the links are being edited or displayed. In previous releases, only Read access was required. (PRS number 5367576-Blut-Smp) 32 May 1992 RATIONAL\f Release D_12_6_5 7.9. Changes to Device Input and Output The Sequential_Io.Read procedure and the Polymorphic_Sequential_Io.Read procedure have been fixed so that they no longer raise !Lrm.System.Operand_Class_Error or Nonexistent_Page_Error when an attempt is made to read the first character in a file. (CSR number 6016) 7.10. Changes to Printing The Abbreviations.Print command now handles print requests that specify multiple Ada units in the same way that it handles a print request for a single Ada unit. That is, when multiple objects are specified to the Object_Or_Image parameter and when all of those objects are Ada units, the Print command now processes the Highlight_Reserved_Words_For_Ada parameter. If any of the objects specified are not Ada units, this parameter is ignored. (PRS number 9123690-0168-2 and CSR number 5773) The Queue.Print command now forms valid VMS filenames for print requests. In previous releases, if you printed a file to a queue that was physically located on another machine and if that queue was FTP-based, then the filename formed for FTP transfer was invalid for VMS. When the print spooler tried to dequeue the request, several errors were logged and the queue was disabled. (PRS number 9123690-0168-8 and CSR number 5710) 7.11. Changes to System Backups The default parameter for the System_Backup.Backup procedure has been corrected so that the procedure now semanticizes successfully in command windows. Specifically, the value of the Variety parameter has been changed from Full to System_Backup.Full. See the new System Management Utilities (SMU) book or online help for additional information about this command. (PRS numbers 1711335-Gato-Gbd and 9123690-0135-8) The process of recovering a system backup has been changed so that it always prints some form of diagnostic message whenever it detects a situation in which it cannot complete the restoration. Furthermore, additional log messages indicate the beginning and completion of major stages in the restoration process. In previous releases, when a problem occurred while a backup was being restored, the process sometimes would hang without generating any messages. (PRS number 9123690-0133-9) The Verify_Backup procedure has a new parameter, Wait_Until, that allows you to specify the amount of time the procedure must wait before starting. The tape should be mounted immediately, but Verify_Backup does not start reading the tape until Wait_Until has expired. The fully qualified pathname for Verify_Backup is: RATIONAL May 1992 33\f Rational Environment Release Information !Commands.System_Maintenance'Spec_View.Units.Verify_Backup (PRS number 9123690-0158-6) 7.12. Changes to the Diagnostic File System (DFS) 7.12.1. Renamed Procedures D_12_6_5 changes the specification of package !Machine.Dfs'Spec_View.Dfs. Specifically, the Dfs_ prefix has been removed from the names of the procedures introduced in D_12_5_0: * Procedure Dfs_Copy is now procedure Copy * Procedure Dfs_Directory is now procedure Directory * Procedure Dfs_Display is now procedure Display * Procedure Dfs_Make_Copy is now procedure Make_Copy * Procedure Dfs_Open is now procedure Open * Procedure Dfs_Read is now procedure Read Several new procedures also have been added to package Dfs; see section 6.3. 7.12.2. Analyze_Crashdump Prompts for Input Procedure Analyze_Crashdump by default now queries for input in an Envirnoment I/O window, rather than from within the log file. The full pathname for Analyze_Crashdump is !Machine.Dfs'Spec_View.Units.Analyze_Crashdump. (PRS number 9123690-0165-6 and CSR number 5588) 7.13. Changes to Crash Analysis 7.13.1. Changes to the Crash Analysis Procedures The D_12_6_5 release includes enhancements to the process of analyzing R1000 crashes. In particular: * Much of the process has been automated so that the system will capture as much information as possible and often will reboot automatically. * A series of questions and menus have been added to the crash analysis process that: 34 May 1992 RATIONAL\f Release D_12_6_5 - Capture system-crash state - Analyze system hardware For complete details, see Appendix B, "Diagnostic Crash Procedures." (PRS numbers 7483032-Gato-Jls and 7733953-Gato-Vnv) 7.13.2. Change to Crashdumps and Tombstones A problem with incomplete crashdump and tombstone files that was introduced in D_12_5_0 has been fixed. Crashdumps and tombstones now work correctly, and the trace and crash reason appear correctly in the error logs. This fix was released originally in DFS release D_12_5_0A (D2.2A). 7.14. Changes to Token Policies To simplify token administration, two changes have been made to token management for D_12_6_5: * Environment-session tokens now can be transferred between Series 400 and 300 machines. * The Rational X Interface (RXI) and Windows Interface (RWI) no longer require special product tokens. These products now are bundled with the Environment and are restricted only by Environment session tokens. Rational's other token-management facilities have been tightened to more rigorously account for other product tokens. Although the number of tokens has not been changed for any particular site, system, or product, you may discover that you are running out of tokens more frequently than in the past. 7.14.1. Transferring Tokens between Series 400 and 300 Beginning with D_12_6_5, Environment tokens may be transferred between Series 400 and Series 300 R1000s. That is, Full Session tokens and Login tokens now can be transferred between machines of different series. This change is intended to make it easier to maintain sites that have both Series 400 and 300 machines and to enable those sites to move tokens in response to project needs. To make this token transfer possible, the !Commands.System_Maintenance'Spec_View.Units.Accept_Tokens and Donate_Tokens procedures have been changed. RATIONAL May 1992 35\f Rational Environment Release Information For example, assume that you have a Series 400 with twelve Full Session tokens and a Series 300 with six Login tokens. To transfer two tokens from the Series 400 to the Series 300, perform the following steps: * On the donating Series 400, execute the Donate_Tokens command, specifying Full Session for the product: Donate_Tokens (Product => "Full Session", Donation => 2, -- number to donate Resulting_Remote_Count => 8, -- original 6 plus 2 new Remote_Machine_Id => Id of the accepting 300, Remote_Site => ">>SITE ID<<", Response => "<PROFILE>"); The output generated by this command indicates that two tokens have been donated, resulting in ten tokens remaining on the current Series 400. It also supplies the completed Accept_Tokens command to be run on the accepting system: 92/05/18 12:47:03 ::: [Donate_Tokens ("Full Session", 2, 8, 345678, 92/05/18 12:47:03 ... "XYZ000001", "<PROFILE>")]. 92/05/18 12:47:03 +++ Donation of 2 tokens for Full Session has resulted 92/05/18 12:47:03 ... in 10 tokens. 92/05/18 12:47:03 +++ Running Snapshot daemon. Run the following on the remote machine: Accept_Tokens (Product => "Full Session", Donation => 2, Resulting_Count => 8, Code => "16A8AE0E1E838FB5"); 92/05/18 12:47:15 ::: [end of Donate_Tokens]. * On the receiving Series 300, execute the Accept_Tokens command generated in the previous step: Accept_Tokens (Product => "Full_Session", Donation => 2, Resulting_Count => 8, Code => "16A8AE0E1E838FB5", Authorization => "", Response => "<PROFILE>"); Upon acceptance of the token(s), the Environment automatically changes the token kind to Login. Note that the site ID must be the same on both the donating and accepting machines. (You can use Show_Site to display the site ID for a machine.) Note also that the Donate_Tokens and 36 May 1992 RATIONAL\f Release D_12_6_5 Accept_Tokens commands must be run on the same day. 7.14.2. Token Changes to RXI Beginning with D_12_6_5, the most recent release of RXI (10_9_0) is delivered with the Environment. Although RXI must still be separately installed, it is now authorized on all D_12_6_5 systems. Thus, product tokens are no longer required. This change is in response to the evolution of RXI as one of the primary access mechanisms to the Environment. All problem reports concerning the improper consumption of tokens by RXI now are considered closed. (PRS numbers 2604297-Rati-Pbk, 4123589-Blut-Jgp, 6398339-Blut-Med, and others) For more information about RXI and D_12_6_5, see section 6.6.1. 7.15. Miscellaneous Changes to System Management You now can set the timeout value for logging in through the console command interpreter as part of machine initialization. The default setting is 60.0 (1 minute). To change the setting, edit the specification for !Machine.Initialization.Rational.Servers in either of the following ways: * Change the value for the Console_Timeout paramater directly * Insert a notation such as the following at the end of the specification: --| Parameter Console_Timeout => "2 * 60.0" The new value takes effect the next time you reboot your machine. The !Machine.Initization.Rational.Terminals procedure now generates messages that properly reflect the parameters of the Terminal.Set_Login_Disabled procedure, which is called by Rational.Terminals. (PRS number 6242437-Blut-Vo) A problem has been fixed in which the software flow control on port 16 failed for Series 300C, 300S, 400C, and 400S systems. (PRS numbers 9123690-0164-4 and 9123690-0165-8 and CSR number 5559) Procedure Log_Reader.Load_Logs has been fixed so that it no longer loads the error logs for the current day unless the current day is between Start_Time and Stop_Time. The full pathname for Load_Logs is !Tools.System_Availability'Spec_View.Units.Log_Reader.Load_Logs. (PRS number 9123690-0173-8 and CSR number 5990) RATIONAL May 1992 37\f Rational Environment Release Information The Action Manager now detects and recovers gracefully from certain types of invalid data. (PRS number 9123690-0152-5 and CSR number 4741) The comments in the specification for the System_Utilities.Get_Board_Info function have been improved. In particular, they now explain that board number zero (0) is IOA ONLY in a Series 100 and that the number one (1) board is SYS/IOC, which is the SYSBUS board for a Series 100 and the IOC board for a Series 200, 300, or 400. For additional information, see package System_Utilities in the updated System Management Utilities book (Volume 10 of the ERM) or in online help. (PRS numbers 9123690-0155-0 and 9123690-0155-1) The Check_Universe_Acls procedure has been fixed so that it now reports the correct access information for !Machine.Initialization. The full pathname for Check_Universe_Acls is !Commands.System_Maintenance'Spec_View.Units.Check_Universe_Acls. (PRS number 9176782-Gato-Gbd) The directory daemon has been enhanced to perform more consistency checking. Whenever a potential problem is detected, the directory daemon now attempts to log a meaningful error message and to proceed with the collection. A problem has been fixed in which the directory manager sometimes would detect an inconsistency erroneously when the version of an object was being changed (that is, when an existing object was being edited). This error would cause the following to be logged in the system's error log: Directory inconsistency exception in Object_Perform Calling task (16#xxxxxxx#) will be stopped in wait service (CSR numbers 5260 and 5261) 7.16. Changes to CMVC The Cmvc.Initial procedure has been fixed so that when it is used to create a new path in an existing subsystem, it no longer looks at the System_Object_Type and Create_Load_View parameters unless they are needed. Now Cmvc.Initial will ignore the default value of the System_Object_Type parameter if the subsystem already exists. If the subsystem exists and is either a Combined or System subsystem, Cmvc.Initial will ignore the Create_Load_View parameter because there is no choice of which kind of view to create. (PRS number 7311575-Wash-Jim) Cmvc.Copy, Make_Path, Make_Subpath, and Make_Spec_View now accept a single space as the null string in the View_To_Import parameter. Furthermore, log messages have been corrected so that if an invalid value is entered for the View_To_Import, the resulting message now includes the closing parenthesis. (PRS 38 May 1992 RATIONAL\f Release D_12_6_5 Number 2809652-Clem-Jim) Cmvc.Copy, Make_Path, Make_Subpath, Release, and Make_Spec_View now properly copy Ada units from any directory in the subsystem, not just those units in the Units directory. In particular for Make_Spec_View, these sibling directories are treated like the Units directory and only those items specified in the State.Exports file are copied. This file is resolved in the context of the Units directory; to include a unit outside this directory you must provide an appropriate relative pathname-for example, ^.Subdirectory_Name.Simple_Name-or a fully qualified pathname. (PRS numbers 0-0358-2 and 9123690-0156-6 and CSR number 4971) To create objects in a world or subsystem view, you now need only Create access to that world or view. This change fixes a problem introduced in D_12_5_0 in which Owner access was required. (PRS numbers 9123690-0171-3 and CSR number 5841) 7.17. Update to !Tools.Math_Support An update to the !Tools.Math_Support subsystem is included in the D_12_6_5 release. * In package Generic_Primitive_Functions: - The Scale function has been corrected for very large and very small scales. - The Remainder function has been improved in cases where arguments are several orders of magnitude apart. - The Truncate function has been simplified. * The implementation of package Generic_Elementary_Functions has been replaced by a package with higher accuracy. The new implementation was developed by Peter Tang and Kenneth Dritz, from the Argonne National Laboratory, with minor adjustments for the R1000. This change fixes several errors in domain checking and a major error in the code for Tangent. For more details, see the online information in: !Tools.Math_Support- .R1000_Code1_1_0.Units.Release_Note 7.18. Miscellaneous Changes 7.18.1. Change to Library_Object_Editor The specification for procedure !Tools.Library_Object_Editor.Display has been changed to match the Environment's implementation. In particular, the In_Place RATIONAL May 1992 39\f Rational Environment Release Information parameter has been added to the procedure's specification: procedure Display (Library : Directory.Object; Selection : Directory.Object := Directory.Nil; In_Place : Boolean := False; Force_Redraw : Boolean := False); The In_Place parameter specifies whether the current window frame should be used. The default is False. 7.18.2. Change to Code_Segment_Object_Editor The specification to procedure !Tools.Code_Segment_Object_Editor.Edit has been changed to match the Environment's implementation. In particular, a parameter, The_Offset, has been added: procedure Edit (The_Segment : Integer; The_Offset : Integer := 0; In_Place : Boolean := False); Treating a segment as a file, The_Offset allows "editing" from a place other than the beginning of the segment. 8. Documentation 8.1. New Printed Documentation The D_12_6_5 release of the Environment is accompanied by three updated volumes of the Rational Environment Reference Manual (ERM): * Volume 4: Session and Job Management (SJM) * Volume 5: Library Management (LM) * Volume 10: System Management Utilities (SMU) These books have been significantly rewritten and feature: * A new, easier-to-read format * Greatly expanded "how to use" information, in the form of: - New Key Concepts sections for each book - Extensive introductions to major packages * A quick reference for parameter-value conventions (naming conventions) at the end of each book 40 May 1992 RATIONAL\f Release D_12_6_5 * Two previously undocumented packages, Remote and Remote_Passwords (see SJM) * Corrections and clarifications to existing information Each customer site should receive one copy of each volume for every system under an active support contract. If you have not received your new documentation or if you would like to order additional documentation, please contact your Rational representative. 8.2. New Online Documentation The D_12_6_5 release of the Environment includes new online help for all the packages documented in the SJM, LM, and SMU books: * Session and Job Management (SJM): Job Log Profile Program Remote Remote_Passwords Search_List What * Library Management (LM): Access_List Access_List_Tools Archive Compilation File_Utilities Library Links Switches Xref * System Management Utilities (SMU): Daemon Message Operator Queue Scheduler System_Backup System_Utilities Tape Terminal D_12_6_5 also includes a revision of the online information about machine initialization in !Machine.Initialization.Guide_To_Machine_Initialization. You can obtain this information by requesting online help for !Machine.Initialization. To obtain online help for a particular package or command, use the What.Does command, supplying all or part of the name of the package or command in question. 8.3. New Help for Switches D_12_6_5 includes new online help for many switches. To obtain help for a particular switch, place the cursor on the switch in RATIONAL May 1992 41\f Rational Environment Release Information question and execute !Commands.Common.Explain (generally available through the [#Explain#] key or the [#Object#] - [#?#] key combination). 8.3.1. Session Switches The following session switches have new help: Command_Cg.Check_Compatibility Command_Cg.Elab_Order_Listing Command_Cg.Page_Limit Command_Cg.Retain_Delta1_ Compatibility Command_Cg.Terminal_Echo Profile.Log_File Profile.Reaction Session_Ftp.Remote_Directory Session_Ftp.Remote_Machine Session_Ftp.Remote_Roof Session_Ftp.Remote_Type 8.3.2. Library Switches The following library switches have new help: Directory.Create_Internal_Links Ftp.Remote_Directory Ftp.Remote_Machine Ftp.Remote_Roof Ftp.Remote_Type R1000_Cg.Delta1_Code_View_ Compatibility R1000_Cg.Elab_Order_Listing R1000_Cg.Page_Limit R1000_Cg.Retain_Delta1_Compatibility R1000_Cg.Terminal_Echo Semantics.Reject_Inevitable_Exceptions Semantics.Reject_Undefined_Pragmas 42 May 1992 RATIONAL\f Release D_12_6_5 Appendix A Guide to Machine Initialization D_12_5_0 changed the software that is automatically executed by the Environment during the boot process. These changes apply to D_12_5_0 and all subsequent releases (including D_12_6_5). In particular, the software was reorganized to make it easier to: * Install layered products * Distinguish Rational-specific, site-specific, and machine-specific customizations * Configure a network of printers for large sites The following subsections describe the D_12_5_0 mechanisms for initializing an R1000. Change bars indicate sections that have | been added to this document since D_12_5_0; the initialization | mechanisms themselves have not changed. You can read this | document online by traversing to | !Machine.Initialization.Guide_To_Machine_Initialization or by | executing What.Does ("!Machine.Initialization"). | See also the "Installation Procedure" for specific steps to convert any existing initialization software to the D_12_5_0 mechanisms. A.1. Overview Each time an R1000 is booted, software is executed that initializes layered products, sets various system parameters (for example, disk-collection thresholds and snapshot intervals), starts servers, enables terminals, and so on. In Environment releases prior to D_12_5_0, the boot process automatically executed !Machine.Initialize, which in turn executed a family of procedures (with names of the form !Machine.Initialize_@). In D_12_5_0 and subsequent releases, !Machine.Initialize is no longer used. Instead, all system-initialization software resides in the world !Machine.Initialization, which is structured as shown: !Machine.Initialization : Library (World); Local : Library (World); Rational : Library (World); Site : Library (World); Start : Ada (Load_Proc); The D_12_5_0 (or later) boot process automatically executes the Start procedure, which in turn executes all the procedures that reside in (or are referenced in) the Local, Rational, and Site worlds: RATIONAL May 1992 43\f Rational Environment Release Information * The world Rational contains or references software that initializes Rational products and provides standard settings for many system parameters. Users should not modify the objects in this world. * The worlds Site and Local provide a place for system managers to put objects that customize the initialization process. Such objects can be used to override various standard system parameter settings, to initialize customer-written applications, and to specify terminal and printer configurations: - The world Site is intended for customer-written objects that are common to two or more machines at a given site. - The world Local is intended for customer-written objects that apply only to the current R1000. The following subsections give more detail about these worlds. A.1.1. World !Machine.Initialization.Rational The Rational world contains objects supplied by Rational that perform basic initialization services for the current R1000. These objects include: * Loaded main procedures that are executed by !Machine.Initialization.Start whenever the system is booted. * "_Start" files that reference procedures located elsewhere in the Environment. These are text files whose names end with _Start; the procedures they reference are executed by !Machine.Initialization.Start. On a typical system, this world contains objects such as the following: !Machine.Initialization.Rational : Library (World); Clean_Machine_Temporary : C Load_Proc; Cross_Compilers : C Load_Proc; Design_Facilities : C Load_Proc; Dtia : C Load_Proc; Finish_Install : C Load_Proc; Log_Previous_Outage_Start : Text; Mail_Start : Text; Network : C Load_Proc; Parameters : C Load_Proc; Printers : C Load_Proc; Servers : C Load_Proc; Teamwork_Interface : C Load_Proc; Terminals : C Load_Proc; The procedures that are supplied or referenced in this world: 44 May 1992 RATIONAL\f Release D_12_6_5 * Perform cleanup and compaction * Initialize the installed Rational products, such as CDFs, RDF, Rational Networking, and so on * Initialize servers, including the archive and FTP servers * Set standard values for various system parameters, such as the medium-term scheduler, snapshot intervals and warnings, disk-collection thresholds, and so on * Initialize terminals and printers according to user-specified requirements (given in files in the Site and Local worlds) For more specific information, you can browse the comments in each object in this world. A.1.2. Worlds !Machine.Initialization.[Site,Local] The Site and Local worlds are where system managers can create objects to control sitewide or machine-specific initialization and configuration. These objects may include: * Ada procedures that supplement or override the basic initialization services performed by objects in the Rational world. All procedures in the Site and Local worlds are executed by !Machine.Initialization.Start each time the system is booted. * "_Start" files that reference procedures located elsewhere in the Environment. These are text files whose names end with _Start; the procedures they reference are executed by !Machine.Initialization.Start. Using a "_Start file" is equivalent to calling Program.Run or Program.Run_Job to execute the referenced procedure. (See section A.3.2.) * Configuration files that tell the Environment how to enable and configure ports for login and ports for printing. These are text files that are read by two of the procedures executed by !Machine.Initialization.Start. A default file for enabling login ports is created in the Local world during installation. (See sections A.4 and A.5.) * Text files that tell the Environment how to initialize layered products such as the Cross-Development Facility or the Rational Design Facility. (See the comments in the specifications of the Cross_Compilers and Design_Facilities procedures in world !Machine.Initialization.Rational.) At most sites, system managers will use the Site and/or Local worlds as a place for procedures (or "_Start" files) that: * Set password policy RATIONAL May 1992 45\f Rational Environment Release Information * Set login limits * Start server programs for site-specific networking, databases, and applications (for example, a login monitor or network security server) At some sites, system managers may need to use these worlds for procedures that: * Provide nonstandard daemon settings-for example: - The time at which daily and weekly clients run. (The standard times are 3:00 a.m. for daily clients and 2:30 a.m. for weekly clients.) - How often snapshots are taken. (The standard snapshot interval is every 30 minutes.) - Whether (and when) to send a snapshot warning, snapshot start messages, and snapshot finish messages. (The standard is to send a warning 20 seconds before the next snapshot and to notify users only when the snapshot has finished.) - The interval for daemon warnings. (The standard is to send a warning 2 minutes before the daily clients begin.) - Whether to send disk-collection threshold warnings. (The standard is to warn users when collection thresholds have been passed.) - What kinds of system log messages appear on the operator console. (The standard is to route only warning, problem, and fatal messages to the operator console.) - Whether clients should perform access-list compaction. (The standard is for all relevant clients to perform access-list compaction.) * Provide customized disk-collection thresholds (see also section A.3.4). Note, however, that values set by the procedure in world Rational are calculated based on your disk configuration and should be sufficient; see your Rational technical representative if you want to use different thresholds. * Provide nonstandard medium-term scheduler settings. (Use the Scheduler.Display command to see the standard settings.) Note, however, that values set by the procedure in world Rational should be sufficient; see your Rational technical representative if you want to use different settings. 46 May 1992 RATIONAL\f Release D_12_6_5 A.2. Setting Up the Site and Local Worlds If you have a new R1000, you can use the following guidelines to set up your Site and Local worlds: 1. Decide whether you need to provide any system customizations such as those listed in section A.1.2. Create the appropriate procedures and/or "_Start" files, using the hints given in section A.3. 2. Inspect the default Terminal_Configuration file that was created in the Local world during installation. This file enables ports 235 through 249 for login. Edit this file if you want to enable a different set of ports and/or specify further connection or communication information; see section A.4. 3. Decide whether to implement a printer-configuration mechanism to enable users to use !Commands.Abbreviations.Print and to facilitate the use of networked printers. Create the appropriate files; see section A.5. 4. If you have layered products such as the CDF or RDF, inspect the comments in the specifications of the Cross_Compilers and Design_Facilities procedures in world !Machine.Initialization.Rational. Create any files required for initializing these products (for example, a text file that registers an RDF customization). If you are upgrading from a release prior to D_12_5_0, the Local world will already contain several objects that contain customizations: * A Terminal_Configuration file is created automatically in the Local world, enabling the same set of ports that were enabled at the time of installation. This file also preserves any nondefault communication characteristics that were in effect for RS232 ports. * The !Machine.Initialize_Site procedure is automatically moved into the Local world, as described in the "Installation Procedure." After your R1000 has been upgraded to D_12_5_0 or a more recent release, you can use the following guidelines to set up your Site and Local worlds: 1. Inspect the Initialize_Site procedure that has been copied into the Local world during installation. Edit this procedure to preserve any system customizations that are still appropriate. You may want to split this procedure into separate procedures and move appropriate procedures into the Site world. See the "Installation Procedure" for specific recommendations for handling this procedure. See also section A.3 for information about initialization procedures and "_Start" files. RATIONAL May 1992 47\f Rational Environment Release Information 2. Inspect the default Terminal_Configuration file that was created in the Local world during installation. Edit this file if you want to enable a different set of ports and/or specify further connection or communication information; see section A.4. 3. Decide whether to implement a printer-configuration mechanism to enable users to use !Commands.Abbreviations.Print and to facilitate the use of networked printers. Create the appropriate files; see section A.5. 4. If you have layered products such as the CDF or RDF, inspect the comments in the specifications of the Cross_Compilers and Design_Facilities procedures in world !Machine.Initialization.Rational. Create any files required for initializing these products (for example, a text file that registers an RDF customization). A.3. Hints for Implementing System Customizations This section provides information about: * Writing customized initialization procedures in the Site and Local worlds; see section A.3.1. * Writing "_Start" files that reference procedures that reside in other Environment libraries; see section A.3.2. * Controlling the order in which the customized initialization procedures and the "_Start" files are processed by the Start procedure; see section A.3.3. * Customizing disk-collection thresholds; see section A.3.4. A.3.1. Writing Customized Initialization Procedures You can write procedures in the Site or Local worlds to implement system customizations such as password policies, system daemon settings, and so on. All procedures that appear in these worlds are executed by the Start procedure each time the R1000 boots. Customized initialization procedures can contain calls to procedures in various standard Environment packages. Some useful packages include: * Package Daemon, which contains procedures that schedule clients and warnings * Package Operator, which contains procedures that set password policy and login limits * Package Scheduler, which contains procedures that control the medium-term scheduler 48 May 1992 RATIONAL\f Release D_12_6_5 * Package Program, which contains procedures that execute other programs Note that: * You do not have to provide initialization procedures for configuring login ports and printer ports; it is recommended that you use configuration files instead (see sections A.4 and A.5). * You do not have to write an initialization procedure "from scratch" for customizing disk-collection thresholds; if you must customize these thresholds, it is recommended that you edit the sample initialization procedure provided in the Local world (see section A.3.4). When writing customized initialization procedures: * You can create separate procedures or put all calls in a single procedure. Separate procedures take longer to execute but make it easier to see what operations are being performed. * You must not duplicate procedure names across the Rational, Site, and Local worlds. * You can specify the relative execution order of procedures using annotations (see section A.3.3). A.3.2. Using "_Start" Files to Reference Initialization Procedures As an alternative to writing procedures directly in the Site and Local worlds, you can create "_Start" files in one or both worlds to reference customized initialization procedures that reside elsewhere in the Environment. "_Start" files are processed by the Start procedure each time the R1000 boots, and the procedures they reference are executed. When writing "_Start" files: * You must choose filenames that use the _Start suffix. * You must not duplicate filenames across the Rational, Site, and Local worlds. * You must use annotations to reference the procedure to be executed, as illustrated below. * You may use annotations to control the order in which the Start procedure executes the referenced procedures (see section A.3.3). Referencing a procedure in a world or directory: A "_Start" file with the following contents illustrates the basic set of RATIONAL May 1992 49\f Rational Environment Release Information annotations required to reference a procedure that resides in an Environment world or directory: --|Procedure_Name Initialize_Routine --|Procedure_Context !Commands.Example --|Parameters Notify => "manager", --|Parameters Effort_Only => False * The --|Procedure_Name annotation specifies the name of the referenced procedure. If the procedure resides directly in a library, you supply the procedure's simple name; if it resides in a package, supply the name in the form Package_Name.Procedure_Name. * The --|Procedure_Context annotation specifies the Environment world or directory that contains the referenced procedure. * Each of the --|Parameters annotations specifies the value to be used for one of the procedure's parameters. Note that string values must be enclosed in quotation marks, and commas must be included to separate multiple parameters. Referencing a procedure in a subsystem: A "_Start" file with the following contents illustrates how to reference a procedure that resides in an Environment subsystem. Note that you must replace the --|Procedure_Context annotation with the --|Subsystem and (optional) --|Activity annotations: --|Procedure_Name Excelan_Boot_Server --|Subsystem !Targets.Implementation.Motorola_68k_Download --|Activity !Machine.Release.Current.Activity --|No_Wait * The --|Subsystem annotation specifies the name of the subsystem that contains the procedure. (When this annotation is specified, the --|Procedure_Context annotation is ignored.) * The --|Activity annotation specifies the activity to be used to obtain the view name and construct the full pathname of the procedure. If you omit this annotation, !Machine.Release.Current.Activity is used. * Note that Excelan_Boot_Server is a parameterless procedure; otherwise, one or more --|Parameters annotations would be present. * The --|No_Wait annotation permits concurrent execution (see section A.3.3). This annotation is present because this procedure starts a server. Specifying further information: "_Start" files may also contain annotations that control the order in which the Start procedure will execute the referenced procedures. See section A.3.3. 50 May 1992 RATIONAL\f Release D_12_6_5 Using a "_Start" file is equivalent to executing the referenced procedure via Program.Run_Job or Program.Run. See the comments in the specification of !Machine.Initialization.Start for additional annotations that specify the equivalent of the Options parameter in the Program.Run_Job procedure and the Context parameter in the Program.Run and Program.Run_Job procedures. A.3.3. Controlling the Order of Execution You can specify the relative execution order of all initialization procedures (including those referenced in "_Start" files). To do this, you include annotations in the appropriate procedure specifications or "_Start" files: * To specify that procedure A cannot run until procedure B has finished, you include the annotation --|Prerequisite B in the specification of procedure A (or in the "_Start" file that references procedure A). If procedure B is referenced in a "_Start" file, you specify the filename as the annotation's argument: --|Prerequisite B_Start. Note that the argument of this annotation is a simple name and that all three worlds (Rational, Local, and Site) are searched for that simple name. Therefore, simple names must be unique across these three worlds if you want to use this annotation. * To specify that procedure A must finish before any other procedure can start executing, you include the annotation --|Wait in the specification of procedure A (or in the "_Start" file that references procedure A). Using this annotation is equivalent to executing procedure A using Program.Run. * To specify that procedure A is to execute as a separate job concurrent with other procedures, you include the annotation --|No_Wait in the specification of procedure A (or in the "_Start" file that references procedure A). Using this annotation is equivalent to executing procedure A using Program.Run_Job. If none of the annotations listed above are present in a given procedure or "_Start" file, the --|Wait annotation is assumed. That is, procedures are executed sequentially unless told otherwise. If a circular dependency results from a combination of annotations, it will be reported and ignored, so that each procedure will run. RATIONAL May 1992 51\f Rational Environment Release Information Note that you can execute the Start command with the Effort_Only parameter set to True to test the execution order that results from your annotations. See the comments in the specification of the !Machine.Initialization.Start procedure for a complete description of annotation usage, along with examples. A.3.4. Customizing Disk-Collection Thresholds You can customize the disk-collection thresholds for the particular needs of your site. To implement a change in your disk-collection thresholds: 1. Create an empty Ada unit in the Local world. 2. Copy the contents of the !Machine.Initialization.Local.Local_Gc_Thresholds_Sample file into the empty Ada unit. 3. In the Ada unit, edit the Thresholds1 and Thresholds2 arrays to specify the desired thresholds. 4. Promote the Ada unit. Note, however, that values set by the procedure in world Rational are calculated based on your disk configuration and should be sufficient; see your Rational technical representative if you want to use different thresholds. A.4. Enabling and Configuring Login Ports D_12_5_0 and subsequent releases provide a file-driven mechanism in !Machine.Initialization for enabling and configuring ports for login. At the very least, you must ensure that this mechanism has enough information to enable the desired login ports (see section A.4.1). In addition, you may optionally use this mechanism to specify: * Connection and terminal-type characteristics for Telnet and RS232 ports, such as logoff on disconnect, disconnect on logoff, and so on * Communication characteristics for RS232 ports, such as flow control, parity, and so on Such information is specified using the options described in section A.4.4. 52 May 1992 RATIONAL\f Release D_12_6_5 A.4.1. Enabling Ports for Login Ports for terminal devices must be enabled for login each time an R1000 boots. Accordingly, the !Machine.Initialization.Start procedure calls a procedure called Terminals in the Rational world. This procedure in turn consults a file called Terminal_Configuration in the Local world to determine which ports to enable for login. This file-driven mechanism takes the place of a procedure such as !Machine.Initialize_Terminals, which enables terminals through calls to the Operator.Enable_Terminal procedure. The Terminal_Configuration file is created automatically in the Local world during installation: * On a new machine, a Terminal_Configuration file is created that enables ports 235 through 249 for login. * On an R1000 that is being upgraded from a previous Environment release, the Terminal_Configuration file contains entries for the same set of ports that were enabled at the time of installation. (This file also preserves any nondefault communication characteristics that were in effect for RS232 ports; see section A.4.4.) You can edit the Terminal_Configuration file at any time to change which ports are enabled. The changes take effect the next time you boot the R1000. Alternatively, you can execute the Rational.Terminals procedure to make the changes take effect without booting the R1000. Note that you must keep the Terminal_Configuration file in the Local world, even if you want to enable the same ports on all machines at a given site. Following is a sample Terminal_Configuration file containing basic enabling information: 16 => (Enable) 224 .. 249 => (Enable) -- Ports 250 and 251 are for printers; disable them for login 250..251 => (Login_Disabled) As shown, the Terminal_Configuration file consists of: * Comments preceded with Ada comment notation (--) * Entries of the general form: Port_Range => (Options), where: - Port_Range can be a single port number or a range of port numbers - Options must be enclosed in parentheses The options that pertain to enabling and disabling ports are summarized in Table A-1. RATIONAL May 1992 53\f Rational Environment Release Information Table A-1 Options for Enabling and Disabling Ports ------------------------------------------------------------ | | | | Option | Description | ------------------------------------------------------------ | | | |Enable |When specified for a given port, enables the | | |port for login. Note that the port cannot | | |subsequently be enabled for any other device, | | |such as a printer. | ------------------------------------------------------------ | | | |Login_ |When specified for a given port, prevents the | |Disabled |port from being enabled for login-for example, | | |by subsequent usage of the | | |Operator.Enable_Terminal command. Note that the| | |port can subsequently be enabled for other | | |devices, such as printers. | ------------------------------------------------------------ | | | |Disable |When specified for a given port, disables the | | |port for all devices. Note that the port can | | |subsequently be enabled for any device, | | |including login. Specifying this option is | | |equivalent to having no entry for the port in | | |the file. | ------------------------------------------------------------ Port 16 is always enabled for login, regardless of whether an entry exists for it. An entry for port 16 is included in the automatically created Terminal_Configuration file for explicitness. Do not assign the Enable option to any port that you plan to enable for a printer or other device (such as a CDF). Instead, you can assign the Login_Disabled option or the Disable option to those ports, or you can simply omit entries for them from the file. Assigning the Login_Disabled option is recommended if you want to ensure that printer ports cannot be enabled for login even if the print spooler is killed. A.4.2. Customizing Port Characteristics You can add information to the Terminal_Configuration file to specify connection characteristics for RS232 ports and communication characteristics for RS232 and Telnet ports. Such information is specified through the options listed in section A.4.4. 54 May 1992 RATIONAL\f Release D_12_6_5 The simplest way to specify multiple options is to assign them directly to a port or range of ports: * Multiple options in a single entry must be enclosed in parentheses. * Multiple options must be separated by commas. * The options can extend over several lines, although the entry itself must start on a new line. For example, the following entry assigns several connection characteristics to ports 224..249 and then enables those ports: 224..249 => (Logoff_On_Disconnect, Disconnect_On_Logoff, Enable) You can organize recurrent sets of options and improve readability in the Terminal_Configuration file by defining an abbreviation for each set of options and then assigning each abbreviation to a port or range of ports: * Abbreviation entries are of the general form Abbreviation = Options. Note that the equals sign (=) is used to define abbreviations; the => symbol is used for port assignment. * Existing abbreviations can be nested in the definition of new abbreviations. For example, the following entries create the abbreviations User_Ports and Telnet_Ports, assigning the Telnet_Ports abbreviation to ports 224..249: -- Port settings for user login ports User_Ports = (Logoff_On_Disconnect, Disconnect_On_Logoff) -- Port settings for Telnet ports Telnet_Ports = (Terminal_Type => Xrterm, User_Ports) 224..249 => (Telnet_Ports, Enable) When adding entries to a Terminal_Configuration file, bear in mind that: * Nondefault communication characteristics for RS232 ports must be set each time an R1000 boots. Consequently, if a port is to have nondefault values for any of the options listed in Table A-4, you must include these options in the entry for that port. Omitting an option causes its default value to be set. * Connection and terminal-type characteristics persist across boots, retaining the last values that were set for them. Thus, in principle, the options listed in Tables A-2 and A-3 need to be set only once and then can be omitted from the RATIONAL May 1992 55\f Rational Environment Release Information Terminal_Configuration file. However, you may choose to include values for these options in the file to ensure that booting the system resets them to the proper values in case they had been changed. * The options for each port are set in the order in which they are assigned in the Terminal_Configuration file. Similarly, the options in an abbreviation are set in the order in which they are declared. If a single port number is included in the ranges of more than one entry, that port takes the options of the last entry in which it appears. A.4.3. A Sample Terminal_Configuration File The following sample file shows how a system manager can use abbreviations to organize port information meaningfully. Note that a number of connection options have been explicitly set to ensure that booting the system sets them to a known value. Note also that specifying the Disable option for the printer ports is not absolutely necessary; however, specifying this option ensures that no previous entry in the file had inadvertently enabled these ports. -- Operator line 16 settings Operator_Port = (~Logoff_On_Disconnect, ~Disconnect_On_Logoff, ~Login_Disabled) -- User login port settings User_Ports = (Logoff_On_Disconnect, Disconnect_On_Logoff, ~Login_Disabled, ~Log_Failed_Logins, ~Disconnect_On_Failed_Login, ~Disconnect_On_Disconnect) -- Dial-in port connection settings Dialin_Ports = (Terminal_Type => VT100, Input_Rate => Baud_2400, Output_Rate => Baud_2400, Parity => None, Bits_Per_Char => Char_8, Stop_Bits => 1, User_Ports) -- Telnet port settings Telnet_Ports = (Terminal_Type => Xrterm, User_Ports) -- Printer port settings Printer_Ports = (Login_Disabled) -- Ports not in use Unused = (Login_Disabled) 16 => (Operator_Port, Enable) 17..31 => (Dialin_Ports, Enable) 56 May 1992 RATIONAL\f Release D_12_6_5 224..249 => (Telnet_Ports, Enable) 250..251 => (Disable, Printer_Ports) 252..255 => (Disable, Unused) A.4.4. Terminal-Configuration Options Tables A-2, A-3, and A-4 summarize the connection, terminal type, and RS232 communication options you can specify in the Terminal_Configuration file. These options invoke corresponding procedures in package Terminal. Table A-2 Boolean Options for Connection Characteristics ------------------------------------------------------------ | | | | Option | Description | ------------------------------------------------------------ | | | |Disconnect_On_ |When specified for a given port, | |Disconnect |causes the Environment to respond to | | |an incoming disconnect signal | | |received on that port by initiating | | |an outgoing disconnect signal on that| | |port. | ------------------------------------------------------------ | | | |Disconnect_On_Failed_ |When specified for a given port, | |Login |causes the Environment to initiate an| | |outgoing disconnect signal on that | | |port when a user repeatedly fails to | | |log in on that port (for example, by | | |repeatedly entering an incorrect | | |password or unrecognized username). | ------------------------------------------------------------ | | | |Disconnect_On_Logoff |When specified for a given port, | | |causes the Environment to initiate an| | |outgoing disconnect signal on that | | |port when a user logs off a session | | |running on that port. | ------------------------------------------------------------ | | | |Log_Failed_Logins |When specified for a given port, | | |causes the Environment to write an | | |entry to the system error log when a | | |user fails repeatedly to log in on | | |that port (for example, by repeatedly| | |entering an incorrect password or | | |unrecognized username). | ------------------------------------------------------------ RATIONAL May 1992 57\f Rational Environment Release Information Table A-2 Boolean Options for Connection Characteristics (continued) ------------------------------------------------------------ | | | | Option | Description | ------------------------------------------------------------ | | | |Logoff_On_Disconnect |When specified for a given port, | | |causes the Environment to respond to | | |a disconnect received on that port by| | |logging off that port's session. | ------------------------------------------------------------ Table A-3 Enumeration Option for Specifying Terminal Type ------------------------------------------------------------ | | | |Option => | Description | | Value | | ------------------------------------------------------------ | | | |Terminal_ |Specifies the output driver type for a given | |Type |port. Value can be any valid terminal type name, | | |including (but not limited to): | | |Cit500r Facit Rational Vt100 Xrterm | ------------------------------------------------------------ Table A-4 Enumeration Options for RS232 Communication Characteristics ------------------------------------------------------------- | | | | | |Default| | | Option => Value | Value | Description | ------------------------------------------------------------- | | | | |Bits_Per_Char |Char_8 |Specifies the number of data | | | |bits per character. Value can | | | |be: Char_5 Char_6 Char_7 | | | |Char_8 | ------------------------------------------------------------- 58 May 1992 RATIONAL\f Release D_12_6_5 Table A-4 Enumeration Options for RS232 Communication Characteristics (continued) ------------------------------------------------------------- | | | | | |Default| | | Option => Value | Value | Description | ------------------------------------------------------------- | | | | |Flow_Control | None |Specifies software flow control | | | |for data transmitted by the | | | |R1000 on the specified port. | | | |Value can be: | | | |None Xon_Xoff Dtr Rts | ------------------------------------------------------------- | | | | |Input_Rate | Baud_ |Sets the incoming data rate for | | | 9600 |a given port. Value can be: | | | |Baud_50 Baud_75 Baud_110| | | |Baud_134_5 Baud_150 Baud_200| | | |Baud_300 Baud_600 | | | |Baud_1200 | | | |Baud_1800 Baud_2400 | | | |Baud_9600 | | | |Baud_19200 Disabled | | | |Ext_Rec_Clk | ------------------------------------------------------------- | | | | |Output_Rate | Baud_ |Sets the outgoing data rate for | | | 9600 |a given port. Values are the | | | |same as for Input_Rate. | ------------------------------------------------------------- | | | | |Parity | None |Sets the parity for transmitted | | | |and received data on a given | | | |port. Value can be: None Odd | | | |Even | ------------------------------------------------------------- | | | | |Stop_Bits | 2 |Sets the number of stop bits for| | | |a given port. Value is a natural| | | |number in the range 1..2. | ------------------------------------------------------------- | | | | |Receive_Flow_Control| None |Specifies flow control of data | | | |received by the R1000 on the | | | |specified port. Value can be: | | | |None Xon_Xoff Dtr Rts | ------------------------------------------------------------- RATIONAL May 1992 59\f Rational Environment Release Information Table A-4 Enumeration Options for RS232 Communication Characteristics (continued) ------------------------------------------------------------- | | | | | |Default| | | Option => Value | Value | Description | ------------------------------------------------------------- | | | | |Receive_Xon_Xoff_ |(17,19)|Specifies flow-control bytes so | |Bytes | |that the R1000 can regulate the | | | |data it receives on the | | | |specified port. Value is (n,m), | | | |where n and m are natural | | | |numbers in the range 0..255. | ------------------------------------------------------------- | | | | |Xon_Xoff_Bytes |(17,19)|Specifies the flow-control bytes| | | |that the R1000 recognizes for | | | |the specified port. Value is: | | | |(n,m), where n and m are natural| | | |numbers in the range 0..255. | ------------------------------------------------------------- A.5. Configuring Printers D_12_5_0 and subsequent releases provide a file-driven mechanism in !Machine.Initialization for configuring a group of networked and/or local printers. This mechanism allows you to define a printer name for each printer on the network and to specify how each printer is to be accessed. Furthermore, you can also associate a printer name with each user, so that when a given user enters the Print command (that is, !Commands.Abbreviations.Print), the print job will be sent by default to the device that is defined by the associated printer name. This file-driven mechanism automatically adds the specified devices to the appropriate R1000s, creates the necessary print classes on the appropriate R1000s, and associates each class with the specified device, thereby creating print queues. Thus, when you use the file-driven mechanism, you do not need to use procedures from package Queue (such as Add, Create, Enable, and Register) to do these things. Existing sites can choose whether to use this file-driven mechanism or to continue using procedures from package Queue to configure printers. However, because the file-driven mechanism combines class and machine information, it is recommended that large sites with multiple networked printers use the file-driven !Machine.Initialization mechanism. Small sites with few printers 60 May 1992 RATIONAL\f Release D_12_6_5 connected directly to R1000s may want to continue using package Queue. Sites that want to create a single class with multiple | devices should also use package Queue. | Note that the printer configuration (set either through commands | in package Queue or through the file-driven mechanism) applies to | both the Queue.Print and Abbreviations.Print commands. The | ability to associate printer names with usernames is specific to | the Abbreviations.Print command. | A.5.1. Where to Specify Printer Information Each time an R1000 boots, the !Machine.Initialization.Start procedure calls a procedure called Printers in the Rational world. This procedure initializes the print spooler on that R1000 based on the information in the following user-created files: * !Machine.Initialization.Site.Printer_Configuration, which defines a printer name for each of the devices available on the network and specifies how each device is to be accessed. A copy of this file must exist on all R1000s from which users will enter the Print command and on all R1000s that will handle print requests for the specified devices. * !Machine.Initialization.Local.Printer_Configuration, which defines additional printer names for additional devices intended only for users of the current R1000. * !Machine.Initialization.Local.User_Printer_Map, which associates a default printer name with individual users on the current R1000. When a user executes the Print command with the default Printer parameter, the command looks up the user's name and sends the print request to the corresponding printer. At a minimum, the Print command requires that one Printer_Configuration file exist in either the Site or Local world. If no User_Printer_Map file exists (or if the file exists but contains no entry for a particular user), the Print command uses the first printer name defined in the Site.Printer_Configuration file. If this file doesn't exist, the first printer name defined in the Local.Printer_Configuration file is used. The classes and devices specified in the Printer_Configuration | files are created when the Printers procedure (that is, | !Machine.Initialization.Rational.Printers) is executed (normally, | during machine initialization). The Printers procedure also | associates usernames with the appropriate printer information. Be | aware that whenever information is changed in any of the files | listed above, the Printers procedure must be run in order to | update the information. | If you choose not to create any of these files, you will have to: RATIONAL May 1992 61\f Rational Environment Release Information * Create an initialization procedure (in either the Site or Local world) that uses package Queue to create print queues each time the system boots. * Either: - Use the Queue.Print command instead of the !Commands.Abbreviations.Print command. - Use the !Commands.Abbreviations.Print command, but explicitly specify the class name for the Printer parameter. A.5.2. Adding Entries to a Printer_Configuration File During installation, an empty Printer_Configuration file is created in the Local world. After installation, you can: * Add entries to this file to enable the use of the Print command. * Move this file (or create an additional file called Printer_Configuration) in the Site world, if you need to define sitewide printer information. Each entry in a Printer_Configuration file defines a printer name and specifies the characteristics of the device it represents. Each entry must start on a new line, but the information can extend over several lines and can include single and in-line comments. For readability, the entries are often formatted like command parameters. Each entry has the general form: Printer_Name => (Device_Type => Device_Info, Other_Device_Characteristics, Laser_Comm => Boolean, Reverse_Output_Pages => Boolean, On_Node => R1000_Name) where: * Printer_Name is the name by which you want to refer to a given | device in a Print command. Printer_Name must be a legal Ada | simple name. * Device_Type is one of the following four kinds of printer devices: - Direct, which specifies a printer connected to an R1000 via direct line. 62 May 1992 RATIONAL\f Release D_12_6_5 - Telnet, which specifies a printer connected to an R1000 via Telnet. - File, which specifies a file on an R1000 in which print-spooler output is collected. Subsequent processing is required to get this output printed. - Workstation, which specifies a directory on a remote workstation to which print requests are sent. Such requests are sent via FTP as individual files; from the remote directory, they can be printed using the workstation's print tools. * Device_Info is further information about the device you specified. The information depends on the type of device specified (see the paragraphs below). * Other_Device_Characteristics are additional entry elements, separated by commas, that give further information about the chosen device (see the paragraphs below). * The Laser_Comm option, when True, specifies that printing will be done on a laser printer. Omitting this option implies that printing will be done on a line printer. For Direct and Telnet devices, setting Laser_Comm to True specifies that a laser printer is connected; for File and Workstation devices, setting Laser_Comm to True specifies that the collected print requests will eventually be printed on a laser printer. * The Reverse_Output_Pages option allows you to adjust the order in which pages are spooled to accommodate the way your printer stacks pages in its output tray. This option applies only if the Laser_Comm option is set to True. - Setting Reverse_Output_Pages to True causes the print spooler to reverse the order of output pages, so that the last logical page is printed first. Omitting this option is equivalent to specifying True. - Setting Reverse_Output_Pages to False causes the print spooler to keep the pages of output in the order in which they appear in the source file. * The On_Node option specifies the network name of the R1000 that contains the print spooler for the device. Omitting this option is equivalent to specifying the name of the current R1000. The following paragraphs describe printer-configuration file entries for each of the four kinds of devices. (See also the comments in the specification of !Machine.Initialization.Rational.Printers.) RATIONAL May 1992 63\f Rational Environment Release Information A.5.3. Specifying a Directly Connected Printer To specify a printer connected to an R1000 via direct line, you specify an entry of the following general form: Printer_Name => (Direct => Protocol, Device => Terminal_N, Laser_Comm => Boolean, Reverse_Output_Pages => Boolean, On_Node => R1000_Name) where: * Protocol specifies the printer flow control and can be either Xon_Xoff or Dtr. See the printer manual for details. * Terminal_N represents the RS232C port to which the printer is connected (N is the port number). The specified port must not be enabled for login in the Local.Terminal_Configuration file. * The Laser_Comm option, when True, specifies that a laser printer is connected and enables a two-way printer-communication protocol. Omitting the option is equivalent to specifying False, which means that a line printer is connected. * The Reverse_Output_Pages option allows you to adjust the order in which pages are spooled to accommodate the way your printer stacks pages in its output tray, as described in section A.5.2. This option applies only if Laser_Comm is set to True. * The On_Node option specifies the network name of the R1000 to which the printer is directly connected. Omitting this option is equivalent to specifying the name of the current R1000. The following entry creates a printer name called Lp, which represents a line printer that is directly connected to port 30 of an R1000 called Jazmo: -- Line printer connected to Jazmo Lp => (Direct => Xon_Xoff, Device => Terminal_30, On_Node => Jazmo) A.5.4. Specifying a Networked Printer To specify a printer connected to an R1000 via Telnet, you specify an entry of the following general form: Printer_Name => (Telnet => Host_Name, Device => Terminal_N, Laser_Comm => Boolean, Reverse_Output_Pages => Boolean, On_Node => R1000_Name) 64 May 1992 RATIONAL\f Release D_12_6_5 where: * Host_Name is the network name of the printer. * Terminal_N represents the Telnet port to which the printer is connected (N is the port number). The specified port must not be enabled for login in the Local.Terminal_Configuration file. * The Laser_Comm option, when True, specifies that a laser printer is connected and enables a two-way printer-communication protocol. Omitting the option is equivalent to specifying False, which means that a line printer is connected. * The Reverse_Output_Pages option allows you to adjust the order in which pages are spooled to accommodate the way your printer stacks pages in its output tray, as described in section A.5.2. This option applies only if Laser_Comm is set to True. * The On_Node option specifies the network name of the R1000 to which the printer is connected via Telnet. Omitting this option is equivalent to specifying the name of the current R1000. The following entry creates the printer name Dlaser, which represents a laser printer that is connected via Telnet to port 226 of an R1000 called Roget. Because of the way this printer stacks its output, print requests are spooled to this device with their pages in ascending (rather than reversed) order: -- Documentation's laser printer Dlaser => (Telnet => Doc_Laser, Device => Terminal_226, Laser_Comm, Reverse_Output_Pages => False, On_Node => Roget) A.5.5. Specifying an Environment File To specify a file in which to collect print-spooler output, you specify an entry of the following general form: Printer_Name => (File => Environment_Pathname, Laser_Comm => Boolean, Reverse_Output_Pages => Boolean, On_Node => R1000_Name) where: * Environment_Pathname specifies the file to which output is written. The pathname must name a file that exists on the R1000 named by On_Node. Note that the group Spooler must have access to the specified file. RATIONAL May 1992 65\f Rational Environment Release Information * The Laser_Comm option, when True, specifies that the collected print requests will eventually be printed on a laser printer. Omitting the option is equivalent to specifying False, which means that a line printer will be used. * The Reverse_Output_Pages option allows you to adjust the order in which pages are spooled to accommodate the way your printer stacks pages in its output tray, as described in section A.5.2. This option applies only if Laser_Comm is set to True. * The On_Node option specifies the network name of the R1000 on which the file is located. Omitting this option is equivalent to specifying the name of the current R1000. The following entry creates the printer name Hold, which represents a file on an R1000 called Logo. Low-priority print requests are sent to this file, where they are held until someone prints the file using the Print command (specifying a printer name that represents a connected printer): -- Place to hold large requests until printers are free in the evening Hold => (File => !Machine.Queues.Local.Held_Print_Requests, On_Node => Logo) A.5.6. Specifying a Workstation Directory To specify a directory on a workstation to which print requests are sent, you specify an entry of the following general form: Printer_Name => (Workstation => Host_Name, Path => Directory_Name, Laser_Comm => Boolean, Suffix => String, Reverse_Output_Pages => Boolean, On_Node => R1000_Name) where: * Host_Name is the network name of the workstation to which the files will be transferred. * Directory_Name is the pathname of the workstation directory into which the files will be transferred. The directory pathname must have syntax appropriate to the workstation and must have trailing punctuation that permits the name of the transferred print-request file to be appended. * The Laser_Comm option, when True, specifies that the collected print requests will eventually be printed on a laser printer. Omitting the option is equivalent to specifying False, which means that a line printer will be used. 66 May 1992 RATIONAL\f Release D_12_6_5 * The Suffix option allows you to specify a string to be appended to the filenames that are created on the workstation. Omitting this option causes no suffix to be appended to the filenames. The specified suffix can be used by print tools as a way of identifying which files to print. This is useful when several printer names send files to the same directory. * The Reverse_Output_Pages option allows you to adjust the order in which pages are spooled to accommodate the way your printer stacks pages in its output tray, as described in section A.5.2. This option applies only if Laser_Comm is set to True. * The On_Node option specifies the network name of the R1000 whose print spooler handles the print requests. Omitting this option is equivalent to specifying the name of the current R1000. In addition to creating an entry for each workstation in the | Printer_Configuration files, you must also create a | remote-passwords file, containing the username and password to be | used for accessing each workstation. This remote-passwords file | must be named Remote_Access and exist in the library | !Machine.Queues.Ftp. (For information about remote-passwords | files, see package Remote_Passwords in the Session and Job | Management book of the Rational Environment Reference Manual.) | When print requests are sent as files to a workstation, any FTP messages are directed to a log file that is created in !Machine.Queues.Ftp. This log file is automatically cleared after each 100 print requests. Messages pertaining to creating print classes and enabling devices are directed to the system error log. The following two entries create printer names Dc_Laser and Dc_Lineprinter, both of which direct print requests to a directory on a UNIX workstation called Enterprise. These print requests, which are routed through the print spooler on an R1000 called Capitol, are sent as files with different suffixes, depending on the printer name (_Lsr and _Lpt, respectively): -- Laser printer attached to workstation in Washington, D.C., office; -- spooled on R1000 called Capitol. Dc_Laser => (Workstation => Enterprise, Path => /usr/spool/ratqueue/, Laser_Comm, Suffix => _Lsr, On_Node => Capitol) -- Line printer attached to workstation in Washington, D.C., office; -- spooled on R1000 called Capitol. Dc_Lineprinter => (Workstation => Enterprise, Path => /usr/spool/ratqueue/, Suffix => _Lpt, RATIONAL May 1992 67\f Rational Environment Release Information On_Node => Capitol) Print tools on the workstation, such as the following sample, are required to actually print the requests: # This program spools print requests placed in /usr/spool/ratqueue to # the appropriate printer based on the suffix of the spooled file. # It checks the spool directory at 5-minute intervals to see if any # new files need printing. This runs as a C-shell script. To execute, # type csh and the name of this file. : set xFTPxDIRx=/usr/spool/ratqueue #spool directory # set xFTPxSUFFIXxLSRx=_Lsr # Laser printer suffix set xFTPxSUFFIXxLPTx=_Lpt # Line printer suffix # set xPRINTxLISTxLSRx=/tmp/rat_print_lsr.$$ # Laser printer list file set xPRINTxLISTxLPTx=/tmp/rat_print_lpt.$$ # Line printer list file # set xPRINTxCOMMANDx=/tmp/rat_command.$$ # temporary print command file # set xPRINTxDELAYx=120 # interval to wait before printing set xRECHECKxTIMEx=180 # interval for checking print requests # cd $xFTPxDIRx while (1 == 1) # # Creates a list of files to print for each printer. # ls $xFTPxDIRx | grep $xFTPxSUFFIXxLSRx > $xPRINTxLISTxLSRx ls $xFTPxDIRx | grep $xFTPxSUFFIXxLPTx > $xPRINTxLISTxLPTx # # Adds the laser- and line-printer files to the print-command file # (the device name of each type of printer should be provided after the -P). # cat $xPRINTxLISTxLSRx | sed -e 's^.^lpr -r -Plaser &^' > $xPRINTxCOMMANDx cat $xPRINTxLISTxLPTx | sed -e 's^.^lpr -r -Pline &^' >> $xPRINTxCOMMANDx # # Waits the specified amount of time before printing the requests. # (This delay allows time for the FTP operation to complete 68 May 1992 RATIONAL\f Release D_12_6_5 and should # be adjusted based on the average length of files being printed.) # sleep $xPRINTxDELAYx # # Prints the files if there are any to print. # set LCNT=`cat $xPRINTxCOMMANDx | wc -l ` if ( $LCNT != 0 ) then chmod +x $xPRINTxCOMMANDx $xPRINTxCOMMANDx endif # # Waits the specified amount of time. # sleep $xRECHECKxTIMEx # # Removes the old temporary files. # rm $xPRINTxLISTxLSRx rm $xPRINTxLISTxLPTx rm $xPRINTxCOMMANDx # end A.5.7. Associating Default Printers with Individual Users To associate a default printer with each user, you must create a file called User_Printer_Map in the Local world and add entries of the following form: Username Printer_Name where: * Username is either: - The username for an R1000 user - The string Others, which represents all users not explicitly listed by name. * Printer_Name is defined in a Printer_Configuration file. Following is a sample User_Printer_Map file: phil dc_laser sue dlaser others lp See also the comments in the specification of !Machine.Initialization.Rational.Printers. RATIONAL May 1992 69\f Rational Environment Release Information 70 May 1992 RATIONAL\f Release D_12_6_5 Appendix B Diagnostic Crash Procedures B.1. Introduction The D_12_6_5 release includes enhancements to the process of analyzing R1000 crashes. In particular: * Much of the process has been automated so that the system will capture as much information as possible and often reboot automatically. * A series of questions and menus have been added to the diagnostic crash procedures, which: - Capture system crash state - Analyze system hardware The instructions in this appendix supersede those in your System Manager's Guide. For convenience, you may want to place a copy of these procedures with your System Manager's Guide. B.2. When Your System Crashes Call the Rational Response Center whenever your R1000 fails. You will be guided through the most appropriate parts of the procedures below-in some cases through other undocumented steps as well-to reach an effective and timely diagnosis of the problem. For information about contacting the Rational Response Center, see section B.12. If your system crashes outside Rational's normal support hours, follow one of the three options described below. These options are listed in order, from most desirable to least desirable (in terms of gathering information needed to determine why your machine crashed and to prevent additional crashes): * Wait and contact the Rational Response Center during normal support hours (see section B.12). * Gather diagnostic information about your system crash (by following the diagnostic crash procedures in this appendix) before you try to reboot the machine. * Try to reboot the machine immediately without gathering diagnostic information. Be aware that doing so may lengthen the time it takes to isolate and resolve the problem. RATIONAL May 1992 71\f Rational Environment Release Information B.3. Using These Diagnostic Crash Procedures The instructions in this appendix are designed to help you collect as much diagnostic information as possible about the state of your machine at the time of a system crash. By following these procedures, you will help shorten the time to diagnose and, if necessary, repair your system. These procedures are organized into sections roughly according to the order in which you may need to perform them. No matter why the system crashed, you should always capture system-state information, as described in section B.4. Then, if you experienced or are experiencing: * A power failure, see section B.5. * Overheating, see section B.6. * The "connect modem" message, begin with section B.7. * Any other failure message, begin with section B.8. * Disk errors, begin with section B.8 and continue through section B.10. After executing the procedures in the following sections, fax or e-mail the information you have gathered to the Rational Response Center (see section B.12). Note that when the R1000 CPU stops running, the I/O processor queries all the boards to determine what caused it to stop. The message given by the R1000 when it crashes names the board that detected the specific check; therefore, the named board is not necessarily the faulty part. B.4. Saving Information about the System State When your system fails, you should begin by saving information about the system state. 1. Write down the crash information displayed on the operator console. If this information has already scrolled off the screen, go to step 2, below. In particular, write down the machine check message (MC), crash reason (CR), trace (TR), and any other messages (OM) displayed. A sample crash output is shown below: MC=> Sequencer has detected a machine check. ************************************************************** ***** CR=> Booting R1000 IOP after halt of machine crash detected 72 May 1992 RATIONAL\f Release D_12_6_5 CR=> Boot reason code = 0C, from PC 0001A094 Restarting R1000-200 February 14th, 1992 at 14:14:35 -- you may see the Interactive menu here -- if so, press [#Return#] Logical tape drive 0 is a 8MM cartridge tape drive. Logical tape drive 1 is declared non-existent. Logical tape drive 2 is declared non-existent. Logical tape drive 3 is a 1/2 inch 9 track tape drive at physical unit 0. Booting I/O Processor IOC Bootstrap Version 5.7 Initializing I/O Processor Kernel 0_8_7 Disk Controller 0, Disk 0 is ONLINE and WRITE ENABLED Disk Controller 0, Disk 1 is ONLINE and WRITE ENABLED Disk Controller 0, Disk 2 is ONLINE and WRITE ENABLED Disk Controller 0, Disk 3 is ONLINE and WRITE ENABLED IOP Kernel is initialized Initializing diagnostic file system ... [OK] FREEZE_WORLD.FIU -- several messages like these overwrite MF.IOC -- each other ==================================================== CR=> Restarting system after R1000 Processor Halt => Processor multi-bit CR=> memory error -- previous two lines indicate the crash reason -- and appear in reverse video Running post-mortem diagnostics. TR=> uaddr trace: 4=2A92 3=018D 2=020E 1=0204 -- ucode M207_36 CR=> Microcode HALT CR=> The processor got a(n) Halt. OM=> Post-mortem diagnostics do not apply to this kind of failure Saving state of: board JKLMFQTVI, Special Registers, Trace Rams [OK] R1000 Crash Save done - tombstone file R1000_DUMP1 created. 2. Write down the context of the crash. * How long had the R1000 been running since the last boot? Was the R1000 still booting when it crashed? Why was it booting? * Was the Environment up at the time? Was there anything abnormal about the way the Environment was functioning? RATIONAL May 1992 73\f Rational Environment Release Information What were users doing? Any unusual activities? Were any daemons (snapshot, daily, or weekly) running? Was a tape drive in use? * Have there been any hardware, firmware, or software changes to this R1000 within the past week? * Have there been any problems with or modifications of the network in the past week? * What was the temperature in the computer room at the time of the crash? * Have there been any problems with the air conditioning recently? * Are there other computers (R1000s or not) in the same building? Did any of the other computers crash or have power or environmental problems at the same time? 3. Use the crash reason message (displayed in reverse video below the line of equal signs) to locate the appropriate recovery process in section B.9. B.5. Crash due to Power Failure Note: A crash due to a power failure does not cause the system to dial Rational through the system's internal modem, even when the system is configured to do so for other types of crashes. B.5.1. Indication of Power Failure In most cases, a crash due to power failure is reported by the following message in reverse video on the operator console: Restarting system after loss of AC power B.5.2. Recovering from Power Failure When your system crashes because of a power failure: 1. If power to the system is still off, turn the system's power keyswitch to OFF. Turning the power keyswitch to OFF reduces the chance of accidental damage to the R1000 when the source of power is restored. 2. Before trying to restart the system, try to determine the cause and extent of the power failure and to correct the problem. 74 May 1992 RATIONAL\f Release D_12_6_5 Determining the cause and extent of the power failure commonly requires the aid of your site facilities personnel. If the power failure affected your entire site, your site facilities personnel should contact your local power company for further information. 3. Restore power to the R1000 and turn the power keyswitch to ON. 4. After power has been restored, the system will do one of three things, depending on its configuration: * Boot automatically * Begin booting and stop at the Interactive menu: Options are: 1 => Change BOOT/CRASH/MAINTENANCE options 2 => Change IOP ENVIRONMENT configuration 3 => Enable manual crash debugging (experts only) 4 => Boot IOP, prompting for tape or disk 5 => Boot system Enter option [Boot System]: If the system stops at the Interactive menu, press [#Return#]. The system will display the Crash menu. * Begin booting and stop at the Crash menu: Options are: 1 => Enter CLI 2 => Make a CRASHDUMP 3 => Run the FRU tests 4 => Boot DDC configuration 5 => Boot EEDB configuration 6 => Boot STANDARD configuration Enter option [Boot STANDARD] : If the system stops at the Crash menu, press [#Return#]. The system will continue booting. 5. If the system does not reboot properly, then: A. Examine the operator console to see what messages are displayed. B. Contact the Rational Response Center (see section B.12). B.6. Crash due to Overheating Note: A crash due to overheating does not cause the system to dial Rational through the system's internal modem (mounted on the RATIONAL May 1992 75\f Rational Environment Release Information PCM card in the PCM unit), even when the system is configured to do so for other types of crashes. B.6.1. Indications of Overheating In most cases, a crash due to overheating causes all of the front panel lights to be off although the power switch is on. You can determine if the failure is due to overheating by examining the state of the LED overtemp indicator. On Series 200 and 300 systems, the overtemp indicator is on the power control module (PCM) and can be viewed by opening the rear door of the CPU cabinet. On a Series 400 system, the indicator is on the I/O panel, visible by opening the front door of the cabinet. (See your System Manager's Guide if you are unsure of the overtemp indicator's location.) Warning: Do not reach inside the CPU bay. Electric-shock hazards are present inside the R1000 cabinets. If the overtemp indicator is lit, this means that sensors in the R1000 had detected that the temperature inside the cabinet was too high and powered the system off. B.6.2. Recovering from Overheating 1. Check the room temperature. Note that the room air temperature must not exceed 85#F (29#C) while the R1000 is operating. (For detailed environmental requirements, refer to the Rational R1000 Development System: Site-Planning Guide for your system.) 2. If the room temperature is correct, the problem might be a fan failure inside the cabinet, clogged filters, or some other problem. In this case: A. Verify that the power keyswitch on the control panel is in the Off position. B. Contact the Rational Response Center for assistance (see section B.12). 3. After the overheating condition has been corrected, power off and restart the system by following the instructions in steps 3 through 5 of section B.5.2, above. 4. If the system does not reboot properly: A. Examine the operator console to see what messages are displayed. B. Contact the Rational Response Center (see section B.12). 76 May 1992 RATIONAL\f Release D_12_6_5 B.7. Displays "Connect Modem" Message and Hangs B.7.1. Indications of "Failure to Connect Modem" The system crashes, displays a reverse-video error message on the operator console, and then starts to reboot. Midway through the boot process, the system pauses and dials the Rational Response Center, displaying: Connecting modem Wait at least three minutes for the call to complete. If you see the message: Rational Response Center has instructed this cluster to wait for call back and do not want to wait, you can proceed with booting the system as follows: 1. Press [#Break#] on the operator console. 2. When the Enter option prompt is displayed, press [#0#] and [#Return#], then [#Y#] and [#Return#]. The modem connection is broken and the boot process begins. 3. Continue with section B.8, below. Note: Systems with restricted-access support contracts may not be configured to use this dial-out capability. B.8. Other System Failures When your system crashes, it may display one or two menus or continue to boot, depending on the setting of the Operator Mode key, the setting of the boot/crash/maintenance options, and the type of crash: * If the Operator Mode key is set to Interactive, the system displays the Interactive Key menu: Options are: 1 => Change BOOT/CRASH/MAINTENANCE options 2 => Change IOP ENVIRONMENT configuration 3 => Enable manual crash debugging (experts only) 4 => Boot IOP, prompting for tape or disk 5 => Boot system Enter option [Boot System]: Press [#Return#]. This will take you to the Crash menu. RATIONAL May 1992 77\f Rational Environment Release Information * If either the Auto Crash Recovery or the Auto Boot option is set to No, or if the Operator Mode key is set to Interactive and you have pressed [#Return#], then the system displays the Crash menu: Options are: 1 => Enter CLI 2 => Make a CRASHDUMP 3 => Run the FRU tests 4 => Boot DDC configuration 5 => Boot EEDB configuration 6 => Boot STANDARD configuration Enter option [Boot STANDARD] : The Crash menu provides access to the Command Line Interpreter (CLI), various diagnostic tests, and rebooting options. The crash reason is displayed above in reverse video. Use the crash reson to find the relevant subsection of B.9, below. B.8.1. Redisplaying the Crash Reason If the crash reason is not visible as captured or if you can print from the console, then follow the procedures in this section to redisplay the crash reason and message. The crash reasons and recovery procedures for each are described in section B.9. 1. At the Crash menu, enter option 1 (Enter CLI): Enter option [Boot STANDARD]: 1 Option 1 takes you to the CLI. 2. Enter x tombstone: CLI> x tombstone The console displays the Display Tombstone File menu: Options are: 0 => Exit 1 => Display tombstone file 1 2 => Display tombstone file 2 3 => Display tombstone file 3 4 => Display tombstone file 4 3. Enter option 1 (Display tombstone file 1). The four tombstone files act as a ring buffer with information about the most recent crash always in file 1. After entering option 1, you will see a message and menu like the one below: 78 May 1992 RATIONAL\f Release D_12_6_5 Analysis of tombstone 1 dated - 12:44:52 24-FEB-92 Options are: 0 => DONE 1 => Show all 2 => Show last console output 3 => Show crash classifications 4 => Show restart output 5 => Show trace 6 => Show Cpu State 7 => Show queues 4. Enter option 4 (Show restart output). The system displays the text shown in section B.4. 5. Make a note of the crash reason, which is indicated in reverse video under the line of equal signs. These messages are described in section B.9, below. 6. If your console is set up in such a way that you can easily send its output to a file or printer and e-mail or fax the output to the Rational Response Center, then: * Enter option 1 (Show all). * Capture the output in a file or send it to the printer. If your console is not set up so that you can capture its output, you can capture this information from the Environment when your system is running again; see section B.11. 7. Enter option 0 (DONE). The system returns you to the Display Tombstone File menu. 8. Enter option 0 (Exit). The system returns you to the CLI> prompt. 9. Enter bye: CLI> bye The system returns you to the Crash menu. 10. Continue with section B.9, below. If you suspect disk problems or encountered disk errors, also see section B.10. 11. Send the information you have gathered to the Rational Response Center (see section B.12). RATIONAL May 1992 79\f Rational Environment Release Information B.9. Common Crash Reasons and Responses Once you have determined the crash reason (using the procedure described in section B.8, above), you can continue recovering from the crash. Below are the common crash reasons, listed by number and message, and the recovery actions for each. B.9.1. Halt => System Error From the Crash menu, enter option 6 (Boot STANDARD configuration): Enter option [Boot STANDARD] : 6 The system attempts to boot. If your system will not boot, contact the Rational Response Center for further instructions (see section B.12). B.9.2. Halt => I/O Processor Hardware Error Press the white button to reboot the machine. Choose the Boot system or Boot STANDARD configuration options in any menus that you encounter. If the system still fails to boot or crashes again with the same reason, call the Rational Response Center (see section B.12). B.9.3. Halt => I/O Processor Software Error Press the white button to reboot the machine. Choose the Boot system or Boot STANDARD configuration options in any menus that you encounter. If the system still fails to boot or crashes again with the same reason, call the Rational Response Center (see section B.12). B.9.4. Halt => Processor Hardware Error See section B.9.6, below. B.9.5. Halt => Processor Multi Bit Memory Error See section B.9.6, below. 80 May 1992 RATIONAL\f Release D_12_6_5 B.9.6. Halt => Processor Sysbus Hardware Error Run the confidence (microdiagnostic) and field-replaceable unit (FRU) tests, by following the procedure below: 1. From the Crash menu, enter option 3 (Run the FRU tests): Enter [Boot STANDARD] : 3 The system displays the FRU Main menu: Rational R1000 FRU diagnostic driver Initializing ... Main menu 1 => Display cluster information 2 => Execute confidence test (microdiagnostic) 3 => Execute diagnostics 4 => Execute PM tests (not implemented yet) 5 => Margin cluster clocks/power 6 => Specify test options 7 => Repair assistance (model 100 CPU power control) 8 => Initialize processor state 0 => Exit 2. Enter option 2 (Execute confidence test (microdiagnostic)): The system displays: Preparing to run the microdiagnostic (uDIAG) The long version stress tests the DRAMs but runs 2 minutes longer 3. When prompted to run the long version, enter y: Do you want to run the long version [N] ? y The system displays several messages and returns you to the FRU Main menu: LOAD_HRAM_32_0.FIU ... File : DIAG.M200_UCODE Bound : November 15, 1989 13:02:00 Delta : RM:<MICROCODE.DIAG.IOC_DELTA>UCODE.DB.1 Mom : RM:<MICROCODE.DIAG.IOC_MOM>UCODE.DB.4 Loading Register Files and Dispatch Rams .... [OK] Loading Control Store ............ [OK] PREP_WRITE_REG.TYP... Main menu 1 => Display cluster information 2 => Execute confidence test (microdiagnostic) 3 => Execute diagnostics 4 => Execute PM tests (not implemented yet) 5 => Margin cluster clocks/power 6 => Specify test options 7 => Repair assistance (model 100 CPU power control) RATIONAL May 1992 81\f Rational Environment Release Information 8 => Initialize processor state 0 => Exit 4. Enter option 3 (Execute diagnostics). The system displays the Diagnostic execution menu: Diagnostic execution menu 1 => Test the foreplane 2 => Run all tests 3 => Run all tests applicable to a given FRU (board) 4 => Run a specific test 0 => Return to main menu 5. Enter option 2 (Run all tests). 6. When prompted for the maximum test phase, enter 2: Enter maximum test phase (1-3) : 2 The system displays a long series of messages, such as those shown here: Running FRU P1DCOMM... ... Phase 1 passed ... Phase 2 passed After about 20 minutes, the system then returns you to the Diagnostic execution menu. If the system halts with an error, the test has failed; skip to step 9. 7. Enter option 0 (Return to main menu). The system returns you to the FRU Main menu. 8. Enter option 0 (Exit). The system returns you to the Crash menu. 9. If either the confidence or the FRU tests failed, call the Rational Response Center before attempting to reboot the system (see section B.12). If the confidence and FRU tests passed, enter option 6 (Boot STANDARD configuration): Enter [Boot STANDARD] : 6 The system attempts to continue booting. 82 May 1992 RATIONAL\f Release D_12_6_5 B.9.7. Halt => Processor Microcode Error See section B.9.10, below. B.9.8. Halt => Processor Software Error See section B.9.10, below. B.9.9. Halt => Shutdown from Environment This message indicates that the system was deliberatley shutdown with the Operator.Shutdown command. If the system was shutdown because of a problem, then see section B.9.10, below. B.9.10. Halt => Processor Crash Error 1. Make a crash dump tape. Note: Even if your site does not allow crash dump tapes to be sent to Rational, you should still make the tape because it might be possible for someone to analyze it at your site. A. From the Crash menu, enter option 2 (Make a CRASHDUMP): Enter option [Boot STANDARD] : 2 B. Mount a tape. * If you have a 9-track tape drive, mount a 2,400-foot 9-track tape. * If you have an 8-mm tape drive, mount an 8-mm tape cartridge. C. Make sure the tape is write-enabled. * If you are using a 9-track tape, insert the write-enable ring into the hub of the tape reel. * If you are using an 8-mm tape, slide the write-protect tab away from the center of the cartridge. D. If your tape drive has a door, close it. The system responds by displaying: Tape unit number (0..3) [0] ? E. Enter the unit number of your tape drive and press [#Return#]. * If you are making the crash dump tape on a 9-track tape drive, the tape drive is probably configured as Unit 0. RATIONAL May 1992 83\f Rational Environment Release Information * If you are making a crash dump tape on an 8-mm tape drive, the tape drive is probably configured as Unit 0 on a series 300 or 400 system or Unit 3 on a series 200 system. F. The system may respond by displaying: Tape density is currently 6250 BPI, do you want to change it [N] ? If so, verify the density setting. * If you are using a 9-track tape drive, verify that its density is set to 6,250 BPI. * If you are using an 8-mm tape drive, the density is not selectable. G. Press [#Return#] to continue. The system responds by displaying: Volume Id, (1..6 characters) ? H. Enter a six-character tape name (volume identification). For example: 910704 I. When prompted for comments with a ) prompt, enter comments that could help someone isolate or reproduce this problem. Include the following in your comments: * The machine's name and cluster ID. * The date and time, using this format: 31 Mar 92 22:17. * The reason the system started to reboot (found in the reverse-video message and in the Restarting system after ... message). * The name of the company or organization that owns/operates the R1000. * The location of the R1000 installation. * Your name. * The information about the state of the machine and what caused the problem that you have gathered so far (except for the trace information). J. End your comments by entering, on a new line, a second right parenthesis next to the ) comment prompt. For example: 84 May 1992 RATIONAL\f Release D_12_6_5 ) Mariner, 902469 ) 31 Mar 92 22:17 ) WCS TAGSTORE PARITY ERROR ) ACME Widgets, Inc. ) Rockville, MD ) J. Smith ) ) There were no users on the machine. ) A backup was in progress. ) There had been a power failure two hours earlier. )) Several messages are displayed while the crash dump is made. Wait for the crash dump to complete (about 15 minutes). The system automatically unloads your tape when it is done. After the system finishes making the tape, it returns you to the Crash menu. K. Prepare a label for the tape with the words "Crash Dump" and the following items: * The machine's name and cluster ID. * The date and time, using this format: 31 Mar 92 22:17. * Your site's configuration. This can be determined later by executing the Show_Default command from the EEDB: prompt. * A brief, one-line summary of why the system started to reboot. * The CSR number, if you have one. L. Dismount and store the tape as follows: i. Remove the tape from the tape drive and put the label on the 9-track tape reel (or on the 8-mm tape cartridge). ii. Remove the write-enable ring from the 9-track tape reel (or slide the write-protect tab toward the center of the 8-mm tape cartridge), thereby write-protecting the tape. iii. Put the 9-track tape reel or (8-mm cartridge) in a safe storage container. At this point you have saved the volatile system state, both in your observations and on the crash dump tape. 2. Enter option 6 (Boot STANDARD configuration): Enter option [Boot STANDARD] : 6 RATIONAL May 1992 85\f Rational Environment Release Information The system attempts to continue booting. 3. Contact the Rational Response Center for instructions on having your crash dump tape analyzed (see section B.12). B.9.11. Machine Check (Parity Error) This message indicates that there was a problem with the CPU hardware. The confidence test may automatically run or the Rational Response Center may be called via the modem. If the test passes, the system may automatically reboot or display the Crash menu, in which case you should enter 6 (Boot STANDARD configuration) and press [#Return#]. If the confidence tests fail, see section B.9.6. B.9.12. Any Other Reason Call the Rational Response Center (see section B.12). If you are unable to reach someone, then: 1. From the Crash menu, enter option 2 (Make a CRASHDUMP): Enter option [Boot STANDARD] : 2 The system requests that you load a tape, enter some information, and then returns to the Crash menu (for more details, see section B.9.10, above). 2. Run the confidence (microdiagnostic) and field-replaceable unit (FRU) tests by following the instructions for "0205 Have_Sysbus_Hardware_Error" in section B.9.6, above. 3. If the confidence and FRU tests fail, call the Rational Response Center (see section B.12). Otherwise, attempt to reboot the system. 4. Fax or e-mail the information you have gathered to the Rational Response Center (see section B.12). B.10. If You Suspect Disk Errors If there were any disk errors, or if you suspect disk problems, run the disk exerciser (Diskx) and Checkdisk from the CLI. B.10.1. Running Diskx You should run the disk exerciser (Diskx) on all disks for at least 5 minutes. Diskx is a read-and-write test, but it uses only a small test area of each disk for writes, so it will not harm 86 May 1992 RATIONAL\f Release D_12_6_5 user data on the disks. To run Diskx: 1. Enter the CLI. To enter the CLI from the Crash menu, enter option 1 (Enter CLI): Enter option [Boot STANDARD] : 1 2. At the CLI> prompt, enter x diskx: CLI> x diskx 3. Press the space bar to cause the latest output to be displayed. Output similar to the following will appear: u0 bytes=> 1246208 Soft=> 0 Hard=> 0 C=> 705 T=> 25 S=> 6 u1 bytes=> 1203200 soft=> 0 hard=> 0 C=> 73 T=> 14 S=> 8 u2 bytes=> 1206272 soft=> 0 hard=> 0 C=> 611 T=> 3 S=> 24 u3 bytes=> 1243208 soft=> 0 hard=> 0 C=> 634 T=> 11 S=> 10 4. Press [#Control#][#G#] to stop Diskx. The system returns you to the CLI> prompt. 5. Write down the results and any messages where soft or hard does not equal zero (0). 6. Enter bye to return to the Crash menu: CLI> bye B.10.2. Running Checkdisk You should run Checkdisk on all disks or at least on each disk you suspect. Note: Checkdisk may take up to 30 minutes per disk per pass. To run Checkdisk: 1. Enter the CLI. To enter the CLI from the Crash menu, enter option 1 (Enter CLI): Enter option [Boot STANDARD] : 1 2. At the CLI> prompt, enter x checkdisk: CLI> x checkdisk RATIONAL May 1992 87\f Rational Environment Release Information 3. When prompted, request that only new errors be reported. 4. Run at least one pass. The system returns you to the CLI> prompt. 5. Write down the HDA numbers. 6. Write down any other results. 7. Enter bye to return to the Crash menu: CLI> bye B.11. Recovering Crash Information from the Environment If your console is not set up in such a way that you can capture its output, you can obtain the crash information displayed in section B.8 from the system error logs when the system boots. To obtain the crash information from system error logs: 1. From an Environment command window, execute the following command: Operator.Internal_System_Diagnosis The system opens an I/O window containing an EEDB: prompt. 2. Enter kernel and press [#Promote#]: EEDB: kernel [#Promote#] The system displays a Kernel: prompt. 3. Enter show_error_log and press [#Promote#]: Kernel: show_error_log [#Promote#] The system displays a range such as: first entry => 1; last entry => 440 4. Enter the first entry of 1 and press [#Promote#]: FIRST [-10]: 1 [#Promote#] 5. Enter the number of the last entry (here 440) and press [#Promote#]: LAST [-9]: 440 [#Promote#] The system displays a message such as the following and returns you to the Kernel: prompt: 88 May 1992 RATIONAL\f Release D_12_6_5 11:59:29 --- CRASH_ANALYZER INFO Analysis for Tombstone dated 11:59:29 ... CRASH_ANALYZER INFO 11:27:52 22-JAN-1992 11:59:30 --- CRASH_ANALYZER INFO 11:59:30 --- CRASH_ANALYZER INFO CRASH REASON (based on last micro-PC) 11:59:30 --- CRASH_ANALYZER INFO ------------------------------------- 11:59:30 --- CRASH_ANALYZER INFO 0206: cpu microcode error; refer to 11:59:30 --- CRASH_ANALYZER INFO 11:59:30 --- CRASH_ANALYZER INFO LAST CONSOLE OUTPUT 11:59:31 --- CRASH_ANALYZER INFO ------------------- 11:59:31 --- CRASH_ANALYZER INFO 2KREAD_NOVRAM_DATA.VAL ... 11:59:38 --- CRASH_ANALYZER INFO MACHINE CRASH, I/O ADAPTOR 11:59:38 --- CRASH_ANALYZER INFO Restarting system after operations console 11:59:39 --- CRASH_ANALYZER INFO 11:59:39 --- CRASH_ANALYZER INFO R1000 cpu analysis 11:59:39 --- CRASH_ANALYZER INFO ------------------ 11:59:39 --- CRASH_ANALYZER INFO UCODE TRACE (last 20 entries) 11:59:39 --- CRASH_ANALYZER INFO ----------------------------- 11:59:40 --- CRASH_ANALYZER INFO Microcode trace for Wcs version M207_17 11:59:40 --- CRASH_ANALYZER INFO 8A1 ... 11:59:43 --- CRASH_ANALYZER INFO 34CF 11:59:43 --- CRASH_ANALYZER INFO 34D0 11:59:44 --- CRASH_ANALYZER INFO C 210 11:59:44 --- CRASH_ANALYZER INFO 206 11:59:44 --- CRASH_ANALYZER INFO 11:59:44 --- CRASH_ANALYZER INFO Micro Stack contents : 11:59:45 --- CRASH_ANALYZER INFO 0 - 34D0 ... 11:59:47 --- CRASH_ANALYZER INFO 12 - 51F 11:59:48 --- CRASH_ANALYZER INFO 13 - 51F 11:59:48 --- CRASH_ANALYZER INFO 14 - 51F 11:59:48 --- CRASH_ANALYZER INFO 15 - 51F 11:59:48 --- CRASH_ANALYZER INFO 11:59:49 --- CRASH_ANALYZER INFO UCODE STATE 11:59:49 --- CRASH_ANALYZER INFO ----------- 11:59:49 --- CRASH_ANALYZER INFO Top => 04350C04 00000A80 (15) ... 12:00:01 --- CRASH_ANALYZER INFO Kernel: 6. Enter quit and press [#Promote#]: Kernel: quit [#Promote#] The system returns you to the EEDB: prompt. 7. Enter quit and press [#Promote#]: RATIONAL May 1992 89\f Rational Environment Release Information EEDB: quit [#Promote#] The system returns you to the Environment level. 8. Send to the Rational Response Center all the lines of the system error log that have the words "Crash_Analyzer Info" in them. B.12. Contacting the Rational Response Center Send the information you have gathered above to the Rational Response Center in Santa Clara, California. * Via e-mail (TCP/IP Internet): support@rational.com * Via fax (addressed to the "Response Center"): +1-408-496-3636 or +1-408-496-3637 (use this second number only if the first line is down, not just busy) Standard CCITT Group III telephone facsimile 9600 bps, automatic fall-back to 7200/4800/2400 bps Unattended, 24-hour answering * Via postal or other delivery service: RATIONAL Attention: Response Center 3320 Scott Boulevard Santa Clara, California 95054-3197 USA * Via telephone: +1-408-496-3610 From anywhere 1-800-433-5444 From U.S. except California, Alaska, and Hawaii 1-800-533-5444 From California 90 May 1992 RATIONAL\f Release D_12_6_5 Appendix C Problem Reports Closed in D_12_6_5 D_12_6_5 closes many problem reports and customer-service requests. The following two subsections list: * Software problem reports closed * Documentation problem reports closed C.1. Software Problem Reports Closed Table C-1 lists the problem reports closed by D_12_6_5. It includes the PRS number of the problem, a brief description of the problem, and the section of this release information in which the problem is discussed in more detail (when applicable). Table C-1 Software Problems Fixed by D_12_6_5 ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Secti| | | | on | ------------------------------------------------------------- | | | | |none |Csr5215: Internal_Error elaborating |7.6.2| | |generics | | ------------------------------------------------------------- | | | | |none |Csr5260: Directory manager crash |7.15 | ------------------------------------------------------------- | | | | |none |Csr5261: Directory manager crash |7.15 | ------------------------------------------------------------- | | | | |none |Csr6016: Sequential_Io.Read does not |7.9 | | |work | | ------------------------------------------------------------- | | | | |12729-Star |Kernel elaborator assumes exceptions fit|7.6.3| | |in 48 bits | | ------------------------------------------------------------- | | | | |0-0301-9 |Add function to return if user is in a |6.1.2| | |specified ACL group | | ------------------------------------------------------------- | | | | |0-0358-2 |Goal parameter for Cmvc.Make_Spec_View |7.16 | | |is ignored for other directories | | ------------------------------------------------------------- | | | | |10270-Shei-Swb|Text of error message needs improvement |7.6.1| ------------------------------------------------------------- RATIONAL May 1992 91\f Rational Environment Release Information Table C-1 Software Problems Fixed by D_12_6_5 (continued) ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Secti| | | | on | ------------------------------------------------------------- | | | | |1000000-Sier- |Problem with attribute in record clause |7.6.1| |Geb | | | ------------------------------------------------------------- | | | | |1000001-Sier- |Access_List commands print incorrect |7.8 | |Geb |symbols in logs | | ------------------------------------------------------------- | | | | |1000002-Sier- |Compilation used ::: for messages that |7.6 | |Geb |should have --- | | ------------------------------------------------------------- | | | | |1140702-Gato- |Csr5310: Representation clause allowed |7.6.1| |Gbd |after forcing occurrence | | ------------------------------------------------------------- | | | | |1711335-Gato- |Default expression on |7.11 | |Gbd |System_Backup.Backup | | ------------------------------------------------------------- | | | | |1704151-Shei- |Error message: Reformat failed - please |7.1 | |Jst |abandon image | | ------------------------------------------------------------- | | | | |1739656-Gato- |Csr6645: R1000 code generator fails with| | |Gbd |!Lrm.System.Operand_Class_Error | | ------------------------------------------------------------- | | | | |2437110-Sier- |Parser/Pretty_Printer destroys an image |7.1 | |Geb | | | ------------------------------------------------------------- | | | | |2604297-Rati- |RXI tokens transfer during failed login |7.14.| |Pbk | |2 | ------------------------------------------------------------- | | | | |2617411-Gato- |Bad online documentation of |8.3 | |Gbd |Reject_Undefined_Pragmas switch | | ------------------------------------------------------------- | | | | |2679572-Roge- |Ada bodies copied despite ACL |7.8 | |Srp |restrictions | | ------------------------------------------------------------- 92 May 1992 RATIONAL\f Release D_12_6_5 Table C-1 Software Problems Fixed by D_12_6_5 (continued) ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Secti| | | | on | ------------------------------------------------------------- | | | | |2809652-Clem- |Cmvc.Make_Path is inflexible in its |7.16 | |Jim |View_To_Import parameter | | ------------------------------------------------------------- | | | | |2949267-Etoi- |Definition on <*Program_Library> locks |7.6 | |Hts |the program library | | ------------------------------------------------------------- | | | | |3068569-Cook- |Semantics bug |7.6.2| |Swb | | | ------------------------------------------------------------- | | | | |3289131-Gato- |Security problem: A way to find out user|7.4 | |Bas |passwords | | ------------------------------------------------------------- | | | | |3336165-Shei- |Treatment of expression prompts in |7.7.2| |Jst |semantics could be better | | ------------------------------------------------------------- | | | | |4123589-Blut- |RXI tokens are not consumed |7.14.| |Jgp | |2 | ------------------------------------------------------------- | | | | |4289272-Voya- |Login displays password-expiration |7.4 | |Cmd |warning with wrong password | | ------------------------------------------------------------- | | | | |4967545-Voya- |Code generator fails when task entry is |7.6.2| |Phil |promoted to coded | | ------------------------------------------------------------- | | | | |5172201-Cook- |Parser problem |7.1 | |Swb | | | ------------------------------------------------------------- | | | | |5360143-Rati- |Job.Kill is ignored by Common.Definition|7.4 | |Jls | | | ------------------------------------------------------------- | | | | |5367576-Blut- |Links.Edit and Display should require |7.8 | |Smp |Owner access | | ------------------------------------------------------------- RATIONAL May 1992 93\f Rational Environment Release Information Table C-1 Software Problems Fixed by D_12_6_5 (continued) ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Secti| | | | on | ------------------------------------------------------------- | | | | |5700190-Etoi- |Compiler bugs: anomalies found when |7.6.1| |Tnu |using representation clauses | | ------------------------------------------------------------- | | | | |6242437-Blut- |Typo in |7.15 | |Vo |!Machine.Initialization.Rational. | | | |Terminals | | ------------------------------------------------------------- | | | | |6265678-Sier- |Incremental edit fails invalidly |7.2 | |Geb | | | ------------------------------------------------------------- | | | | |6398339-Blut- |RXI tokens are consumed erroneously at |7.14.| |Med |login |2 | ------------------------------------------------------------- | | | | |6452721-Shei- |Problem with Ada.Make_Inline and |7.2 | |Jst |Sm_Subunits attributes | | ------------------------------------------------------------- | | | | |6821610-Stan- |Compilation.Load generates semantically |7.6.3| |Deg |incorrect spec | | ------------------------------------------------------------- | | | | |7030779-Zebr- |Format causes most of the image to be |7.1 | |Lore |deleted | | ------------------------------------------------------------- | | | | |7039962-Sier- |Error message: Reformat failed - please |7.1 | |Geb |abandon image | | ------------------------------------------------------------- | | | | |7135597-Gato- |Unsuccessful login message should not |6.4 | |Gbd |include user name | | ------------------------------------------------------------- | | | | |7311575-Wash- |Cmvc.Initial is unfriendly |7.16 | |Jim | | | ------------------------------------------------------------- | | | | |7483032-Gato- |Field needs crash-dump tape tools in |7.13.| |Jls |default Environment |1, B | ------------------------------------------------------------- 94 May 1992 RATIONAL\f Release D_12_6_5 Table C-1 Software Problems Fixed by D_12_6_5 (continued) ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Secti| | | | on | ------------------------------------------------------------- | | | | |7733953-Gato- |System-boot prompts and questions need |7.13.| |Vnv |to be simplified |1, B | ------------------------------------------------------------- | | | | |8068463-Mago- |Pretty printer bug |7.1 | |Sdj | | | ------------------------------------------------------------- | | | | |8277786-Voya- |Csr6102: System hangs; task |7.6.1| |Bas |In_Wait_Service | | ------------------------------------------------------------- | | | | |9123690-0128-6|Code generator fails on unit that should|7.6.1| | |never have been installed | | ------------------------------------------------------------- | | | | |9123690-0128-9|Private types and generic formals (LRM |7.6.1| | |7.4.1 (4)) | | ------------------------------------------------------------- | | | | |9123690-0131-7|Options parameter for |7.6.4| | |Program_Library.Verify not documented | | ------------------------------------------------------------- | | | | |9123690-0131-8|New Archive options not documented in |7.5 | | |the specification | | ------------------------------------------------------------- | | | | |9123690-0133-9|Problem in restoring a system backup |7.11 | ------------------------------------------------------------- | | | | |9123690-0134-5|Problem with Ada.Show_Unused and |7.2 | | |enumeration literals | | ------------------------------------------------------------- | | | | |9123690-0135-8|Bad default parameter on |7.11 | | |System_Backup.Backup | | ------------------------------------------------------------- | | | | |9123690-0136-8|Csr3956: Performance issue |7.7.1| ------------------------------------------------------------- | | | | |9123690-0138-2|"<IMAGE>" in a searchlist can crash the |7.4 | | |Environment | | ------------------------------------------------------------- RATIONAL May 1992 95\f Rational Environment Release Information Table C-1 Software Problems Fixed by D_12_6_5 (continued) ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Secti| | | | on | ------------------------------------------------------------- | | | | |9123690-0142-3|Problem in installing a unit under |7.6.1| | |Delta2 | | ------------------------------------------------------------- | | | | |9123690-0143-2|Suggested enhancements for coded units |7.7.2| | |with statement prompts | | ------------------------------------------------------------- | | | | |9123690-0145-5|R1000 code generator fails with |7.6.2| | |Constraint_Error (Variant) | | ------------------------------------------------------------- | | | | |9123690-0148-4|A way to find the sources that made |6.2.3| | |Load_Proc is needed | | ------------------------------------------------------------- | | | | |9123690-0150-4|Bug in Library.Create |7.8 | ------------------------------------------------------------- | | | | |9123690-0151-1|Csr4723: Private parts required to be |7.6.2| | |open for generics | | ------------------------------------------------------------- | | | | |9123690-0152-5|Csr4741: System hangs |7.15 | ------------------------------------------------------------- | | | | |9123690-0152-8|Csr4735: Bad compiler-error message |7.6.1| ------------------------------------------------------------- | | | | |9123690-0153-1|Csr4836: Compilation.Parse fails because| | | |of excessive nesting | | ------------------------------------------------------------- | | | | |9123690-0155-0|Information for IOC NOVRAM is incorrect |7.15 | ------------------------------------------------------------- | | | | |9123690-0155-1|Pm_Report calls fails to get IOC NOVRAM |7.15 | | |information | | ------------------------------------------------------------- | | | | |9123690-0155-9|Load_Proc Compute_Recoding does not | | | |behave properly | | ------------------------------------------------------------- 96 May 1992 RATIONAL\f Release D_12_6_5 Table C-1 Software Problems Fixed by D_12_6_5 (continued) ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Secti| | | | on | ------------------------------------------------------------- | | | | |9123690-0156-3|Csr4845: Problem in installing package |7.6.1| | |with renames | | ------------------------------------------------------------- | | | | |9123690-0156-6|Csr4971: Cmvc.Make_Spec_View has |7.16 | | |problems | | ------------------------------------------------------------- | | | | |9123690-0156-7|Csr4786: All work lost after doing |7.1 | | |Common.Format | | ------------------------------------------------------------- | | | | |9123690-0157-9|Csr5005: Problem with error marks |7.6.1| | |disappearing | | ------------------------------------------------------------- | | | | |9123690-0158-6|Suggested enhancement: Improved |7.11 | | |operations for verifying system backup | | ------------------------------------------------------------- | | | | |9123690-0159-0|Csr4740: Runaway jobs and disk space |7.3.1| | |problems | | ------------------------------------------------------------- | | | | |9123690-0159-1|Csr5142: Runaway jobs and disk space |7.3.1| | |problems | | ------------------------------------------------------------- | | | | |9123690-0160-1|Csr4788: 8-mm tape will not unload after|6.2.2| | |aborted backup | | ------------------------------------------------------------- | | | | |9123690-0160-3|Csr4168: Attempt to reference offset | | | |above TOS | | ------------------------------------------------------------- | | | | |9123690-0160-7|Csr4626: Debug_Tools.Get_Exception_Name |7.3 | | |fails if Retain_Delta1_Compatibility is | | | |False | | ------------------------------------------------------------- | | | | |9123690-0161-1|Dependency Object Editor demotes in |7.2 | | |incorrect order | | ------------------------------------------------------------- RATIONAL May 1992 97\f Rational Environment Release Information Table C-1 Software Problems Fixed by D_12_6_5 (continued) ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Secti| | | | on | ------------------------------------------------------------- | | | | |9123690-0163-9|Csr5454: Definition fails on generic |7.1 | | |instantiations | | ------------------------------------------------------------- | | | | |9123690-0164-4|Port 16 dies after five minutes of use |7.15 | ------------------------------------------------------------- | | | | |9123690-0165-3|Csr5501: Definition on exception takes |7.1 | | |you nowhere | | ------------------------------------------------------------- | | | | |9123690-0165-6|Csr5588: Analyze_Crashdump runs all |7.12.| | |night |2 | ------------------------------------------------------------- | | | | |9123690-0165-8|Csr5559: Xon/Xoff port 16 does not work |7.15 | | |for Series 300s or 400s | | ------------------------------------------------------------- | | | | |9123690-0166-0|Editor jobs cannot be killed |7.4 | ------------------------------------------------------------- | | | | |9123690-0166-5|Remote passwords should be able to be |7.4 | | |used from *SYSTEM jobs | | ------------------------------------------------------------- | | | | |9123690-0166-6|Csr5666: Unhandled-exception program |7.6.2| | |error | | ------------------------------------------------------------- | | | | |9123690-0167-7|Csr5538: Assertion_Error from locally | | | |renamed private type | | ------------------------------------------------------------- | | | | |9123690-0168-1|Csr5723: Elaboration of Unbounded_String|7.6.3| | |bombs in D_12_5_0 | | ------------------------------------------------------------- | | | | |9123690-0168-2|Csr5773: Print command ignores option |7.10 | | |for sets of Ada units | | ------------------------------------------------------------- | | | | |9123690-0168-8|Csr5710: Problem exists with FTP queues |7.10 | ------------------------------------------------------------- 98 May 1992 RATIONAL\f Release D_12_6_5 Table C-1 Software Problems Fixed by D_12_6_5 (continued) ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Secti| | | | on | ------------------------------------------------------------- | | | | |9123690-0169-0|Csr5707: Definition problem with |7.1 | | |exception defined in generic | | ------------------------------------------------------------- | | | | |9123690-0169-8|Invalid rename statement not detected by|7.6.1| | |compiler | | ------------------------------------------------------------- | | | | |9123690-0171-3|Csr5841: CMVC problems with D_12_5_0 |7.16 | ------------------------------------------------------------- | | | | |9123690-0171-8|Csr5650: Unsatisfiable import |7.6.3| | |requirements | | ------------------------------------------------------------- | | | | |9123690-0172-6|Csr5917: Jobs hang on quit (IN FA |7.3.1| | |QUEUE); debugger hangs | | ------------------------------------------------------------- | | | | |9123690-0173-8|Csr5990: Log_Reader.Load_Logs always |7.15 | | |adds today's log | | ------------------------------------------------------------- | | | | |9123690-0175-9|Code vanishes when [#Format#] is pressed|7.1 | ------------------------------------------------------------- | | | | |9123690-0180-7|Csr4844: Semantic errors with valid |7.6.1| | |representation clause | | ------------------------------------------------------------- | | | | |9123690-0181-8|Csr6261: Semanticizing problem; image |7.1 | | |destroyed | | ------------------------------------------------------------- | | | | |9213690-0183-3|Csr6091: System hangs, idle; Job 4 stuck|7.3.1| | |attempting entry | | ------------------------------------------------------------- | | | | |9176782-Gato- |Problem with Check_Universe_Acls and |7.15 | |Gbd |system access to | | | |!Machine.Inititalization | | ------------------------------------------------------------- | | | | |9723630-0011-5|No function exists to check if User_Id |6.1.2| | |is in a group | | ------------------------------------------------------------- RATIONAL May 1992 99\f Rational Environment Release Information Table C-1 Software Problems Fixed by D_12_6_5 (continued) ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Secti| | | | on | ------------------------------------------------------------- | | | | |9723630-0025-8|Login sequence: Welcome output before |6.4.2| | |username prompt | | ------------------------------------------------------------- | | | | |9723630-0074-7|A way to modify the login banner should |6.4.1| | |be added | | ------------------------------------------------------------- | | | | |9723630-0120-7|!Commands.Dependents.Find consumes |7.2 | | |actions | | ------------------------------------------------------------- | | | | |9723630-0122-0|Cannot browse to generic type |7.1 | | |declarations | | ------------------------------------------------------------- | | | | |9924694-Mago- |Bug in incremental semantics |7.2 | |Sdj | | | ------------------------------------------------------------- Table C-2 lists the problem reports that have been investigated and closed because of one of the following reasons: the problem could not be reproduced in D_12_6_5; the problem has been fixed in a previous Environment release; there is not enough information about the problem to proceed. Table C-2 Not Reproducible in D_12_6_5 ------------------------------------------------------------- | | | | PRS Number | PRS Summary | ------------------------------------------------------------- | | | |6583-Star |Unhandled exception in R1000 code generator | ------------------------------------------------------------- | | | |6705-Star |Anomaly in Search_List and name resolution | ------------------------------------------------------------- | | | |12676-Star |Unhandled exception during code generation of | | |variant records | ------------------------------------------------------------- 100 May 1992 RATIONAL\f Release D_12_6_5 Table C-2 Not Reproducible in D_12_6_5 (continued) ------------------------------------------------------------- | | | | PRS Number | PRS Summary | ------------------------------------------------------------- | | | |0-0004-1 |Interface crash | ------------------------------------------------------------- | | | |0-0174-0 |Problem with access controls on release tapes | | |of the Environment | ------------------------------------------------------------- | | | |0-0192-3 |Incremental promote fails for function | ------------------------------------------------------------- | | | |0-0245-0 |Tape automatically unloaded | ------------------------------------------------------------- | | | |0-0245-3 |Add_To_Acl interface needed | ------------------------------------------------------------- | | | |0-0245-8 |Problem with verification of backup tapes | ------------------------------------------------------------- | | | |0-0264-4 |Error promoting an anonymous Ada object from | | |archived state | ------------------------------------------------------------- | | | |0-0297-1 |Use clause removed | ------------------------------------------------------------- | | | |0-0298-3 |Several Archive.Copy procedures in one job | | |often fail | ------------------------------------------------------------- | | | |0-0311-2 |Illegal links are not detected | ------------------------------------------------------------- | | | |1013207-Zebr- |Load_Procs do not archive well | |Jim | | ------------------------------------------------------------- | | | |1460343-Sier- |Promoting modified activity results in | |Geb |Lock_Error | ------------------------------------------------------------- | | | |1516292-Wash- |Inability to find cause of Storage_Error | |Jim | | ------------------------------------------------------------- RATIONAL May 1992 101\f Rational Environment Release Information Table C-2 Not Reproducible in D_12_6_5 (continued) ------------------------------------------------------------- | | | | PRS Number | PRS Summary | ------------------------------------------------------------- | | | |1773909-Shei- |New Print command dies on Ada unit | |Jst | | ------------------------------------------------------------- | | | |1934610-Wash- |Networking will talk but will not listen | |Jim | | ------------------------------------------------------------- | | | |2300105-Shei- |Problem with Archive.Copy and session switches| |Jst | | ------------------------------------------------------------- | | | |2465646-Mago- |Unhandled exception in code generation | |Sdj | | ------------------------------------------------------------- | | | |2474799-Wash- |Exception encountered during | |Jim |R1000_Code_Generator.Initialize | ------------------------------------------------------------- | | | |2606070-Rati- |Links.Delete does not accept wildcards | |Jls | | ------------------------------------------------------------- | | | |2785456-Wood- |Unhandled exception from the Core Editor | |Peg | | ------------------------------------------------------------- | | | |2823763-Jazm- |Windows larger than 80 columns wide occur in | |Smc |RXI | ------------------------------------------------------------- | | | |29236-Capi-Ray|Problem with activity when spec/load views are| | |on different lines | ------------------------------------------------------------- | | | |3036900-Wash- |Inconsistency in Common.Promote and | |Jim |Ada.Code_Unit | ------------------------------------------------------------- | | | |3330141-Clem- |Problem with Archive.Copy and | |Jmk |!Machine.Tcp_Ip_Name_Server | ------------------------------------------------------------- | | | |345551-Zebr- |Editor.Char.Tab_Backward does not work on | |Jim |empty space | ------------------------------------------------------------- 102 May 1992 RATIONAL\f Release D_12_6_5 Table C-2 Not Reproducible in D_12_6_5 (continued) ------------------------------------------------------------- | | | | PRS Number | PRS Summary | ------------------------------------------------------------- | | | |3560244-Pica- |Debugger cannot show locations of breakpoints | |Jim | | ------------------------------------------------------------- | | | |3758781-Wood- |Nonexistent_Page_Error after user interrupt | |Jim | | ------------------------------------------------------------- | | | |3780027-Rati- |Window commands do not accept numeric | |Jls |arguments | ------------------------------------------------------------- | | | |4452630-Calv- |Changed option of Archive no longer seems to | |Jim |work | ------------------------------------------------------------- | | | |4489106-Shei- |Problem with Activity Editor selections | |Jst | | ------------------------------------------------------------- | | | |4697876-Gato- |Csr5082: Index error for | |Gbd |Name_Gen.Importing.Note_Used_Imports | ------------------------------------------------------------- | | | |4761811-Roge- |RXI seems to hang/break R1000 connection | |Smc | | ------------------------------------------------------------- | | | |4971889-Clem- |Common.Promote only does Format | |Jim | | ------------------------------------------------------------- | | | |5250100-Zebr- |Assertion_Error deletes Load_Proc | |Jim | | ------------------------------------------------------------- | | | |5384534-Smau- |Queue.Display does not end its line in the | |Phil |message window | ------------------------------------------------------------- | | | |5390266-Blut- |Problem with Time_Utilities and Log.Put_Line | |Smp |around midnight | ------------------------------------------------------------- | | | |6123643-Rang- |Generic instantiation fails (error in checking| |Oper |array bounds) | ------------------------------------------------------------- RATIONAL May 1992 103\f Rational Environment Release Information Table C-2 Not Reproducible in D_12_6_5 (continued) ------------------------------------------------------------- | | | | PRS Number | PRS Summary | ------------------------------------------------------------- | | | |6194736-Roge- |RWI cursor gets confused by a command window | |Smc |attached to a message window | ------------------------------------------------------------- | | | |6517153-Flor- |Problem using Set_Target_Key with '?' | |Jst | | ------------------------------------------------------------- | | | |6801458-Gato- |Editor error after [#Object#] - [#G#] | |Jls |performed on message window | ------------------------------------------------------------- | | | |6862896-Blut- |Output to message window is lost for most | |Smp |commands | ------------------------------------------------------------- | | | |7067816-Wash- |Disappearing procedure and Ada.Install_Stub | |Jim | | ------------------------------------------------------------- | | | |7102190-Zebr- |Problem in compilation | |Jim | | ------------------------------------------------------------- | | | |7245446-Voya- |Editor exception is using screen cursors | |Jim | | ------------------------------------------------------------- | | | |7677278-Cook- |File_Utilities.Find/Text_Coupler (?): Bad | |Jst |error message | ------------------------------------------------------------- | | | |7746569-Pica- |Console_Io does not appear | |Jim | | ------------------------------------------------------------- | | | |778583-Voya_ |RWI does not always redraw correctly | |Drl | | ------------------------------------------------------------- | | | |7821978-Clem- |Resolving "<TEXT>" fails | |Marl | | ------------------------------------------------------------- | | | |7872950-Shei- |Ada front-end bug | |Swb | | ------------------------------------------------------------- 104 May 1992 RATIONAL\f Release D_12_6_5 Table C-2 Not Reproducible in D_12_6_5 (continued) ------------------------------------------------------------- | | | | PRS Number | PRS Summary | ------------------------------------------------------------- | | | |8181636-Shei- |Archive option Changed_Objects not working | |Jst | | ------------------------------------------------------------- | | | |9123690-0126-0|Csr2952: System_Report.Generate (Tape_Mounts) | | |crossing 12 P.M. | ------------------------------------------------------------- | | | |9123690-0128-7|Crashes that look like Operator shutdown of | | |system occur | ------------------------------------------------------------- | | | |9123690-0132-1|Csr3614: Primary backup hangs after recovery | ------------------------------------------------------------- | | | |9123690-0132-2|Problem with remote-password prompt window | ------------------------------------------------------------- | | | |9123690-0138-1|System crashes when rebooting | ------------------------------------------------------------- | | | |9123690-0138-5|Delta2 Cmvc.Initial complains about ACLs | ------------------------------------------------------------- | | | |9123690-0140-0|Csr3985: RXI does not pick up defaults file | | |for menu fonts | ------------------------------------------------------------- | | | |9123690-0140-6|*Kernel Shutdown should be removed from Kernel| | |CI | ------------------------------------------------------------- | | | |9123690-0140-8|Csr4067: Duplicate error logs created by | | |reboot server | ------------------------------------------------------------- | | | |9123690-0143-3|Csr4075: System hung | ------------------------------------------------------------- | | | |9123690-0144-8|Csr4327: Error message no tokens available is | | |incorrect | ------------------------------------------------------------- | | | |9123690-0146-2|Cmvc.Show, Check_In, and Check_Out will not | | |raise exceptions | ------------------------------------------------------------- RATIONAL May 1992 105\f Rational Environment Release Information Table C-2 Not Reproducible in D_12_6_5 (continued) ------------------------------------------------------------- | | | | PRS Number | PRS Summary | ------------------------------------------------------------- | | | |9123690-0146-5|Csr4470: User Rational is using | | |layered-product tokens | ------------------------------------------------------------- | | | |9123690-0149-1|Cannot demote or promote unit(s) from | | |installed state | ------------------------------------------------------------- | | | |9123690-0150-9|Csr4572: Bug in Transport_Interchange.Convert | ------------------------------------------------------------- | | | |9123690-0151-5|Reject_Inevitable_Exceptions rejects correct | | |code | ------------------------------------------------------------- | | | |9123690-0154-1|Machine appears stuck (IN_FA_QUEUE) | ------------------------------------------------------------- | | | |9123690-0154-3|Csr4934: Delayed secondary backup does not | | |delay | ------------------------------------------------------------- | | | |9123690-0155-5|Compiler: Type Identity has an index with | | |different bounds | ------------------------------------------------------------- | | | |9123690-0156-4|Csr4655: Problem with PM report | ------------------------------------------------------------- | | | |9123690-0156-5|Unexpected exception | | |R1000_Code_Generator.Initialize during boot | ------------------------------------------------------------- | | | |9123690-0157-3|Csr5058: Internal error: Unsatisfiable import | | |requirement | ------------------------------------------------------------- | | | |9123690-0158-0|Csr5077: Check_Universe_Acls results in | | |unhandled exception | ------------------------------------------------------------- | | | |9123690-0159-2|Problem with derived type of String | ------------------------------------------------------------- | | | |9123690-0159-7|Csr5174: Wrong profile used | ------------------------------------------------------------- 106 May 1992 RATIONAL\f Release D_12_6_5 Table C-2 Not Reproducible in D_12_6_5 (continued) ------------------------------------------------------------- | | | | PRS Number | PRS Summary | ------------------------------------------------------------- | | | |9123690-0161-8|Csr5042: Installing a unit returns Spec of | | |with ... | ------------------------------------------------------------- | | | |9123690-0165-5|Csr5540: Missing Controlled_Operations in | | |D_12_5_0 | ------------------------------------------------------------- | | | |9123690-0174-6|Csr2242: Cmvc.Make_Path does not work with | | |archived units | ------------------------------------------------------------- | | | |9123690-0176-9|Bug in package Window_Io | ------------------------------------------------------------- | | | |9123690-0178-2|Archive fails to restore because of bad | | |Tool_State switches | ------------------------------------------------------------- | | | |9123690-0178-3|Diff never completes in Cmvc.Check_In | ------------------------------------------------------------- | | | |9123690-0178-4|!Lrm.System.Operand_Class_Error and | | |Illegal_Reference raised | ------------------------------------------------------------- | | | |9123690-0178-8|Code-generation error | ------------------------------------------------------------- | | | |9123690-0178-9|Semantically incorrect Ada unit executable on | | |Rational | ------------------------------------------------------------- | | | |9123690-0179-0|Library.Create_World can create an incorrect | | |world | ------------------------------------------------------------- | | | |9123690-0180-1|Error during incremental changes | ------------------------------------------------------------- | | | |9123690-0180-3|Disable_Job does not work from Kernel prompt | ------------------------------------------------------------- | | | |9445015-Shei- |Editing switch files without proper ACLs locks| |Dian |switch file | ------------------------------------------------------------- RATIONAL May 1992 107\f Rational Environment Release Information Table C-2 Not Reproducible in D_12_6_5 (continued) ------------------------------------------------------------- | | | | PRS Number | PRS Summary | ------------------------------------------------------------- | | | |9723630-0009-2|Ugly message logged on demote | ------------------------------------------------------------- | | | |9723630-0021-9|Problem with accepting changes between | | |different subpaths | ------------------------------------------------------------- | | | |9723630-0023-8|Cmvc.Accept_Changes bug | ------------------------------------------------------------- | | | |9723630-0090-5|Erasedisk should be modified to allow | | |different number of passes | ------------------------------------------------------------- | | | |9723630-0096-2|Crash during D_12_1_1 installation with | | |message kernel assert failure | ------------------------------------------------------------- | | | |9723630-0114-1|Archive.Restore giving layout error | ------------------------------------------------------------- | | | |9723630-0123-0|Csr2410: Editor job hogs CPU | ------------------------------------------------------------- C.2. Documentation Problem Reports Closed Table C-3 lists the problems reports that have been closed by the release of new online and printed documentation for the Session and Job Management (SJM), Library Management (LM), and System Management Utilities (SMU) books of the Rational Environment Reference Manual (ERM). The table includes the PRS number of the problem, a brief description of the problem, and the document in which the problem has been fixed. All problems indicated as fixed in a specific document also have been fixed in online help. 108 May 1992 RATIONAL\f Release D_12_6_5 Table C-3 Documentation Problems Fixed by D_12_6_5 ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Book | ------------------------------------------------------------- | | | | |5653-Star |Problem with |DEB | | |!Tools.Debug_Tools.Get_Exception_Name | | ------------------------------------------------------------- | | | | |5742-Star |Debugger documentation for Put is |DEB | | |inaccurate | | ------------------------------------------------------------- | | | | |6559-Star |Debugger documentation has an error |DEB | ------------------------------------------------------------- | | | | |7025-Star |Newly created session defaults need |SJM | | |documentation | | ------------------------------------------------------------- | | | | |7074-Star |Package descriptions lack an overview of|SJM, | | |package contents |LM, | | | |SMU | ------------------------------------------------------------- | | | | |9759-Star |Maximum for Job_Page_Limit is not |SJM, | | |documented |LM | ------------------------------------------------------------- | | | | |10138-Star |Default parameter value for Profile.Warn|SJM | | |is incorrect | | ------------------------------------------------------------- | | | | |10240-Star |Description of Library.Space does not |LM | | |match the specification | | ------------------------------------------------------------- | | | | |10522-Star |Documentation for Overwrite option of |LM | | |Archive.Restore is incorrect | | ------------------------------------------------------------- | | | | |10557-Star |Documentation for Compilation.Load is |LM | | |insufficient | | ------------------------------------------------------------- | | | | |11456-Star |Typo on page SMU-1 |SMU | ------------------------------------------------------------- | | | | |12059-Star |Documentation for pragma Main and pragma|LM | | |Loaded_Main is insufficient | | ------------------------------------------------------------- RATIONAL May 1992 109\f Rational Environment Release Information Table C-3 Documentation Problems Fixed by D_12_6_5 (continued) ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Book | ------------------------------------------------------------- | | | | |0-0244-9 |Documentation for Overwrite option of |LM | | |Archive commands is incorrect | | ------------------------------------------------------------- | | | | |0-0282-4 |Misleading documentation on page LM-316 |LM | ------------------------------------------------------------- | | | | |0-0282-7 |Documentation of the File, Directory, |SMU | | |and Ada daemons is incorrect | | ------------------------------------------------------------- | | | | |0-0284-2 |No error message is given when |LM | | |Archive.Copy is used on nonexistent | | | |objects | | ------------------------------------------------------------- | | | | |0-0317-9 |Description of |LM | | |Format.Consistent_Breaking library | | | |switch has an error | | ------------------------------------------------------------- | | | | |0-0334-5 |Example on page SMU-38 is incorrect |SMU | ------------------------------------------------------------- | | | | |0-0358-6 |Online help for |SMU | | |!Commands.Terminal.Set_Logoff_On_ | | | |Disconnect is incorrect | | ------------------------------------------------------------- | | | | |1495461-Gato- |Online help for Mail session switches is|Onlin| |Rjg |missing |e | ------------------------------------------------------------- | | | | |2023294-Roge- |Reject_Undefined_Pragmas library switch |Onlin| |Jaf |displays incorrect help |e | ------------------------------------------------------------- | | | | |3201747-Voya- |Documentation of interaction of |SMU | |Phil |Enable_Privileges and editors is | | | |inadequate | | ------------------------------------------------------------- | | | | |729632-Gato- |Documentation is incorrect for Overwrite|LM | |Vnv |option of Archive | | ------------------------------------------------------------- 110 May 1992 RATIONAL\f Release D_12_6_5 Table C-3 Documentation Problems Fixed by D_12_6_5 (continued) ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Book | ------------------------------------------------------------- | | | | |8466957-Rati- |Suggested enhancement to documentation |LM | |Jls |for package Archive | | ------------------------------------------------------------- | | | | |8594091-Rati- |Incorrect explanation for |SJM | |Pbk |Session.Prompt_Delimiters session switch| | ------------------------------------------------------------- | | | | |8692100-Gato- |Online help crossed for |Onlin| |Mpr |Session.Window_Frames and |e | | |Window_Default_Sort_Order session | | | |switches | | ------------------------------------------------------------- | | | | |9123690-0131-5|Dcoumentation is insufficient for prefix|LM | | |expressions in Archive | | ------------------------------------------------------------- | | | | |9123690-0131-9|Operator.Enable_Privileges does not work|SMU | | |for members of group Privileged | | ------------------------------------------------------------- | | | | |9123690-0136-2|Csr3923: Documentation is insufficient |Secti| | |for enabling a laser printer |on A | | | |and | | | |SMU | ------------------------------------------------------------- | | | | |9123690-0137-2|Csr3975: Session.Search_Regular_Expr |SJM | | |session switch does not work | | ------------------------------------------------------------- | | | | |9123690-0166-4|Csr5617: Session switches do not apply |SJM | | |when Ftp.Get is run under *SYSTEM | | ------------------------------------------------------------- | | | | |9723630-0021-2|Format.Alignment_Threshold switch |LM | | |description is insufficient | | ------------------------------------------------------------- | | | | |9723630-0036-0|No documentation exists for Host |SMU | | |parameter of Queue.Add | | ------------------------------------------------------------- | | | | |9723630-0058-1|Documentation is incorrect for |SJM | | |Log.Set_Output and Log.Set_Error | | ------------------------------------------------------------- RATIONAL May 1992 111\f Rational Environment Release Information Table C-3 Documentation Problems Fixed by D_12_6_5 (continued) ------------------------------------------------------------- | | | | | PRS Number | PRS Summary |Book | ------------------------------------------------------------- | | | | |9723630-0099-2|Spec and documentation for Tape.Write do|SMU | | |not match | | ------------------------------------------------------------- 112 May 1992 RATIONAL\f Release D_12_6_5 Contents 1. Overview 1 2. Supported Configurations and Upgrades 2 3. Compatibility 3 4. Upgrade Impact 5 4.1. Impact of Specification Changes 6 4.1.1. Upgrading from D_12_5_0 6 4.1.2. Upgrading from D_12_2_4 6 4.1.3. Upgrading from D_12_1_1 7 4.2. Impact of Implementation Changes 7 5. Known Problems and Limitations 7 5.1. Problem Installing the Cross-Development Facility 8 5.2. Errors Reported When Archiving Switch Files to Non-D_12_6_5 Machines 10 5.3. Limitation in Archiving between Machines Running Different Releases 10 5.4. Problem with Record Representation Clauses and Long_Integer Type 11 5.5. Problem Using DFS Tools with Coprocessors 11 5.6. Problems with Documentation Tools 11 5.7. Problem When Initializing Session Switch Files 12 6. New Environment Interfaces 12 6.1. New Declarations in Package Access_List_Tools 12 6.1.1. Function Grants 13 6.1.2. Function Is_In_Group 13 6.1.3. Function Is_Valid_Group 13 6.1.4. Procedure Remove 13 6.1.5. Procedure Set 14 6.1.6. Procedure Set_Default 14 6.2. New Procedures in System_Maintenance Subsystem 14 6.2.1. Procedure Last_Gasp_Destroy 14 6.2.2. Procedure Release_Tape_User 15 6.2.3. Procedure Show_Load_Proc_Unit_Names 15 6.2.4. Procedure Show_Tape_Users 16 6.3. New Features in Package Dfs 16 6.3.1. Support Tools 17 6.3.2. Dfs_Release File 17 6.4. New Login_Policy World 18 6.4.1. Establishing a Login Policy 18 6.4.2. Specifying the Login Message 20 6.5. New Telnet_Tools Subsystem 21 6.6. Products Now Delivered with the Environment 21 6.6.1. Rational X-Interface and Windows-Interface 21 6.6.2. Documentation Tools 22 7. Changes from D_12_5_0 22 7.1. Changes to Package Common 23 7.2. Changes to Editing Ada Units 23 7.3. Changes to Debugging 24 7.3.1. Quitting While the Debugger is Running 24 7.4. Changes to Session and Job Management 25 7.5. Archive Changes 25 7.5.1. Copying Ada Units with Subobjects 25 7.5.2. Archiving Library Switch Files 26 RATIONAL May 1992 iii\f Rational Environment Release Information 7.6. Compilation Changes 26 7.6.1. Installing Units 26 7.6.2. Coding Units 28 7.6.3. Loading and Executing Units 29 7.6.4. Program Libraries 30 7.7. Changes to Library Switches 30 7.7.1. New Switch: Semantics.Limit_Semantic_Messages 30 7.7.2. New Switch: Semantics.Reject_Statement_Prompts 31 7.7.3. Change to Default Value of R1000_Cg.Retain_Delta1_Compatibility Switch 31 7.8. Changes to Other Library Management Facilities 32 7.9. Changes to Device Input and Output 33 7.10. Changes to Printing 33 7.11. Changes to System Backups 33 7.12. Changes to the Diagnostic File System (DFS) 34 7.12.1. Renamed Procedures 34 7.12.2. Analyze_Crashdump Prompts for Input 34 7.13. Changes to Crash Analysis 34 7.13.1. Changes to the Crash Analysis Procedures 34 7.13.2. Change to Crashdumps and Tombstones 35 7.14. Changes to Token Policies 35 7.14.1. Transferring Tokens between Series 400 and 300 35 7.14.2. Token Changes to RXI 37 7.15. Miscellaneous Changes to System Management 37 7.16. Changes to CMVC 38 7.17. Update to !Tools.Math_Support 39 7.18. Miscellaneous Changes 39 7.18.1. Change to Library_Object_Editor 39 7.18.2. Change to Code_Segment_Object_Editor 40 8. Documentation 40 8.1. New Printed Documentation 40 8.2. New Online Documentation 41 8.3. New Help for Switches 41 8.3.1. Session Switches 42 8.3.2. Library Switches 42 A Guide to Machine Initialization 43 A.1. Overview 43 A.1.1. World !Machine.Initialization.Rational 44 A.1.2. Worlds !Machine.Initialization.[Site,Local] 45 A.2. Setting Up the Site and Local Worlds 47 A.3. Hints for Implementing System Customizations 48 A.3.1. Writing Customized Initialization Procedures 48 A.3.2. Using "_Start" Files to Reference Initialization Procedures 49 A.3.3. Controlling the Order of Execution 51 A.3.4. Customizing Disk-Collection Thresholds 52 A.4. Enabling and Configuring Login Ports 52 A.4.1. Enabling Ports for Login 53 A.4.2. Customizing Port Characteristics 54 A.4.3. A Sample Terminal_Configuration File 56 A.4.4. Terminal-Configuration Options 57 A.5. Configuring Printers 60 A.5.1. Where to Specify Printer Information 61 A.5.2. Adding Entries to a Printer_Configuration File 62 A.5.3. Specifying a Directly Connected Printer 64 iv May 1992 RATIONAL\f Release D_12_6_5 A.5.4. Specifying a Networked Printer 64 A.5.5. Specifying an Environment File 65 A.5.6. Specifying a Workstation Directory 66 A.5.7. Associating Default Printers with Individual Users69 B Diagnostic Crash Procedures 71 B.1. Introduction 71 B.2. When Your System Crashes 71 B.3. Using These Diagnostic Crash Procedures 72 B.4. Saving Information about the System State 72 B.5. Crash due to Power Failure 74 B.5.1. Indication of Power Failure 74 B.5.2. Recovering from Power Failure 74 B.6. Crash due to Overheating 75 B.6.1. Indications of Overheating 76 B.6.2. Recovering from Overheating 76 B.7. Displays "Connect Modem" Message and Hangs 77 B.7.1. Indications of "Failure to Connect Modem" 77 B.8. Other System Failures 77 B.8.1. Redisplaying the Crash Reason 78 B.9. Common Crash Reasons and Responses 80 B.9.1. Halt => System Error 80 B.9.2. Halt => I/O Processor Hardware Error 80 B.9.3. Halt => I/O Processor Software Error 80 B.9.4. Halt => Processor Hardware Error 80 B.9.5. Halt => Processor Multi Bit Memory Error 80 B.9.6. Halt => Processor Sysbus Hardware Error 81 B.9.7. Halt => Processor Microcode Error 83 B.9.8. Halt => Processor Software Error 83 B.9.9. Halt => Shutdown from Environment 83 B.9.10. Halt => Processor Crash Error 83 B.9.11. Machine Check (Parity Error) 86 B.9.12. Any Other Reason 86 B.10. If You Suspect Disk Errors 86 B.10.1. Running Diskx 86 B.10.2. Running Checkdisk 87 B.11. Recovering Crash Information from the Environment 88 B.12. Contacting the Rational Response Center 90 C Problem Reports Closed in D_12_6_5 91 C.1. Software Problem Reports Closed 91 C.2. Documentation Problem Reports Closed 108 RATIONAL May 1992 v\f Rational Environment Release Information vi May 1992 RATIONAL\f