JDK-7093795 : JSR 292: Seph bench/bench_arithmetic.sp fails with: NoClassDefFoundError: seph/lang/SephObject
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs22
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2011-09-22
  • Updated: 2012-10-05
  • Resolved: 2012-10-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8-poolFixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
Running Seph benchmark bench/bench_arithmetic.sp with the runtime on the class path results in NCDFEs:

$ java -cp ./lib/seph.jar seph.lang.Main bench/bench_arithmetic.sp
...
java.lang.NoClassDefFoundError: seph/lang/SephObject
        at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java)
        at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java)
        at seph$gen$abstraction$0$toplevel.argument_0_3(bench/bench_arithmetic.sp:106)
        at seph.lang.ControlDefaultBehavior.evaluateArgument(ControlDefaultBehavior.java:23)
        at seph.lang.Base.benchmark(Base.java:99)
        at seph.lang.bim.BaseBase.benchmark(BaseBase.java:102)
        at seph$gen$abstraction$0$toplevel.toplevel(bench/bench_arithmetic.sp:114)
        at seph.lang.Runtime.evaluateStream(Runtime.java:90)
        at seph.lang.Runtime.evaluateFile(Runtime.java:107)
        at seph.lang.Main.main(Main.java:93)
...

Comments
This is fixed by the new JSR 292 implementation.
05-10-2012

EVALUATION t@2 (l@2) stopped in SystemDictionary::handle_resolution_exception at line 174 in file "systemDictionary.cpp" 174 THROW_MSG_0(vmSymbols::java_lang_NoClassDefFoundError(), class_name->as_C_string()); (dbx) where current thread: t@2 =>[1] SystemDictionary::handle_resolution_exception(class_name = 0x834ef10, class_loader = CLASS, protection_domain = CLASS, throw_error = true, klass_h = CLASS, __the_thread__ = 0x807b800), line 174 in "systemDictionary.cpp" [2] SystemDictionary::resolve_or_fail(class_name = 0x834ef10, class_loader = CLASS, protection_domain = CLASS, throw_error = true, __the_thread__ = 0x807b800), line 149 in "systemDictionary.cpp" [3] SignatureStream::as_klass(this = 0xfd75dd88, class_loader = CLASS, protection_domain = CLASS, failure_mode = NCDFError, __the_thread__ = 0x807b800), line 347 in "signature.cpp" [4] SignatureStream::as_java_mirror(this = 0xfd75dd88, class_loader = CLASS, protection_domain = CLASS, failure_mode = NCDFError, __the_thread__ = 0x807b800), line 355 in "signature.cpp" [5] SystemDictionary::find_method_handle_type(signature = 0x8c0a790, accessing_klass = CLASS, for_invokeGeneric = false, return_bcp_flag = false, __the_thread__ = 0x807b800), line 2421 in "systemDictionary.cpp" [6] SystemDictionary::find_method_handle_invoke(name = 0x80d35b8, signature = 0x8c0a790, accessing_klass = CLASS, __the_thread__ = 0x807b800), line 2352 in "systemDictionary.cpp" [7] LinkResolver::lookup_implicit_method(result = CLASS, klass = CLASS, name = 0x80d35b8, signature = 0x8c0a790, current_klass = CLASS, __the_thread__ = 0x807b800), line 231 in "linkResolver.cpp" [8] LinkResolver::resolve_method(resolved_method = CLASS, resolved_klass = CLASS, method_name = 0x80d35b8, method_signature = 0x8c0a790, current_klass = CLASS, check_access = false, __the_thread__ = 0x807b800), line 355 in "linkResolver.cpp" [9] LinkResolver::linktime_resolve_virtual_method(resolved_method = CLASS, resolved_klass = CLASS, method_name = 0x80d35b8, method_signature = 0x8c0a790, current_klass = CLASS, check_access = false, __the_thread__ = 0x807b800), line 769 in "linkResolver.cpp" [10] LinkResolver::resolve_virtual_call(result = CLASS, recv = CLASS, receiver_klass = CLASS, resolved_klass = CLASS, method_name = 0x80d35b8, method_signature = 0x8c0a790, current_klass = CLASS, check_access = false, check_null_and_abstract = false, __the_thread__ = 0x807b800), line 760 in "linkResolver.cpp" [11] MethodHandles::resolve_MemberName(mname = CLASS, __the_thread__ = 0x807b800), line 668 in "methodHandles.cpp" [12] MHN_resolve_Mem(env = 0x807b93c, igcls = 0xfd75e4a0, mname_jh = 0xfd75e4ac, caller_jh = (nil)), line 3036 in "methodHandles.cpp" [13] 0xfa60d488(0xe61719f0, 0xfa60a1f9, 0x0, 0xe55ee388, 0xfd75e4b0, 0xb663bb9d), at 0xfa60d488 [14] 0xfa6035bb(0x0, 0x0, 0x0, 0x0, 0x0, 0x1), at 0xfa6035bb [15] 0xfa603347(0xe55ee388, 0x0, 0x1, 0xe55ee368, 0xe6259e68, 0xfd75e534), at 0xfa603347 [16] 0xfa603428(0x0, 0x0, 0xe6277308, 0x0, 0x1, 0xe55ee368), at 0xfa603428 [17] 0xfa603428(0x0, 0x0, 0xe6176040, 0xe55e6020, 0xe6160580, 0xe6176dc8), at 0xfa603428 [18] 0xfa603428(0x0, 0xe6176040, 0xe55e6020, 0xe6160580, 0xe6176dc8, 0xfd75e5f4), at 0xfa603428 [19] 0xfa603428(0x0, 0x0, 0xe55e6020, 0xe55eda20, 0xfd75e62c, 0xb663669e), at 0xfa603428 [20] 0xfa603428(0x0, 0xe55eda20, 0xfd75e65c, 0xb66580d4, 0xfd75e684, 0xb6659698), at 0xfa603428 [21] 0xfa603428(0xe6176040, 0xfd75e688, 0xb6653750, 0xfd75e6c4, 0xb66565a0, 0x0), at 0xfa603428 [22] 0xfa603428(0x0, 0x0, 0x0, 0xe55ee340, 0xe6176040, 0xe55ed9d8), at 0xfa603428 [23] 0xfa603428(0x0, 0x0, 0xe55ed9d8, 0xe55ed9d8, 0xfd75e700, 0xb6653064), at 0xfa603428 [24] 0xfa603428(0x4, 0x4, 0xe55ede28, 0xe55ec068, 0xe6176040, 0xe55ed8a8), at 0xfa603428 [25] 0xfa6035bb(0xe55ec068, 0xe6176040, 0xe55ed8a8, 0xe55ed8f8, 0x999999, 0x999999), at 0xfa6035bb [26] 0xfa603428(0xe614af10, 0xe55ec068, 0x0, 0x0, 0xe55ed8f8, 0xe55de460), at 0xfa603428 [27] 0xfa603428(0x11b, 0xe55ed888, 0xe55ec068, 0xe6176040, 0xe55ed8a8, 0xe55e58a0), at 0xfa603428 [28] 0xfa600431(0xfd75e8a0, 0xfd75e9f8, 0xa, 0xb64456c8, 0xfa60b7e0, 0xfd75ea1c, 0x6, 0x807b800, 0x0, 0x0), at 0xfa600431 [29] JavaCalls::call_helper(result = 0xfd75e9f4, m = 0xfd75e970, args = 0xfd75ea14, __the_thread__ = 0x807b800), line 403 in "javaCalls.cpp" [30] os::os_exception_wrapper(f = 0xfe174460 = &JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*), value = 0xfd75e9f4, method = 0xfd75e970, args = 0xfd75ea14, thread = 0x807b800), line 4217 in "os_solaris.cpp" [31] JavaCalls::call(result = 0xfd75e9f4, method = CLASS, args = 0xfd75ea14, __the_thread__ = 0x807b800), line 317 in "javaCalls.cpp" [32] JavaCalls::call_static(result = 0xfd75e9f4, klass = CLASS, name = 0x80d45d8, signature = 0x80d4630, args = 0xfd75ea14, __the_thread__ = 0x807b800), line 283 in "javaCalls.cpp" [33] SystemDictionary::make_dynamic_call_site(bootstrap_method = CLASS, name = 0x8bea290, signature_invoker = CLASS, info = CLASS, caller_method = CLASS, caller_bci = 283, __the_thread__ = 0x807b800), line 2543 in "systemDictionary.cpp" [34] InterpreterRuntime::resolve_invokedynamic(thread = 0x807b800), line 810 in "interpreterRuntime.cpp" [35] 0xfa617b8d(0xe55ebad8, 0x0, 0xe55e54e0, 0xe6177468, 0xe55e3a40, 0x999999), at 0xfa617b8d [36] 0xfa603428(0x0, 0x0, 0xe55e54e0, 0xe55e3a40, 0xe6154760, 0xe6154670), at 0xfa603428 [37] 0xfa603428(0xe615cbc0, 0xe61544e8, 0xfd75ec50, 0xb65bfdd8, 0xfd75eca0, 0xb65c01d0), at 0xfa603428 [38] 0xfa603428(0xe61544e8, 0xe61547f0, 0xe615cbc0, 0x0, 0x1, 0x1), at 0xfa603428 [39] 0xfa600431(0xfd75ed24, 0xfd75ef10, 0xa, 0xb65bfeb0, 0xfa60b7e0, 0xfd75ee48, 0x1, 0x807b800, 0x0, 0x0), at 0xfa600431 [40] JavaCalls::call_helper(result = 0xfd75ef0c, m = 0xfd75edf4, args = 0xfd75ee40, __the_thread__ = 0x807b800), line 403 in "javaCalls.cpp" [41] os::os_exception_wrapper(f = 0xfe174460 = &JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*), value = 0xfd75ef0c, method = 0xfd75edf4, args = 0xfd75ee40, thread = 0x807b800), line 4217 in "os_solaris.cpp" [42] JavaCalls::call(result = 0xfd75ef0c, method = CLASS, args = 0xfd75ee40, __the_thread__ = 0x807b800), line 317 in "javaCalls.cpp" [43] jni_invoke_static(env = 0x807b93c, result = 0xfd75ef0c, receiver = (nil), call_type = JNI_STATIC, method_id = 0x818ec4c, args = 0xfd75eee8, __the_thread__ = 0x807b800), line 1073 in "jni.cpp" [44] jni_CallStaticVoidMethod(env = 0x807b93c, cls = 0x807cf58, methodID = 0x818ec4c, ...), line 1642 in "jni.cpp" [45] JavaMain(0x8047600), at 0xfef72c86 [46] _thr_setup(0xfd6f0200), at 0xfeec71d0 [47] _lwp_start(0xfd75de9c, 0xfec1f940, 0xfe5540ef, 0xfec8e6d0, 0x807b4f0, 0x807bcf8), at 0xfeec74c0 (dbx) p ps() "Executing ps" for thread: "main" prio=3 tid=0x0807b800 nid=0x2 runnable [0xfd75e000] java.lang.Thread.State: RUNNABLE JavaThread state: _thread_in_vm Thread: 0x0807b800 [0x 2] State: _running _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_in_vm 1 - frame( sp=0xfd75e460, unextended_sp=0xfd75e460, fp=0xfd75e498, pc=0xfa60d446) java.lang.invoke.MethodHandleNatives.resolve(Native Method) 2 - frame( sp=0xfd75e4a0, unextended_sp=0xfd75e4a8, fp=0xfd75e4d0, pc=0xfa6035bb) java.lang.invoke.MemberName$Factory.resolveInPlace(MemberName.java:618) 3 - frame( sp=0xfd75e4d8, unextended_sp=0xfd75e4e8, fp=0xfd75e518, pc=0xfa603347) java.lang.invoke.MemberName$Factory.resolveOrNull(MemberName.java:636) 4 - frame( sp=0xfd75e520, unextended_sp=0xfd75e524, fp=0xfd75e554, pc=0xfa603428) java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:651) 5 - frame( sp=0xfd75e55c, unextended_sp=0xfd75e564, fp=0xfd75e598, pc=0xfa603428) java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:1068) 6 - frame( sp=0xfd75e5a0, unextended_sp=0xfd75e5a4, fp=0xfd75e5d8, pc=0xfa603428) java.lang.invoke.MethodHandles$Lookup.findVirtual(MethodHandles.java:635) 7 - frame( sp=0xfd75e5e0, unextended_sp=0xfd75e5e4, fp=0xfd75e614, pc=0xfa603428) java.lang.invoke.Invokers.lookupInvoker(Invokers.java:89) 8 - frame( sp=0xfd75e61c, unextended_sp=0xfd75e624, fp=0xfd75e64c, pc=0xfa603428) java.lang.invoke.Invokers.exactInvoker(Invokers.java:73) 9 - frame( sp=0xfd75e654, unextended_sp=0xfd75e658, fp=0xfd75e67c, pc=0xfa603428) java.lang.invoke.MethodHandles.exactInvoker(MethodHandles.java:1371) 10 - frame( sp=0xfd75e684, unextended_sp=0xfd75e684, fp=0xfd75e6a8, pc=0xfa603428) seph.lang.compiler.SephCallSite.computeRegularMessage(SephCallSite.java:229) 11 - frame( sp=0xfd75e6b0, unextended_sp=0xfd75e6c0, fp=0xfd75e6e8, pc=0xfa603428) seph.lang.compiler.SephCallSite.computeSlowPath(SephCallSite.java:318) 12 - frame( sp=0xfd75e6f0, unextended_sp=0xfd75e6f8, fp=0xfd75e720, pc=0xfa603428) seph.lang.compiler.SephCallSite.<init>(SephCallSite.java:125) 13 - frame( sp=0xfd75e728, unextended_sp=0xfd75e734, fp=0xfd75e76c, pc=0xfa6035bb) seph.lang.compiler.SephCallSite.bootstrap(SephCallSite.java:40) 14 - frame( sp=0xfd75e774, unextended_sp=0xfd75e77c, fp=0xfd75e7b0, pc=0xfa603428) java.lang.invoke.CallSite.makeSite(CallSite.java:306) 15 - frame( sp=0xfd75e7b8, unextended_sp=0xfd75e7d0, fp=0xfd75e808, pc=0xfa603428) java.lang.invoke.MethodHandleNatives.makeDynamicCallSite(MethodHandleNatives.java:305) C frame (sp=0xfd75e810 unextended sp=0xfd75e810, fp=0xfd75e838, pc=0xfa600431) (~Stub::call_stub) BufferBlob (0xfa600308) used for StubRoutines (1) 16 - frame( sp=0xfd75eb74, unextended_sp=0xfd75eb74, fp=0xfd75ebb0, pc=0xfa617b48) seph$gen$abstraction$0$toplevel.toplevel(bench/bench_arithmetic.sp:114) 17 - frame( sp=0xfd75ebb8, unextended_sp=0xfd75ebc0, fp=0xfd75ebf0, pc=0xfa603428) seph.lang.Runtime.evaluateStream(Runtime.java:90) 18 - frame( sp=0xfd75ebf8, unextended_sp=0xfd75ec14, fp=0xfd75ec40, pc=0xfa603428) seph.lang.Runtime.evaluateFile(Runtime.java:107) 19 - frame( sp=0xfd75ec48, unextended_sp=0xfd75ec48, fp=0xfd75ec70, pc=0xfa603428) seph.lang.Main.main(Main.java:93) ps() = (void) (dbx) fr 1 Current function is SystemDictionary::handle_resolution_exception 174 THROW_MSG_0(vmSymbols::java_lang_NoClassDefFoundError(), class_name->as_C_string()); (dbx) p class_loader class_loader = { _handle = (nil) } (dbx) p protection_domain protection_domain = { _handle = (nil) } (dbx)
22-09-2011

WORK AROUND Put seph.jar on the boot class path.
22-09-2011