From: SourceForge.net <no...@so...> - 2005-04-30 17:22:18
|
Bugs item #1193058, was opened at 2005-04-30 19:22 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=712768&aid=1193058&group_id=128805 Category: runtime Group: new Status: Open Resolution: None Priority: 5 Submitted By: Rubidium (rubidium) Assigned to: Nobody/Anonymous (nobody) Summary: RVM crash when given non-existing classpath Initial Comment: The JikesRVM crashes when you supply a non-existing jarfile via the "-cp"/"-classpath" parameter on (Vanilla) Linux 2.6.9-rc1-bk1 and later x86 kernels. It does not appear to happen on x86_64 kernels (see http://jsb.st.informatik.tu-darmstadt.de:8080/pipermail/steamloom/2005-April/000016.html) It due to the following patch: "[PATCH] i386 virtual memory layout rework". (see http://kernel.org/pub/linux/kernel/v2.6/snapshots/old/patch-2.6.9-rc1-bk1.log just after line number 2800). It can be prevented by setting the program (or everything) in a 'legacy' mode, but I think that is not the recommend way to solve this problem.. Versions of used programs: Kernel Vanilla 2.6.11.4 Jikes Compiler - Version 1.18 - 21 November 2002 production Jikes RVM 2.3.5 using GNU Classpath 0.14 gcc version 3.3.5 (Debian 1:3.3.5-12) Java(TM) 2 Runtime (and compiler) Environment, Standard Edition (build Blackdown-1.4.1-beta) I have set RVM_FOR_SINGLE_VIRTUAL_PROCESSOR to '1' in rvm/config/i686-pc-linux-gnu, because I had some trouble compiling an earlier version with that set to '0' and compiling takes ages on my computer. The following is generated with a Vanilla 2.6.11.7 kernel, HelloWorld is a 'classical' Hello World 'application': rubidium@acer-vmware:/usr/src/jikesrvm-2.3.5/rvm/bin$ uname -r 2.6.11.7 rubidium@acer-vmware:/usr/src/jikesrvm-2.3.5/rvm/bin$ cat /proc/sys/vm/legacy_va_layout 0 rubidium@acer-vmware:/usr/src/jikesrvm-2.3.5/rvm/bin$ ./rvm HelloWorld Hello, world! rubidium@acer-vmware:/usr/src/jikesrvm-2.3.5/rvm/bin$ ./rvm -cp nonexistingjar.jar:. HelloWorld JikesRVM.no-pthreads: internal error: recursive use of hardware exception registers (exiting) -- Stack -- Lcom/ibm/JikesRVM/VM_StackTrace; <init>(I)V at line 74 Ljava/lang/Throwable; fillInStackTrace()Ljava/lang/Throwable; at line 109 Ljava/lang/Throwable; <init>()V at line 53 Ljava/lang/Throwable; <init>(Ljava/lang/String;)V at line 58 Ljava/lang/Exception; <init>(Ljava/lang/String;)V at line 78 Ljava/lang/RuntimeException; <init>(Ljava/lang/String;)V at line 76 Ljava/lang/IndexOutOfBoundsException; <init>(Ljava/lang/String;)V at line 73 Ljava/lang/ArrayIndexOutOfBoundsException; <init>(I)V at line 85 Lcom/ibm/JikesRVM/VM_Runtime; deliverHardwareException(II)V at line 634 <hardware trap> Lcom/ibm/JikesRVM/VM_CompiledMethods; getCompiledMethod(I)Lcom/ibm/JikesRVM/VM_CompiledMethod; at line 83 Lcom/ibm/JikesRVM/VM_StackBrowser; upOneFrameInternal(Z)Z at line 64 Lcom/ibm/JikesRVM/VM_StackBrowser; upOneFrame()V at line 74 Lcom/ibm/JikesRVM/VM_StackBrowser; up()V at line 84 Lcom/ibm/JikesRVM/classloader/VM_Class; getClassLoaderFromStackFrame(I)Ljava/lang/ClassLoader; at line 648 Lcom/ibm/JikesRVM/jni/VM_JNIFunctions; FindClass(Lcom/ibm/JikesRVM/jni/VM_JNIEnvironment;Lorg/vmmagic/unboxed/Address;)I at line 157 <invisible method> JikesRVM.no-pthreads: internal error: recursive use of hardware exception registers (exiting) JikesRVM.no-pthreads: exit 128 Segmentation fault rubidium@acer-vmware:/usr/src/jikesrvm-2.3.5/rvm/bin$ ls nonexistingjar.jar ls: nonexistingjar.jar: No such file or directory rubidium@acer-vmware:/usr/src/jikesrvm-2.3.5/rvm/bin$ touch nonexistingjar.jar rubidium@acer-vmware:/usr/src/jikesrvm-2.3.5/rvm/bin$ ./rvm -cp nonexistingjar.jar:. HelloWorld Hello, world! rubidium@acer-vmware:/usr/src/jikesrvm-2.3.5/rvm/bin$ su Password: acer-vmware:/usr/src/jikesrvm-2.3.5/rvm/bin# echo '1' > /proc/sys/vm/legacy_va_layout acer-vmware:/usr/src/jikesrvm-2.3.5/rvm/bin# exit rubidium@acer-vmware:/usr/src/jikesrvm-2.3.5/rvm/bin$ rm nonexistingjar.jar rubidium@acer-vmware:/usr/src/jikesrvm-2.3.5/rvm/bin$ ./rvm -cp nonexistingjar.jar:. HelloWorld Hello, world! rubidium@acer-vmware:/usr/src/jikesrvm-2.3.5/rvm/bin$ ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=712768&aid=1193058&group_id=128805 |