harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rana Dasgupta" <rdasg...@gmail.com>
Subject Re: [drlvm] If method throws exception after monitorenter, JIT does not release the lock
Date Thu, 25 Jan 2007 22:35:19 GMT
I am not sure if this is a problem. Would you expect the jit to generate the
finally code, reject the method, or what?

On 1/25/07, Shipilov, Alexander D <alexander.d.shipilov@intel.com> wrote:
>
> Hello, folks,
>
> Could you, please clarify one issue.
> The problem has described in JIRA
> https://issues.apache.org/jira/browse/HARMONY-2504.
>
> Thread makes monitorenter, and throws exception (NPE) to the output.
> JASMIN code:
>        .method public run()V
>           .limit stack 3
>           .limit locals 3
>
>           getstatic Test/testField Ljava/lang/Object;
>           monitorenter
>
>           new java/lang/NullPointerException
>           dup
>           invokespecial java/lang/NullPointerException/<init>()V
>           athrow
>
>           getstatic Test/testField Ljava/lang/Object;
>           monitorexit
>
>           return
>        .end method
>
> Then other thread tries to get a lock. Deadlock occurs on Harmony.
> Does this behavior is correct?
>
> Thanks,
> Alexander Shipilov
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message