Patch-ID# 100107-02 Keywords: 6.0 DNI kernel X11 Synopsis: DNI 6.0 Jumbo patch update. DNI kernel supports for X11 window system. Date:29-Nov-90 SunOS release: 4.0.3, 4.1 Unbundled Product: Unbundled Release: Topic: BugId's fixed with this patch: 1016443, 1017992, 1020637, 1026285, 1026726, 1028740, 1029780, 1030478, 1033303, 1035072, 1035073, 1035074, 1035234, 1035755, 1035762, 1036284, 1047368 Architectures for which this patch is available: sun4, sun3 and sun386. Obsoleted by: 7.0 DNI Problem Description: This is a jumbo patch for DNI 6.0. It included a variety of DNI 6.0 kernel fixes. Especially, the DNI supports over X11. DNIkernel.README 1. Why are we sending out this patch kit? There were a series of scenerios under which a Sun running DNI could be made to exhibit strange behavior (including panic dumping), particularly under conditions of heavy DECnet usage. After an intensive investigation of the problems arising during stress testing, a variety of DNI 6.0 kernel problems were isolated and fixed. Since the size of several internal structures were altered, the entire set of DNI kernel object files had to be sent out as a group... hence the release of this kit. 2. What exactly does it fix? A. The following represent a list of the DNI 6.0 bugs that should be fixed with the successful installation of the object modules in this kit. 1016443: problem with write and select when using non-blocking IO 1017992: patched dni_driver.o panics 386i on 16K i/o's 1020637: SES_NAME_SERVER and SES_NUM_SERVER followed by select fails 1026285: 128 connects to non-existant object kills all DNI sessions 1026726: dniserver fails sometimes 1028740:"copy" or "set host" to sun succeeds only every second time 1029780: directory loop from Vax causes panic dump on Sun 1030478: dnincp can only handle 1000 nodes. 1033303: Several dnicp run in parrallel fail after 5-20 min 1035072: occasional DNI panic in dnaclose 1035073: Panic in ethernet initialisation if null ptr returned 1035074: "node_list" data structure is overlaid by structures of different length 1035234: Intensive bashing at DAP level causes random kernel crashes 1035755: DNI on rare occasions, panics with mfree message (Duplicate) 1035762: DNI on rare occasions, panics with mfree message 1036284: panic:page fault from multiple connect requests 1047368: dni kernel doesn`t support task name request with jumbo patch id # 100107-01 installed. B. There is an excellent chance that the following bug will also be fixed with this patch kit, although this has not been formally verified: 1036288: dni causes panic getbuf: no memory C. The following bug was fixed with the release of Sun O/S 4.0.3 (i.e. was not DNI 6.0 related). This kit should NOT be installed on any Sun O/S version earlier than Sun O/S 4.0.3. 1028093: System "panics" when booted with SunLink 6.0 DNI Kernel. D. The following bug will not be fixed unless Sun O/S 4.1 is installed. It is strongly recommended that you upgrade to this operating system release if you continue to experience the problems described below after upgrading DNI 6.0 from this kit. Note: The object modules in this kit won't cause the problem below .. they just won't fix it. 1032612: unix/4.0.3/panic_bus_error Problems in the 4.0.3 kernel heap management routines can lead to system panics as a result of bus errors. Typically, the bus error register will have a value of 80 (bus error reg. 80); kernel stack traces show no consistant pattern; and, the panics seem to be most typically associated with heavy ethernet and/or x.25 and/or other datacomm traffic. In addition, system "hangs" may be observered, upon occasion, as a result of this problem. In the case of the "hangs", stack traces will typically indicate problems in the "kmem_*" routines themselves. For best results, it is recommended that sites experiencing these problems upgrade to SunOS 4.1 as soon as possible. Substantial effort has gone into improving kernel heap management in that OS. These bugs do not exist in SunOS 4.1 3. What is included in this kit: The accompanying .o files comprise the complete set of DNI 6.0 kernel object files. It was necessary to release these as a group as the size of certain internal structures has changed, and this affects all object files. Doing a "what *.o" in the directory you tar the contents of this tape into should yield source file versions which match the following: cxalarm.c 61.1 90/06/04 Copyr 1986 Sun Micro cxbuf.c 61.1 90/06/04 Copyr 1986 Sun Micro cxmbox.c 61.1 90/06/04 Copyr 1989 Sun Micro cxproc.c 61.1 90/06/04 Copyr 1986 Sun Micro cxsched.c 61.1 90/06/04 Copyr 1986 Sun Micro cxunix.c 61.1 90/06/04 Copyr 1986 Sun Micro decnet.c 61.1 90/06/04 Copyr 1986 Sun Micro dna.c 61.1 90/06/04 Copyr 1986 Sun Micro mirror.c 61.1 90/06/04 Copyr 1986 Sun Micro netman.c 61.1 90/06/04 Copyr 1986 Sun Micro nsp_acks.c 61.1 90/06/04 Copyr 1986 Sun Micro nsp_chld.c 61.1 90/06/04 Copyr 1986 Sun Micro nsp_init.c 61.1 90/06/04 Copyr 1987 Sun Micro nsp_main.c 61.1 90/06/04 Copyr 1986 Sun Micro nsp_misc.c 61.1 90/06/04 Copyr 1986 Sun Micro nsp_ques.c 61.1 90/06/04 Copyr 1986 Sun Micro nsp_recv.c 61.1 90/06/04 Copyr 1987 Sun Micro nsp_xmit.c 61.1 90/06/04 Copyr 1986 Sun Micro rou_init.c 61.1 90/06/04 Copyr 1986 Sun Micro rou_main.c 61.1 90/06/04 Copyr 1986 Sun Micro rou_nsp.c 61.1 90/06/04 Copyr 1986 Sun Micro rou_unix.c 61.1 90/06/04 Copyr 1986 Sun Micro rou_xmit.c 61.1 90/06/04 Copyr 1986 Sun Micro ses_bufr.c 61.1 90/06/04 Copyr 1986 Sun Micro ses_chld.c 61.1 90/06/04 Copyr 1986 Sun Micro ses_clos.c 61.1 90/06/04 Copyr 1986 Sun Micro ses_conc.c 61.1 90/06/04 Copyr 1986 Sun Micro ses_main.c 61.1 90/06/04 Copyr 1986 Sun Micro ses_node.c 61.2 90/06/21 Copyr 1986 Sun Micro ses_nsp.c 61.1 90/06/04 Copyr 1986 Sun Micro ses_open.c 61.1 90/06/04 Copyr 1986 Sun Micro ses_read.c 61.1 90/06/04 Copyr 1986 Sun Micro ses_serv.c 61.3 90/06/04 Copyr 1986 Sun Micro ses_user.c 61.1 90/06/04 Copyr 1986 Sun Micro ses_xmit.c 61.1 90/06/04 Copyr 1986 Sun Micro 4. Sun O/S versions: These DNI kernel object files may be installed and built with either Sun O/S 4.0.3 or Sun O/S 4.1. The existing problem with Sun O/S 4.0.3 is described above in item 2D. 5. Installation proceedures: These object modules replace the existing DNI 6.0 object modules for your system build directory (i.e. the one from which your current /vmunix file was generated). Install the patch tape as follows: cd /tmp tar x (this puts the patch tape into /tmp. It will make a DNIkernel directory.) cp /tmp/DNIkernel/`arch`/* /sys/`arch -k`/OBJ (replace the old DNI .o's) mv /usr/sunlink/dni/sys/`arch`/OBJ /usr/sunlink/dni/sys/`arch`/OBJ.orig mkdir /usr/sunlink/dni/sys/`arch`/OBJ mv /tmp/DNIkernel/`arch`/* /usr/sunlink/dni/sys/`arch`/OBJ (If you are a hetrogenous server, do both sun3 and sun4, not `arch`.) cd /sys/`arch -k`/SYSTEM_NAME (where SYSTEM_NAME is your chosen config name) (Note that there is no need to reissue "config", as although files have been changed, no filenames has been added or deleted). Then: make (verify that vmunix is relinked) mv /vmunix /vmunix.old_dni (or other name, to save your old kernel) mv vmunix /vmunix what /vmunix | more (to verify that your versions match those shown above). Then reboot the system. 6. Should Problems Arise: The resulting system should be far more stable than before the upgrade. Should any new problems arise (or old ones persist), please report them to USAC or your local TSE in the usual manner.