Hi.
I thought I would repost this under a different title just in case...
I have a small problem and I'm not sure if it is a bug with FreeBSD 2.2.1
kernel or something I did. With the current kernel I have built - if I
try to execute a script file without setting the 'x' bit the system
crashes with:
"/kernel: panic: ufs_lock: recursive lock not expected"
When I asked Jordan about this he said it had to be an obvious goofed in my
CONF file (though he had no idea what the obvious goof could be) but I can't
find it. I've tried changing a few things and rebuilding but I still can't
find it. The sources I use are off of the 2.2.1 cdrom and are therefore
unmodified (I symlink as oppose to copy them to disk) - the only thing I have
modified is the CONF file which I have appended to this note. If someone
has the interest and time to look at this (or maybe just compile a
kernel using this CONF file and try it on their system) - feel free to flame
me for doing something stupid - but please point out the stupid mistake in
the process....
Some more information - I have been using this kernel for about 4 months
and the above condition is the only one (I know of) which causes it to crash
during this period - but the condition is reproduceable (i.e.,
% cat > /tmp/script
% ^D
% chmod 600 /tmp/script
% /tmp/script
)_
the system is a P100, ASUS P55TP4XE mother board, ncr 810 scsi controller -
ASUS graphic adapter (trio-3), 32mb ram.
thanks,
atk
---------MYCONF-----
#
# GENERIC -- Generic machine with WD/AHx/NCR/BTx family disks
#
# For more information read the handbook part System Administration ->
# Configuring the FreeBSD Kernel -> The Configuration File.
# The handbook is available in /usr/share/doc/handbook or online as
# latest version from the FreeBSD World Wide Web server
# <URL:http://www.FreeBSD.ORG/>
#
# An exhaustive list of options and more detailed explanations of the
# device lines is present in the ./LINT configuration file. If you are
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
# $Id: GENERIC,v 1.77.2.4 1997/02/22 20:31:24 joerg Exp $
machine "i386"
cpu "I586_CPU"
ident "CCF1_CUSTOM"
maxusers 10
#options MATH_EMULATE #Support for x87 emulation
options INET #InterNETworking
options FFS #Berkeley Fast Filesystem
#options NFS #Network Filesystem
options MSDOSFS #MSDOS Filesystem
options "CD9660" #ISO 9660 Filesystem
options PROCFS #Process filesystem
options "COMPAT_43" #Compatible with BSD 4.3 [KEEP THIS!]
options SCSI_DELAY=30 #Be pessimistic about Joe SCSI device
#options BOUNCE_BUFFERS #include support for DMA bounce buffers
options UCONSOLE #Allow users to grab the console
options FAILSAFE #Be conservative
options USERCONFIG #boot -c editor
options VISUAL_USERCONFIG #visual boot -c editor
#I Added
options SYSVSHM
options SYSVSEM
options SYSVMSG
options MFS #Memory file system
config kernel root on sd0
controller isa0
#controller eisa0
controller pci0
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
#tape ft0 at fdc0 drive 2
#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 wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
#disk wd2 at wdc1 drive 0
#disk wd3 at wdc1 drive 1
options ATAPI #Enable ATAPI support for IDE bus
options ATAPI_STATIC #Don't do it as an LKM
#device wcd0 #IDE CD-ROM
# A single entry for any of these controllers (ncr, ahb, ahc, amd) is
# sufficient for any number of installed devices.
controller ncr0
#controller amd0
#controller ahb0
#controller ahc0
#controller bt0 at isa? port "IO_BT0" bio irq ? vector bt_isa_intr
#controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
#controller aha0 at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr
#controller aic0 at isa? port 0x340 bio irq 11 vector aicintr
#controller nca0 at isa? port 0x1f88 bio irq 10 vector ncaintr
#controller nca1 at isa? port 0x350 bio irq 5 vector ncaintr
#controller sea0 at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr
controller scbus0
device sd0
#device od0 #See LINT for possible `od' options.
device st0
device cd0 #Only need one of these, the code dynamically grows
#device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr
#device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr
#controller matcd0 at isa? port 0x230 bio
#device scd0 at isa? port 0x230 bio
# syscons is the default console driver, resembling an SCO console
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint
#options PCVT_FREEBSD=210 # pcvt running on FreeBSD >= 2.0.5
#options XSERVER # include code for XFree86
#options FAT_CURSOR # start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options PCVT_SCANSET=2 # IBM keyboards are non-std
# Mandatory, don't remove
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
#
# Laptop support (see LINT for more options)
#
#device apm0 at isa? disable # Advanced Power Management
#options APM_BROKEN_STATCLOCK # Workaround some buggy APM BIOS
# PCCARD (PCMCIA) support
#controller crd0
#device pcic0 at crd?
#device pcic1 at crd?
device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
#device sio2 at isa? disable port "IO_COM3" tty irq 5 vector siointr
#device sio3 at isa? disable port "IO_COM4" tty irq 9 vector siointr
device lpt0 at isa? port? tty irq 7 vector lptintr
#device lpt1 at isa? port? tty
#device mse0 at isa? port 0x23c tty irq 5 vector mseintr
#device psm0 at isa? disable port "IO_KBD" conflicts tty irq 12 vector psmintr
# Order is important here due to intrusive probes, do *not* alphabetize
# this list of network interfaces until the probes have been fixed.
# Right now it appears that the ie0 must be probed before ep0. See
# revision 1.20 of this file.
#device de0
#device fxp0
#device vx0
#device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr
#device ed1 at isa? port 0x300 net irq 5 iomem 0xd8000 vector edintr
#device ie0 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintr
#device ep0 at isa? port 0x300 net irq 10 vector epintr
#device ex0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector exintr
#device fe0 at isa? port 0x300 net irq ? vector feintr
#device ix0 at isa? port 0x300 net irq 10 iomem 0xd0000 iosiz 32768 vector ixintr
#device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr
#device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr
#device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr
#device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr
pseudo-device loop
#pseudo-device ether
pseudo-device log
#pseudo-device sl 1
# ijppp uses tun instead of ppp device
#pseudo-device ppp 1
pseudo-device tun 1
pseudo-device pty 16
pseudo-device gzip # Exec gzipped a.out's
# I added - for sound support
options "SBC_IRQ=5"
controller snd0
device sb0 at isa? port 0x220 irq 5 drq 1 vector sbintr
device sbxvi0 at isa? drq 5
device sbmidi0 at isa? port 0x330
device joy0 at isa? port "IO_GAME"
# KTRACE enables the system-call tracing facility ktrace(2).
# This adds 4 KB bloat to your kernel, and slightly increases
# the costs of each syscall.
#options KTRACE #kernel tracing