You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Vera Petrashkova (JIRA)" <ji...@apache.org> on 2006/10/03 07:50:21 UTC

[jira] Updated: (HARMONY-1650) [drlvm][exception handling] enqueuing references, doing finalization, running finalizers can lose a risen exception

     [ http://issues.apache.org/jira/browse/HARMONY-1650?page=all ]

Vera Petrashkova updated HARMONY-1650:
--------------------------------------

    Attachment: testGetMeth.java
                a4.java

To reproduce create testGetMeth, a4 classes and run testGetMeth using junit.jar:
java -cp . :junit.jar junit.textui.TestRunner testGetMeth

Output:
Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
java version "1.5.0" 
pre-alpha : not complete or compatible
svn = rsvn: '.' is not a working copy, (Oct  2 2006), Linux/ia32/gcc 3.3.4, debug build
http://incubator.apache.org/harmony
.+Test failed: Expected error was not thrown:0   stepNumb: 6172 method name: a4.get
 
Time: 0.722
 
OK (1 test)



> [drlvm][exception handling] enqueuing references, doing finalization, running finalizers can lose a risen exception
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-1650
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1650
>             Project: Harmony
>          Issue Type: Bug
>            Reporter: Serguei Zapreyev
>            Priority: Minor
>         Attachments: a4.java, H1650.ex_impl.patch, lin.log, testGetMeth.java, win.log
>
>
> Memory allocation within VM causes irregularly enqueuing references, doing finalization, running 
> finalizers. These processes lead to losing an exception risen within a java programm executed by VM. 
> Please look at the following stack:
> 	harmonyvm.dll!exn_clear()  Line 113	C++
>  	harmonyvm.dll!Objects_To_Finalize::run_finalizers()  Line 343	C++
>  	harmonyvm.dll!vm_run_pending_finalizers()  Line 472	C++
>  	harmonyvm.dll!vm_hint_finalize()  Line 193	C++
>  	gc.dll!gc_alloc(unsigned int in_size=0x0000000c, unsigned int ah=0x013c1f40, void * thread_pointer=0x0102d1e8)  Line 243 + 0x8	C++
> <<<...>>>
> or at the following:
>  	vmcore.dll!exn_clear()  Line 106	C++
>  	vmcore.dll!References_To_Enqueue::enqueue_references()  Line 453 + 0x5	C++
>  	vmcore.dll!vm_enqueue_references()  Line 516	C++
>  	vmcore.dll!vm_hint_finalize()  Line 192	C++
>  	gc.dll!Garbage_Collector::check_hint_to_finalize()  Line 208 + 0xc	C++
>  	gc.dll!gc_alloc(unsigned int size=0x0000000c, unsigned int ah=0x00d71b90, void * tp=0x003be070)  Line 961	C++
> <<<...>>>
> So, this intricated enough bug leads to instability of VM's behaviour.
> I'm going to attach the fix of the issue.
> The detecting test will be attached as well.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira