[ https://issues.apache.org/jira/browse/HARMONY-3079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12468511
]
George Timoshenko commented on HARMONY-3079:
--------------------------------------------
There are two attemts to resolve A in one compilation seccion (of C::getA())
(the first - resolving ret type of B::getA at invokestatic of B::getA, the second - when translator
initializes arguments and return types for C::getA)
Jitrino is not supposed to handle exceptions cached in VM. So at the second attempt exn_raized()
== true.
> [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.
|