Putting the libraries on the system classpath (instead of the boot classpath) makes the VM crash.
$ gamma -XX:+UnlockExperimentalVMOptions -XX:+EnableInvokeDynamic -cp lib/phpreboot.jar:lib/tatoo-runtime.jar:lib/asm-all-3.2.jar:lib/grizzly-servlet-webserver-1.9.18-k.jar:. com.googlecode.phpreboot.Main test/testtracefun2.phpr
Program received signal SIGSEGV, Segmentation fault.
0xf719b73e in oopDesc::klass (this=0x0) at /home/twisti/hotspot-comp/hotspot/src/share/vm/oops/oop.inline.hpp:40
40 return _metadata._klass;
(gdb) where
#0 0xf719b73e in oopDesc::klass (this=0x0) at /home/twisti/hotspot-comp/hotspot/src/share/vm/oops/oop.inline.hpp:40
#1 0xf719b762 in oopDesc::blueprint (this=0x0) at /home/twisti/hotspot-comp/hotspot/src/share/vm/oops/oop.inline.hpp:102
#2 0xf719b7f8 in oopDesc::is_klass (this=0x0) at /home/twisti/hotspot-comp/hotspot/src/share/vm/oops/oop.inline.hpp:113
#3 0xf719b54d in Klass::cast (k=0x0) at /home/twisti/hotspot-comp/hotspot/src/share/vm/oops/klass.hpp:483
#4 0xf76a83d6 in MethodHandles::class_cast_needed (src=0xb282f578, dst=0x0) at /home/twisti/hotspot-comp/hotspot/src/share/vm/prims/methodHandles.cpp:938
#5 0xf76a922f in MethodHandles::check_argument_type_change (src_type=T_OBJECT, src_klass=0xb282f578, dst_type=T_OBJECT, dst_klass=0x0, argnum=1, raw=false)
at /home/twisti/hotspot-comp/hotspot/src/share/vm/prims/methodHandles.cpp:1256
#6 0xf76a8a20 in MethodHandles::verify_method_signature (m=..., mtype=..., first_ptype_pos=0, insert_ptype=..., __the_thread__=0x8068000)
at /home/twisti/hotspot-comp/hotspot/src/share/vm/prims/methodHandles.cpp:1070
#7 0xf76a8c37 in MethodHandles::verify_method_type (m=..., mtype=..., has_bound_recv=false, bound_recv_type=..., __the_thread__=0x8068000)
at /home/twisti/hotspot-comp/hotspot/src/share/vm/prims/methodHandles.cpp:1112
#8 0xf76a9977 in MethodHandles::verify_DirectMethodHandle (mh=..., m=..., __the_thread__=0x8068000) at /home/twisti/hotspot-comp/hotspot/src/share/vm/prims/methodHandles.cpp:1385
#9 0xf76a9ad2 in MethodHandles::init_DirectMethodHandle (mh=..., m=..., do_dispatch=false, __the_thread__=0x8068000) at /home/twisti/hotspot-comp/hotspot/src/share/vm/prims/methodHandles.cpp:1405
#10 0xf76ac503 in MHI_init_DMH (env=0x8068134, igcls=0xffffa5e4, mh_jh=0xffffa5f8, target_jh=0xffffa5f4, do_dispatch=0 '\000', caller_jh=0xffffa5ec)
at /home/twisti/hotspot-comp/hotspot/src/share/vm/prims/methodHandles.cpp:2217
<snip>
The current version of phpreboot still fails with the same error on JDK 7 b136:
intelsdv03:~/mlvm/phpreboot-read-only/phpreboot$ java -XX:+UnlockExperimentalVMOptions -XX:+EnableInvokeDynamic -Xbootclasspath/p:lib/phpreboot.jar:lib/tatoo-runtime.jar:lib/asm-all-4.0.jar:lib/jaxen-1.1.2.jar:lib/grizzly-servlet-webserver-1.9.18-k.jar:lib/derby.jar com.googlecode.phpreboot.Main test/testtracefun2.phpr
VM option '+UnlockExperimentalVMOptions'
VM option '+EnableInvokeDynamic'
i = 300000
intelsdv03:~/mlvm/phpreboot-read-only/phpreboot$ java -XX:+UnlockExperimentalVMOptions -XX:+EnableInvokeDynamic -cp lib/phpreboot.jar:lib/tatoo-runtime.jar:lib/asm-all-4.0.jar:lib/jaxen-1.1.2.jar:lib/grizzly-servlet-webserver-1.9.18-k.jar:lib/derby.jar com.googlecode.phpreboot.Main test/testtracefun2.phpr
VM option '+UnlockExperimentalVMOptions'
VM option '+EnableInvokeDynamic'
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00ecc587, pid=20705, tid=11262832
#
# JRE version: 7.0-b136
# Java VM: Java HotSpot(TM) Server VM (21.0-b06-fastdebug mixed mode linux-x86 )
# Problematic frame:
# V [libjvm.so+0x281587] Klass::cast(klassOopDesc*)+0x17
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/twisti/mlvm/phpreboot-read-only/phpreboot/hs_err_pid20705.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#