java/62837: linux-sun-jdk14 executables hang with COMPAT_LINUX in
the the kernel.
Christopher Sean Hilton
chris at vindaloo.com
Sat Feb 14 06:50:19 PST 2004
>Number: 62837
>Category: java
>Synopsis: linux-sun-jdk14 executables hang with COMPAT_LINUX in the the kernel.
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-java
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Feb 14 06:50:18 PST 2004
>Closed-Date:
>Last-Modified:
>Originator: Christopher Sean Hilton
>Release: FreeBSD 4.9-STABLE i386
>Organization:
Vindaloo.Com
>Environment:
System: FreeBSD dagobah.pvt.vindaloo.com 4.9-STABLE FreeBSD 4.9-STABLE #1: Wed Jan 28 17:07:24 EST 2004 chris at hoth.pvt.vindaloo.com:/usr/obj/usr/src/sys/GATEWAY-M450 i386
FreeBSD 4.9 Stable, Custom kernel with COMPAT_LINUX Specified.
Kernel config:
# Kernel Configuration for GATEWAY-M450 Laptop
machine i386
cpu I586_CPU
cpu I686_CPU
ident GATEWAY-M450
maxusers 0
options INET #InterNETworking
options FFS #Berkeley Fast Filesystem
options FFS_ROOT #FFS usable as root device [keep this!]
options SOFTUPDATES #Enable FFS soft updates support
options UFS_DIRHASH
options NFS #Network Filesystem
options MSDOSFS #MSDOS Filesystem
options EXT2FS
options CD9660 #ISO 9660 Filesystem
options PROCFS #Process filesystem
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI
options UCONSOLE #Allow users to grab the console
options USERCONFIG #boot -c editor
options VISUAL_USERCONFIG #visual boot -c editor
options KTRACE #ktrace(1) support
options SYSVSHM #SYSV-style shared memory
options SYSVMSG #SYSV-style message queues
options SYSVSEM #SYSV-style semaphores
options ICMP_BANDLIM #Rate limit bad replies
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options COMPAT_LINUX
options USER_LDT
options IPSEC
options IPSEC_ESP
options DDB
options DDB_UNATTENDED
options GDB_REMOTE_CHAT
device isa
device eisa
device pci
device apm0
# ATA and ATAPI devices
device ata0
device ata1
device ata
device atadisk # ATA disk drives
device atapicd # ATAPI CDROM drives
device atapifd # ATAPI floppy drives
device atapist # ATAPI tape drives
# SCSI peripherals
device scbus # SCSI bus (required)
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct SCSI access)
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12 flags 0x6100
# syscons is the default console driver, resembling an SCO console
device vga0 at isa?
device sc0 at isa? flags 0x100
pseudo-device splash
options VESA
options SC_PIXEL_MODE
# Floating point support - do not disable.
device npx0 at nexus? port IO_NPX irq 13
# PCCARD (PCMCIA) support
device card
device pcic0 at isa? irq 10 port 0x3e0 iomem 0xd0000
# Server Management Bus Supported interfaces:
device smbus
device intpm # Intel PIIX4 Power Management Unit
device iicbus # Bus support, required for ic/iic/iicsmb below.
device iicbb
device ic
device iic
device iicsmb # smb over i2c bridge
# Serial ports
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? disable port IO_COM2 irq 3
# Parallel port
device ppc0 at isa? irq 7
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
device ppi # Parallel port interface device
device vpo # Requires scbus and da
device miibus # MII bus support
device em
device wi
device pcm
# Pseudo devices - the number indicates how many units to allocated.
pseudo-device loop # Network loopback
pseudo-device ether # Ethernet support
pseudo-device ppp 2 # Kernel PPP
pseudo-device tun # Packet tunnel.
pseudo-device pty # Pseudo-ttys (telnet etc)
# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device bpf 4 #Berkeley packet filter
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device usb # USB Bus (required)
device ugen # Generic
device uhid # "Human Interface Devices"
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device uvisor # Visor USB PDA
device ucom # More Visor
# USB Ethernet, requires mii
device aue # ADMtek USB ethernet
device cue # CATC USB ethernet
device kue # Kawasaki LSI USB ethernet
>Description:
On systems with a custom kernel with COMPAT_LINUX compiled in and
linprocfs loaded as a module the Linux Sun jdk executables hang and
need to be killed with kill -9.
>How-To-Repeat:
Compile a 4.9 Stable kernel with COMPAT_LINUX.
Load linprocfs with with kldload.
Add linux-sun-jdk from the ports collection.
Run the Linux Java compiler.
$ kldstat
Id Refs Address Size Name
1 3 0xc0100000 3359b4 kernel
2 1 0xc2346000 7000 linprocfs.ko
3 1 0xc23c3000 2000 green_saver.ko
$ uname -a
FreeBSD dagobah.pvt.vindaloo.com 4.9-STABLE FreeBSD 4.9-STABLE #1: Wed Jan 28 17:07:24 EST 2004 chris at hoth.pvt.vindaloo.com:/usr/obj/usr/src/sys/GATEWAY-M450 i386
$ kldstat
Id Refs Address Size Name
1 3 0xc0100000 3359b4 kernel
2 1 0xc2346000 7000 linprocfs.ko
3 1 0xc23c3000 2000 green_saver.ko
$ pkg_info -aI | grep linux-sun
linux-sun-jdk-1.4.2.02 Sun Java Development Kit 1.4 for Linux
>Fix:
Using the GENERIC kernel and loading both the linux compatibility and
the linprocfs works around this problem. I assume that loading linux
from the module is the fix. I will test this this afternoon and post a
follow-up.
-- Chris
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-java
mailing list