Subject: X wedges me strangely
To: None <current-users@sun-lamp.cs.berkeley.edu>
From: Roland McGrath <roland@frob.com>
List: current-users
Date: 02/10/1994 23:45:00
I have been having this problem for some weeks.
I just updated the software and it's still there.

I supped today and rebuilt the kernel; my configuration file is at the
end of this message.  I'm using the X binaries I got from laas.laas.fr
(except for twm, which needed to have been linked with -lXt; I'm using
the twm binary from the XFree86-2.0 distribution).  My Xconfig file is
at the end of the message.

The problem hard to pin down.  I have run X for an hour or two while
logged in as root and not starting clients, and not wedged.  But when
I log in normally, within 5 or 10 minutes most things on the machine
are wedged.  I'm running two xterms, twm, xload, rocks (in the
background, a screen hack from xscreensaver), xscreensaver, unclutter
-root -noevents, oclock, xbiff, and emacs.  X and twm continue to
respond fine, until I do a twm menu item the runs a command (when twm
wedges, maybe with the server grabbed).  Emacs responds fine until I
make it try to talk to the file system or start a subprocess.  The
xterms and the shells in them are fine until they try to fork or exec
(I have tried "exec /bin/sh" in one of the xterms and it hangs too).
I can't tell if the trigger is fork, exec, filesystem access, or what.

Once in this state, telnet to the machine connects and then hangs (as
if inetd wedged on fork or exec).  I have to press The Button.

The system is fine when I don't run the X server.

Has anyone else experienced anything remotely like this, or have any
idea what might be going on?  I am at a complete loss.

Thanks,
Roland


Here is my kernel configuration:

#
# BAALPERAZIM -- Roland's 486 box
#

# Architecture and kernel name.
machine		"i386"
ident		BAALPERAZIM

# CPU types to support.  This means this kernel will bomb on a 386.
cpu		"I486_CPU"


# Eastern Time
timezone	5 dst
# Estimated number of users; used in calculations for ENFILE limit.
maxusers	32

# Paging of processes, and caching vnodes and devices.
options	SWAPPAGER,VNODEPAGER,DEVPAGER

# Do IP and forward packets.
options	INET,GATEWAY
# Do NFS in both directions.
options NFSCLIENT,NFSSERVER

# Make ktrace(1) work.
options KTRACE
# Named pipes.
options FIFO
# Process accounting.
options ACCOUNTING
# Loadable kernel modules
options LKM

# Potentially useful compatibility.
options		"COMPAT_43"
options		"TCP_COMPAT_42"
options		"COMPAT_NOMID"

# Hooks for X server and allow non-superuser to do TIOCCONS.
options		XSERVER,UCONSOLE

# File systems.
options FFS
options FASTLINKS		# Fast symlinks in ffs.
options	MSDOSFS
# /kern
options	KERNFS
# /dev/fd
options FDESC
# Anonymous VM filesystem.
options MFS
# /proc
options PROCFS
# ISO 9660 CD-ROM filesystem; enable this when I have a driver for my CD drive.
#options		ISOFS

# Generic SCSI support.
options		SCSI

# Kernel debugger (minimally useful without -g).
# Invoked by C-M-ESC on console, or F12 in X.
options		DDB,XSERVER_DDB

# Enable setuid shell scripts; use /dev/fd kludge, makes them closer to secure.
options SETUIDSCRIPTS,FDSCRIPTS

# Omit nops at various places in the code.
# This is a good thing to try removing if bizarre lossage occurs.
options		DUMMY_NOPS

# Temporarily needed for big kernels:
options		MACHINE_NONCONTIG
# wd0 means wd0b and sd0 means sd0b.
config		netbsd	root on wd0 swap on wd0 and sd0 

controller	isa0

# The Gateway 2000 manuals say the IDE controller built into the
# motherboard can handle four disks.  XXX
controller	wdc0	at isa? port "IO_WD1" bio irq 14 vector wdintr
disk		wd0	at wdc0 drive 0
disk            wd1     at wdc0 drive 1

controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0
disk		fd1	at fdc0 drive 1

# Adaptec 1542C SCSI controller.
#controller	aha0	at isa? port "IO_AHA0" bio irq 11 drq 5 vector ahaintr
#disk		sd0	at aha0 flags 0 drive ?
#disk		sd1	at aha0 flags 0 drive ?
#tape		st0	at aha0 flags 1 drive ?
#tape		st1	at aha0 flags 1 drive ?
#disk		cd0	at aha0	flags 2 drive ?

# Ultrastor 34F SCSI controller.
controller	uha0	at isa? port "IO_UHA0" bio irq 11 drq 5 vector uhaintr
disk		sd0	at uha0 flags 0 drive ?
disk		sd1	at uha0 flags 0 drive ?
disk		sd2	at uha0 flags 0 drive ?
disk		sd3	at uha0 flags 0 drive ?
tape		st0	at uha0 flags 1 drive ?
tape		st1	at uha0 flags 1 drive ?
#disk		cd0	at uha0	flags 2 drive ?


# Console.
device		pc0	at isa? port "IO_KBD" tty irq 1 vector pcrint
# Math co-processor (I guess this belongs even though it is built-in on 486).
device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr

# Serial ports.
# XXX Right now, the S-LINK card is 1&2; COMA is 3.
# The built-in COMA is configured to be COM1/irq4.
device		com0	at isa? port "IO_COM1" tty irq 4 vector comintr
# The built-in COMB is configured to be COM2/irq3.
device		com1	at isa? port "IO_COM2" tty irq 3 vector comintr
#device		com2	at isa? port "IO_COM3" tty irq 5 vector comintr
# The ATI video board uses the COM4 io addresses!!!
#device		com3	at isa? port "IO_COM4" tty irq 5 vector comintr
# The S-LINK card is configured with these addresses, all on irq5.
#device		com2	at isa? port 0x1a0 tty irq 5 vector comintrmux
#device		com3	at isa? port 0x1a8 
#device		com4	at isa? port 0x1b0
#device		com5	at isa? port 0x1b8

# Parallel ports.
# The built-in parallel port is configured to be LPT1/irq7.
#device		lpt0	at isa? port "IO_LPT1" tty irq 7 vector lptintr
#device		lpt1	at isa? port "IO_LPT2" tty irq 5 vector lptintr

# SMC Ethernet card.
device		ed0 at isa? port 0x300 net irq 10 iomem 0xcc000 vector edintr

pseudo-device	loop
pseudo-device	ether
pseudo-device	sl
pseudo-device	ppp
# Berkeley Packet Filter for network monitoring tools.
pseudo-device	bpfilter 4
pseudo-device	log
pseudo-device	pty	32
pseudo-device	speaker

# Local Variables:
# compile-command: "config -g BAALPERAZIM"
# End:


Here is my Xconfig file:

# $XFree86: mit/server/ddx/x386/Xconfig.cpp,v 2.0 1993/10/08 15:55:00 dawes Exp $
# $XConsortium: Xconfig,v 1.2 91/08/26 14:34:55 gildea Exp $
#
# Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
# Copyright 1992,93 by David Dawes, David Wexelblat
#
# Permission to use, copy, modify, distribute, and sell this software 
# and its documentation for any purpose is hereby granted without fee, 
# provided that the above copyright notice appear in all copies and 
# that both that copyright notice and this permission notice appear in 
# supporting documentation, and that the names of the above listed authors 
# not be used in advertising or publicity pertaining to distribution of 
# the software without specific, written prior permission.  The above 
# listed authors make no representations about the suitability of this 
# software for any purpose.  It is provided "as is" without express or 
# implied warranty.
#
# THE ABOVE LISTED AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS 
# SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 
# FITNESS, IN NO EVENT SHALL THE ABOVE LISTED AUTHORS BE LIABLE FOR 
# ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER 
# RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF 
# CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Author:  Thomas Roell, roell@informatik.tu-muenchen.de
#
# Extensive modifications by the XFree86 Core Team

# **********************************************************************
# Refer to the Xconfig(4/5) man page for details about the format of 
# this file. This man page is installed as /usr/X386/man/cat5/Xconfig.0 
# **********************************************************************

# **********************************************************************
# Generic parameters section
# **********************************************************************

#
# some nice paths, to avoid conflicts with other X-servers
#
RGBPath		"/usr/X386/lib/X11/rgb"

#
# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
#
FontPath	"/usr/X386/lib/X11/fonts/misc/"
FontPath	"/usr/X386/lib/X11/fonts/Type1/"
FontPath	"/usr/X386/lib/X11/fonts/Speedo/"
FontPath	"/usr/X386/lib/X11/fonts/75dpi/"
FontPath	"/usr/X386/lib/X11/fonts/100dpi/"

#
# Uncomment this to cause a core dump at the spot where a signal is 
# received.  This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging
#
# NoTrapSignals

# **********************************************************************
# Input devices
# **********************************************************************

#
# Enable this to use the XQUEUE driver for keyboard and mouse handling
# under System V.  This may go away in the future.
#
# Note - If you use XQUEUE, you must comment out the keyboard and
#        mouse definitions.
#
# Xqueue

#
# Keyboard and various keyboard-related parameters
#
Keyboard
  AutoRepeat 500 5
  ServerNumLock
#  Xleds      1 2 3
#  DontZap
#
# To set the LeftAlt to Meta, RightAlt key to ModeShift, 
# RightCtl key to Compose, and ScrollLock key to ModeLock:
# 
#  LeftAlt     Meta
#  RightAlt    ModeShift
#  RightCtl    Compose
#  ScrollLock  ModeLock

#
# Mouse definition and related parameters
#
Logitech	"/dev/tty01"
#  BaudRate	9600
#  SampleRate	150
#  Emulate3Buttons

# **********************************************************************
# Graphics drivers
# **********************************************************************

#
# The 8-bit colour SVGA driver
#
VGA256

#
# To disable SpeedUp, use NoSpeedUp
#
#  NoSpeedUp
#  Virtual	1152 900

  Virtual	1024 1024
  ViewPort      0 0
  Modes	        "1024x768" "800x600" "640x480"

# 
# The 16-colour VGA driver
#
VGA16
  Virtual 	800 600
  Viewport 	0 0 
  Modes		"640x480"

#
# The 1-bit mono SVGA driver
#
VGA2

  Virtual	800 600
  ViewPort      0 0
  Modes	        "640x480"
#  Modes        "800x600" "640x480"

#
# The Hercules driver.  For Hercules, the only valid configuration option
# is ScreenNo (refer to the manual page).
#
# HGA2

#
# The alternate monochrome driver.  Refer to the XF86_Mono manual page.
#
# BDM2

# 
# The accelerated servers (S3, Mach32, Mach8, 8514)
#
ACCEL

  Virtual 	1024 768
  Viewport	0 0
  Modes		"1024x768" "800x600" "640x480" "1280x1024i"

#
# For boards with a programmable clock generator, you use a line like:
#
# Clocks "icd2061a"

#### from modeDB.txt:
# Card: 		ATI Graphics Ultra Pro (VLB)
# Contributor: 		Bill C. Riemers [bcr@physics.purdue.edu]
# Last Edit Date:	5/4/93
#
# chip    ram   virtual   clocks                           default-mode  flags
# ATI      1024  1152 910   51  36 126  25  80  65  45  40  "1152x910"
#                          135  32 110  80  45  40  75  65
Clocks 51  36 126  25  80  65  45  40
      135  32 110  80  45  40  75  65

# **********************************************************************
# Database of video modes
# **********************************************************************
ModeDB
# name        clock   horizontal timing     vertical timing      flags

#### from modeDB.txt
# OFFICIAL VESA Monitor timings + IBM Standards - TRY THESE FIRST
# Contributor:          Thomas Roell [roell@sgcs.com]
# Last Edit Date:       3/29/92
#
# name        clock   horizontal timing     vertical timing      flags
 "640x480"     25      640  664  760  800    480  491  493  525
               31      640  664  704  832    480  489  492  520
 "800x600"     36      800  824  896 1024    600  601  603  625
               40      800  840  968 1056    600  601  605  628
               50      800  856  976 1040    600  637  643  666
 "1024x768i"   44     1024 1040 1216 1264    768  384  389  409  Interlace
 "1024x768"    65     1024 1032 1176 1344    768  771  777  806
               75     1024 1048 1184 1328    768  771  777  806
               85     1024 1032 1152 1360    768  784  787  823
 "1280x1024i"  80     1280 1296 1512 1568   1024 1025 1037 1165  Interlace
 "1280x1024"  110     1280 1328 1512 1712   1024 1025 1028 1054
              135     1280 1312 1456 1712   1024 1027 1030 1064


#
# Refer to README.Config, modeDB.txt, and VideoModes.doc for actual
# modes, and information on how to calculate and adjust them.  
#
# DO NOT BLINDLY USE VIDEO MODES WITHOUT UNDERSTANDING WHAT YOU ARE
# DOING.  IT IS POSSIBLE TO DAMAGE THE MONITOR.  THE XFree86 CORE TEAM
# DISCLAIMS ALL LIABILITY FOR MONITOR DAMAGE, AS THE DOCUMENTATION
# ACCOMPANYING XFree86 HAS BEEN VERIFIED TO CONTAIN VALID AND SAFE
# MODES, AS LONG AS ONLY ONES WITHIN DOCUMENTED MONITOR SPECIFICATIONS
# ARE USED.
#

------------------------------------------------------------------------------