JDK-7093796 : JSR 292: Rtalk test case fails with: NoClassDefFoundError: ri/core/rtalk/RtObject
  • 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
http://mail.openjdk.java.net/pipermail/mlvm-dev/2011-August/003797.html

Running an Rtalk test case with the runtime on the class path results in NCDFEs:

$ java -cp RtalkTest.jar ri/experiment2/RtalkTest
...
java.lang.NoClassDefFoundError: ri/core/rtalk/RtObject
java.lang.NoClassDefFoundError: ri/core/rtalk/RtObject
        at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java)
        at rtPbc.r175.invoke(Integer riBase64StringPaddedTo::99)
        at rtPbc.r174.invoke(String riListHeader::16)
        at rtPbc.r170.invoke(String riListStringTag::31)
        at rtPbc.r161.invoke(RiRmtViewCode viewerDefBrowserOn::241)
        at rtPbc.r147.invoke(RiRmtViewCode subscribe::53)
        at rtPbc.r146.invoke(RiRmtViewCode handleSystemMessage::28)
        at rtPbc.r85.block$3(RiSystemMessageManager handleMessage::78)
        at ri.core.rtalk.RtPrimitives.primBlockInvokeWith(RtPrimitives.java:1172)
        at rtPbc.r46.invoke(RtBlock1Arg value:)
        at rtPbc.r45.invoke(OrderedCollection do::14)
        at rtPbc.r85.invoke(RiSystemMessageManager handleMessage::85)
        at rtPbc.r5.invoke(RiSystemMessageManager class receiveMessage::10)
        at ri.core.rtalk.RtCallSite.sendSmToRtalk(RtCallSite.java:456)
        at ri.experiment2.RtalkTest.testSM(RtalkTest.java:197)
        at ri.experiment2.RtalkTest.testImageLoadFile(RtalkTest.java:138)
        at ri.experiment2.RtalkTest.main(RtalkTest.java:25)
...

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 = 0x8347d90, 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 = 0x8347d90, class_loader = CLASS, protection_domain = CLASS, throw_error = true, __the_thread__ = 0x807b800), line 149 in "systemDictionary.cpp" [3] SignatureStream::as_klass(this = 0xfd75d7c0, class_loader = CLASS, protection_domain = CLASS, failure_mode = NCDFError, __the_thread__ = 0x807b800), line 347 in "signature.cpp" [4] SignatureStream::as_java_mirror(this = 0xfd75d7c0, class_loader = CLASS, protection_domain = CLASS, failure_mode = NCDFError, __the_thread__ = 0x807b800), line 355 in "signature.cpp" [5] SystemDictionary::find_method_handle_type(signature = 0x8348be8, 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 = 0x80d3558, signature = 0x8348be8, accessing_klass = CLASS, __the_thread__ = 0x807b800), line 2352 in "systemDictionary.cpp" [7] LinkResolver::lookup_implicit_method(result = CLASS, klass = CLASS, name = 0x80d3558, signature = 0x8348be8, current_klass = CLASS, __the_thread__ = 0x807b800), line 231 in "linkResolver.cpp" [8] LinkResolver::resolve_method(resolved_method = CLASS, resolved_klass = CLASS, method_name = 0x80d3558, method_signature = 0x8348be8, current_klass = CLASS, check_access = true, __the_thread__ = 0x807b800), line 355 in "linkResolver.cpp" [9] LinkResolver::linktime_resolve_special_method(resolved_method = CLASS, resolved_klass = CLASS, method_name = 0x80d3558, method_signature = 0x8348be8, current_klass = CLASS, check_access = true, __the_thread__ = 0x807b800), line 669 in "linkResolver.cpp" [10] LinkResolver::resolve_special_call(result = CLASS, resolved_klass = CLASS, method_name = 0x80d3558, method_signature = 0x8348be8, current_klass = CLASS, check_access = true, __the_thread__ = 0x807b800), line 660 in "linkResolver.cpp" [11] LinkResolver::resolve_invokespecial(result = CLASS, pool = CLASS, index = 65538, __the_thread__ = 0x807b800), line 1087 in "linkResolver.cpp" [12] LinkResolver::resolve_invoke(result = CLASS, recv = CLASS, pool = CLASS, index = 65538, byte = _invokespecial, __the_thread__ = 0x807b800), line 1051 in "linkResolver.cpp" [13] SharedRuntime::find_callee_info_helper(thread = 0x807b800, vfst = CLASS, bc = _invokespecial, callinfo = CLASS, __the_thread__ = 0x807b800), line 1048 in "sharedRuntime.cpp" [14] SharedRuntime::find_callee_info(thread = 0x807b800, bc = _invokespecial, callinfo = CLASS, __the_thread__ = 0x807b800), line 999 in "sharedRuntime.cpp" [15] SharedRuntime::resolve_sub_helper(thread = 0x807b800, is_virtual = true, is_optimized = true, __the_thread__ = 0x807b800), line 1153 in "sharedRuntime.cpp" [16] SharedRuntime::resolve_helper(thread = 0x807b800, is_virtual = true, is_optimized = true, __the_thread__ = 0x807b800), line 1106 in "sharedRuntime.cpp" [17] SharedRuntime::resolve_opt_virtual_call_C(thread = 0x807b800), line 1357 in "sharedRuntime.cpp" [18] 0xfa6ab2a5(0xeda98740, 0x0, 0x1, 0xfa706040, 0xe9343138, 0xeda98700), at 0xfa6ab2a5 [19] 0xfa7c62d0(0x1, 0xfa706040, 0xe9343138, 0xeda98700, 0xe9361218, 0xeda986e0), at 0xfa7c62d0 (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=0xfd75e420, unextended_sp=0xfd75e420, fp=0xfd75e420, pc=0xfa7c62d0) java.lang.invoke.MethodHandle.invokeExact 2 - frame( sp=0xfd75e420, unextended_sp=0xfd75e420, fp=0xfd75e420, pc=0xfa7c62d0) rtPbc.r213.invoke(String riBase64Integer:67) 3 - frame( sp=0xfd75e470, unextended_sp=0xfd75e470, fp=0xfd75e4a0, pc=0xfa6039a6) rtPbc.r172.invoke(String riListHeader:17) 4 - frame( sp=0xfd75e4a8, unextended_sp=0xfd75e4b0, fp=0xfd75e4d4, pc=0xfa6039a6) rtPbc.r212.invoke(String riListStringColor::19) 5 - frame( sp=0xfd75e4dc, unextended_sp=0xfd75e4f0, fp=0xfd75e51c, pc=0xfa6039a6) rtPbc.r204.block$1(RiRmtViewCode addClasses:toList:indent::31) 6 - frame( sp=0xfd75e524, unextended_sp=0xfd75e540, fp=0xfd75e540, pc=0xfa74f8b0) ri.core.rtalk.RtPrimitives.primBlockInvokeWith(RtPrimitives.java:1172) 7 - frame( sp=0xfd75e524, unextended_sp=0xfd75e540, fp=0xfd75e540, pc=0xfa74f8b0) rtPbc.r46.invoke 8 - frame( sp=0xfd75e570, unextended_sp=0xfd75e570, fp=0xfd75e5a4, pc=0xfa6039a6) rtPbc.r45.invoke(OrderedCollection do::14) 9 - frame( sp=0xfd75e5ac, unextended_sp=0xfd75e5bc, fp=0xfd75e5e4, pc=0xfa6039a6) rtPbc.r204.invoke(RiRmtViewCode addClasses:toList:indent::73) 10 - frame( sp=0xfd75e5ec, unextended_sp=0xfd75e5f8, fp=0xfd75e62c, pc=0xfa6039a6) rtPbc.r204.block$1(RiRmtViewCode addClasses:toList:indent::47) 11 - frame( sp=0xfd75e634, unextended_sp=0xfd75e650, fp=0xfd75e650, pc=0xfa74f8b0) ri.core.rtalk.RtPrimitives.primBlockInvokeWith(RtPrimitives.java:1172) 12 - frame( sp=0xfd75e634, unextended_sp=0xfd75e650, fp=0xfd75e650, pc=0xfa74f8b0) rtPbc.r46.invoke 13 - frame( sp=0xfd75e680, unextended_sp=0xfd75e680, fp=0xfd75e6b4, pc=0xfa6039a6) rtPbc.r45.invoke(OrderedCollection do::14) 14 - frame( sp=0xfd75e6bc, unextended_sp=0xfd75e6cc, fp=0xfd75e6f4, pc=0xfa6039a6) rtPbc.r204.invoke(RiRmtViewCode addClasses:toList:indent::73) 15 - frame( sp=0xfd75e6fc, unextended_sp=0xfd75e708, fp=0xfd75e73c, pc=0xfa6039a6) rtPbc.r204.block$1(RiRmtViewCode addClasses:toList:indent::47) 16 - frame( sp=0xfd75e744, unextended_sp=0xfd75e760, fp=0xfd75e760, pc=0xfa74f8b0) ri.core.rtalk.RtPrimitives.primBlockInvokeWith(RtPrimitives.java:1172) 17 - frame( sp=0xfd75e744, unextended_sp=0xfd75e760, fp=0xfd75e760, pc=0xfa74f8b0) rtPbc.r46.invoke 18 - frame( sp=0xfd75e790, unextended_sp=0xfd75e790, fp=0xfd75e7c4, pc=0xfa6039a6) rtPbc.r45.invoke(OrderedCollection do::14) 19 - frame( sp=0xfd75e7cc, unextended_sp=0xfd75e7dc, fp=0xfd75e804, pc=0xfa6039a6) rtPbc.r204.invoke(RiRmtViewCode addClasses:toList:indent::73) 20 - frame( sp=0xfd75e80c, unextended_sp=0xfd75e818, fp=0xfd75e84c, pc=0xfa6039a6) rtPbc.r204.block$1(RiRmtViewCode addClasses:toList:indent::47) 21 - frame( sp=0xfd75e854, unextended_sp=0xfd75e870, fp=0xfd75e870, pc=0xfa74f8b0) ri.core.rtalk.RtPrimitives.primBlockInvokeWith(RtPrimitives.java:1172) 22 - frame( sp=0xfd75e854, unextended_sp=0xfd75e870, fp=0xfd75e870, pc=0xfa74f8b0) rtPbc.r46.invoke 23 - frame( sp=0xfd75e8a0, unextended_sp=0xfd75e8a0, fp=0xfd75e8d4, pc=0xfa6039a6) rtPbc.r45.invoke(OrderedCollection do::14) 24 - frame( sp=0xfd75e8dc, unextended_sp=0xfd75e8ec, fp=0xfd75e914, pc=0xfa6039a6) rtPbc.r204.invoke(RiRmtViewCode addClasses:toList:indent::73) 25 - frame( sp=0xfd75e91c, unextended_sp=0xfd75e928, fp=0xfd75e958, pc=0xfa6039a6) rtPbc.r184.invoke(RiRmtViewCode classList:48) 26 - frame( sp=0xfd75e960, unextended_sp=0xfd75e96c, fp=0xfd75e994, pc=0xfa6039a6) rtPbc.r161.invoke(RiRmtViewCode viewerDefBrowserOn::501) 27 - frame( sp=0xfd75e99c, unextended_sp=0xfd75e9bc, fp=0xfd75e9e4, pc=0xfa6039a6) rtPbc.r147.invoke(RiRmtViewCode subscribe::53) 28 - frame( sp=0xfd75e9ec, unextended_sp=0xfd75ea0c, fp=0xfd75ea34, pc=0xfa6039a6) rtPbc.r146.invoke(RiRmtViewCode handleSystemMessage::28) 29 - frame( sp=0xfd75ea3c, unextended_sp=0xfd75ea6c, fp=0xfd75ea94, pc=0xfa6039a6) rtPbc.r85.block$3(RiSystemMessageManager handleMessage::78) 30 - frame( sp=0xfd75ea9c, unextended_sp=0xfd75eab0, fp=0xfd75eab0, pc=0xfa74f8b0) ri.core.rtalk.RtPrimitives.primBlockInvokeWith(RtPrimitives.java:1172) 31 - frame( sp=0xfd75ea9c, unextended_sp=0xfd75eab0, fp=0xfd75eab0, pc=0xfa74f8b0) rtPbc.r46.invoke 32 - frame( sp=0xfd75eae0, unextended_sp=0xfd75eae0, fp=0xfd75eb1c, pc=0xfa6039a6) rtPbc.r45.invoke(OrderedCollection do::14) 33 - frame( sp=0xfd75eb24, unextended_sp=0xfd75eb34, fp=0xfd75eb5c, pc=0xfa6039a6) rtPbc.r85.invoke(RiSystemMessageManager handleMessage::85) 34 - frame( sp=0xfd75eb64, unextended_sp=0xfd75eb70, fp=0xfd75eb98, pc=0xfa6039a6) rtPbc.r5.invoke(RiSystemMessageManager class receiveMessage::10) 35 - frame( sp=0xfd75eba0, unextended_sp=0xfd75ebac, fp=0xfd75ebd8, pc=0xfa603428) ri.core.rtalk.RtCallSite.sendSmToRtalk(RtCallSite.java:456) 36 - frame( sp=0xfd75ebe0, unextended_sp=0xfd75ebf0, fp=0xfd75ec14, pc=0xfa603347) ri.experiment2.RtalkTest.testSM(RtalkTest.java:197) 37 - frame( sp=0xfd75ec1c, unextended_sp=0xfd75ec48, fp=0xfd75ec68, pc=0xfa6035bb) ri.experiment2.RtalkTest.testImageLoadFile(RtalkTest.java:138) 38 - frame( sp=0xfd75ec70, unextended_sp=0xfd75ec78, fp=0xfd75ec98, pc=0xfa6035bb) ri.experiment2.RtalkTest.main(RtalkTest.java:25) 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 RtalkTest.jar on the boot class path.
22-09-2011