Path: utzoo!attcan!uunet!lll-winken!ames!pasteur!ucbvax!ICAEN.UIOWA.EDU!dbfunk From: dbfunk@ICAEN.UIOWA.EDU (David B. Funk) Newsgroups: comp.sys.apollo Subject: Re: sfcb hash table mutex lock Message-ID: <8901250632.AA00797@icaen.uiowa.edu> Date: 25 Jan 89 06:32:34 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: Iowa Computer Aided Engineering Network, University of Iowa Lines: 37 > pabong@gonzo.eta.com writes: > has anyone ever seen the error "Unable to obtain sfcb hash table mutex lock" The sfcb hash table is a table, in global memory, that holds shared file control blocks. Type managers that support multiple I/O streams to an object use sfcb's for each open object. This includes most files, IPC sockets, mbx mailboxes, pipes, etc (IE most streams I/O managers). These are used to manage concurrent stream access. Each time a stream is opened or closed to oen of these types of objects, the sfcb hash table is searched to see if an entry needs to be allocated/dealocated or reused. (IE this table gets used a lot and its in global memory where all processes and type managers can get to it.) It has a mutual exclusion lock (mutex lock) on it to prevent corruption from simultanious updates. If this lock gets lost, all kinds of chaos can result. Ordinarily a process (type manager) obtains the lock, does the updating, and releases the lock. If the process faults, its clean-up handlers should release all aquired resources. If a process is blasted or dies a violent enough death that its stack is wiped out, then its clean-up handlers may not get a chance to do their work. This can result in a lost mutex lock. A bug in the streams library (/lib/streams) or a type manager (/sys/mgrs/*) could also cause this problem. Different pieces of system software have diffent revision levels and are depenten upon other pieces being compatabile. EG the tcp/ip upgrade was dependent upon the correct revision of the streams library for correct operation. Mismatched software can cause problems. Third party software can try to pull some fancy stunts that may get in trouble. A messup in the sfcb hash table can be a ticking time bomb that won't show up until long after the culprit did its dirty deed. To summarize, when you have sfcb hash table problems: Check for processes not exiting cleanly Check revision levels of system software Check for bug reports on software that you use When in doubt, reboot before things come to a grinding halt. Dave Funk