Subject: kern/24711: IBM Linux JDK 1.4.1 causes fatal protection fault in supervisor mode
To: None <gnats-bugs@gnats.NetBSD.org>
From: Brian de Alwis <bsd@cs.ubc.ca>
List: netbsd-bugs
Date: 03/08/2004 18:06:43
>Number:         24711
>Category:       kern
>Synopsis:       IBM Linux JDK 1.4.1 causes fatal protection fault in supervisor mode
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Mar 08 23:08:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Brian de Alwis
>Release:        NetBSD 1.6ZK
>Organization:
     Brian de Alwis | Graduate student | Software Practices Lab | UBC
"There is much pleasure to be gained in useless knowledge." - Bertrand Russell
>Environment:
System: NetBSD slab 1.6ZK NetBSD 1.6ZK (GENERIC_LAPTOP) #0: Thu Mar 4 09:47:27 UTC 2004 autobuild@tgm.netbsd.org:/autobuild/HEAD/i386/OBJ/autobuild/HEAD/src/sys/arch/i386/compile/GENERIC_LAPTOP i386
Architecture: i386
Machine: i386
>Description:
	I just installed the IBM JDK 1.4.1 from 
	Running the java JVM command is ok.
	Invoking the java compiler (javac) causes a crash.
	The walkback is as follows:

	--------------------------------------------------
	fatal protection fault in supervisor mode
	trap type 4 code(ffd4 eip c0100d65 cs 8 eflags 10046 cr2 8 ilevel 0
	panic: trap
	Begin traceback...
	trap() at netbsd:trap+0x141
	--- trap (number 4) ---
	netbsd:Xsyscall+0x95:
	End traceback...
	--------------------------------------------------

	and the machine hangs.  This was run from a non-root user,
	and the limits are:

	$ ulimit -a
	core file size        (blocks, -c) unlimited
	data seg size         (kbytes, -d) 131072
	file size             (blocks, -f) unlimited
	max locked memory     (kbytes, -l) 83274
	max memory size       (kbytes, -m) 249824
	open files                    (-n) 64
	pipe size          (512 bytes, -p) 1
	stack size            (kbytes, -s) 2048
	cpu time             (seconds, -t) unlimited
	max user processes            (-u) 160
	virtual memory        (kbytes, -v) 133120
	$

>How-To-Repeat:
	I'm running NetBSD 1.6ZK from
	releng.netbsd.org:pub/NetBSD-daily/current/200403030000/i386/binary/kernel/NetBSD-GENERIC_LAPTOP.gz.
	Download the IBM JDK 1.4.1 from
	<https://www6.software.ibm.com/dl/lxdk/lxdk-p>.  Coose the
	`IBM SDK for 32-bit xSeries (Intel compatible)'.  (Or
	alternatively, open
	<http://www-106.ibm.com/developerworks/java/jdk/linux140/>,
	and choose `Download' in the Contents).  Create a user id,
	or e-mail me for my ID.

	Download the SDK (listed as `tgz format:  IBMJava2-SDK-141.tgz
	53.2MB').  Just unzip it somewhere, say /var/tmp/; it will create
	an IBMJava2-141.  Execute the following:

	    $ export JAVA_HOME=..../IBMJava2-141/
	    $ export JRE_HOME=/usr/local/installs/IBMJava2-141//jre
	    $ export JDK_HOME=/usr/local/installs/IBMJava2-141/
	    $ export PATH=$JDK_HOME/bin:$JRE_HOME/bin:$PATH

	And then try running the JVM:

	    $ java -version
	    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1)
	    Classic VM (build 1.4.1, J2RE 1.4.1 IBM build cxia321411-20030930 (JIT enabled: jitc))
	    $ 

	And now try the compiler:

	    $ javac -version

	And watch the machine die.

	I have the following suse_* packages installed:

	$ pkgver suse_*
	suse_x11-7.3nb2     Linux compatibility package for X11 binaries
	suse_compat-7.3     Linux compatibility package with old shared libraries
	suse_gtk-7.3        Linux compatibility package for GTK binaries
	suse_base-7.3nb4    Linux compatibility package
	$  

>Fix:
	Sorry, unknown.
>Release-Note:
>Audit-Trail:
>Unformatted: