harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Ozhdikhin (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-3079) [dlrvm][classloader][opt] Opt does not handle exception raised by classloader (assertion fails classloader.cpp:1521)
Date Wed, 07 Feb 2007 11:03:05 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-3079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12470906
] 

Pavel Ozhdikhin commented on HARMONY-3079:
------------------------------------------

It looks like "build ehwa.test" fails on DRLVM built in debug mode (-Xem:opt) because of the
same reason.

The stack trace is following:

harmonyvm.dll!_assert(const char * expr=0x00789920, const char * filename=0x007898c8, unsigned
int lineno=1526)  Line 295	C
harmonyvm.dll!UserDefinedClassLoader::DoLoadClass(Global_Env * env=0x01263840, const String
* className=0x047aa734)  Line 1526 + 0x20 C++
harmonyvm.dll!ClassLoader::LoadClass(Global_Env * env=0x01263840, const String * className=0x047aa734)
 Line 1472 + 0x15	C++
harmonyvm.dll!TypeDesc::load_type_desc()  Line 135 + 0x16	C++
harmonyvm.dll!type_info_get_class(TypeDesc * tih=0x048444b8)  Line 2027 + 0x8	C++
jitrino.dll!Jitrino::DrlVMCompilationInterface::getTypeFromDrlVMTypeHandle(TypeDesc * typeHandle=0x048444b8,
bool isManagedPointer=false)  Line 530 + 0x9	C++
jitrino.dll!Jitrino::DrlVMMethodSignatureDesc::getReturnType()  Line 340 + 0xe	C++
jitrino.dll!Jitrino::JavaByteCodeTranslator::initArgs()  Line 456	C++
jitrino.dll!Jitrino::JavaByteCodeTranslator::JavaByteCodeTranslator(Jitrino::CompilationInterface
& ci={...}, Jitrino::MemoryManager & mm={...}, Jitrino::IRBuilder & irb={...},
Jitrino::ByteCodeParser & bcp={...}, Jitrino::MethodDesc & methodDesc={...}, Jitrino::TypeManager
& typeManager={...}, Jitrino::JavaFlowGraphBuilder & cfg={...})  Line 239	C++
jitrino.dll!Jitrino::JavaTranslator::translateMethod(Jitrino::CompilationInterface & ci={...},
Jitrino::MethodDesc & methodDesc={...}, Jitrino::IRBuilder & irBuilder={...})  Line
58	C++
jitrino.dll!Jitrino::TranslatorSession::translate()  Line 62 + 0xb	C++
jitrino.dll!Jitrino::TranslatorSession::run()  Line 45	C++
jitrino.dll!Jitrino::runPipeline(Jitrino::CompilationContext * c=0x0013e0dc)  Line 227	C++
jitrino.dll!Jitrino::compileMethod(Jitrino::CompilationContext * cc=0x0013e0dc)  Line 264
C++
jitrino.dll!Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext * cc=0x0013e0dc) 
Line 286 + 0x6	C++
jitrino.dll!JIT_compile_method_with_params(void * jit=0x012c6b68, void * compilation=0x0013e38c,
Method * method_handle=0x04bd3140, OpenMethodExecutionParams compilation_params={...})  Line
278 + 0xa	C++
harmonyvm.dll!Dll_JIT::compile_method_with_params(void * compilation=0x0013e38c, Method *
method=0x04bd3140, OpenMethodExecutionParams flags={...})  Line 86 + 0x18	C++
harmonyvm.dll!compile_do_compilation_jit(Method * method=0x04bd3140, JIT * jit=0x012c6b68)
 Line 645 + 0x19	C++
harmonyvm.dll!vm_compile_method(void * jit=0x012c6b68, Method * method=0x04bd3140)  Line 2468
+ 0xd	C++
em.dll!DrlEMImpl::compileMethod(Method * mh=0x04bd3140)  Line 546 + 0x13	C++
em.dll!CompileMethod(Method * method_handle=0x04bd3140)  Line 49 + 0x19	C++
harmonyvm.dll!compile_do_compilation(Method * method=0x04bd3140)  Line 753 + 0x15	C++
harmonyvm.dll!compile_me(Method * method=0x04bd3140)  Line 773 + 0x9	C++
 	01360162()	
harmonyvm.dll!rth_aastore_test(ManagedObject * elem=0x12cd9a34, void * array=0x0553e250) 
Line 571 + 0x17	C++
harmonyvm.dll!Class::helper_get_interface_vtable(ManagedObject * obj=0x1133a2f0, Class * iid=0x12cd9a34)
 Line 514 + 0xa	C++
 	1122c968()	
harmonyvm.dll!rth_type_test_update_stats(VTable * sub=0x12cd4834, Class * super=0x01360169)
 Line 361 + 0xb	C++
harmonyvm.dll!m2n_free_local_handles()  Line 268 + 0xa	C++


> [dlrvm][classloader][opt] Opt does not handle exception raised by classloader (assertion
fails classloader.cpp:1521)
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3079
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3079
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Win IA32, OPT
>            Reporter: Aleksey Ignatenko
>         Attachments: test.zip
>
>
> Assertion failed - classloader.cpp:1521 on EUT jdtdebug suit. 
> Testcase:2 methods return the same type, 1-st method calls the 2-nd:
> class A;
> class B{
> static A getA(){return new A();}}
> class C{
> static A getA(){return B.getA();}}
> main: C.getA();
> JIT tries to resolve A class 2 times. If class is not accessable, classloader raises
ClassNotfoundException 1-st time, JIT does not handle it, then when the 2-nd time JIT tries
to resolve the same class VM fails with the assert on loading (because exception was already
raised). 
> The issue here is that  JIT does not handle raised exception by classloader in 1 compilation
session.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message