Elena Semukhina wrote:
> Hello,
>
> yesterday I enabled a kernel test which silently exited at the beginning
> and
> did not do any job actually. Now it works according to its idea and crashes
> as follows.
>
> java:
> /nfs/ins/proj/drl/coreapi/esemukhi/svn/drlvm/trunk/vm/vmcore/src/exception/exceptions.cpp:214:
>
> void exn_throw_object(_jobject*): Assertion `is_unwindable()' failed.
> SIGABRT in VM code.
>
> The test fails on both linux and windows in JIT mode.
>
> I'm not sure whether this is caused by some recent commits or existed for a
> long time.
> Please see the details at
> https://issues.apache.org/jira/browse/HARMONY-3510
I hope to have fixed this at 523276. The bug was with exception message.
It was allocated with alloca, so when function exited, memory pointer in
TLS pointed to a corrupted string. Since string was corrupted, it wasn't
possible to create an exception message String object, and exceptions
code tried to throw OOME in non-unwindable code.
The fix is to raise OOME object instead, and exception message allocated
with alloca should be copied before function exits.
Let me know if the bug remains.
--
Gregory
|