harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vera Petrashkova (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-1650) [drlvm][exception handling] enqueuing references, doing finalization, running finalizers can lose a risen exception
Date Wed, 18 Oct 2006 04:54:55 GMT
     [ http://issues.apache.org/jira/browse/HARMONY-1650?page=all ]

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

    Attachment: testGetMeth1.java

Here is output of the testGetMeth running on Ubuntu.

I used drl_20061016_lnx_ia32_0002_gcc_r_H build:

java -cp .:junit.jar junit.textui.TestRunner testGetMeth


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 = r463908, (Oct 16 2006), Linux/ia32/gcc 3.3.3, release build
http://incubator.apache.org/harmony
.+Test failed: Expected error was not thrown:0   stepNumb: 15226 method name: a4.get
 
Time: 1.114
 
OK (1 test)


This test repots that is "failed". 
I think that the message "OK" is wrong and confused.

So I attached new testGetMeth1 which does not print "Test passed"/"Test failed" messages and
in 
invokes method fail(...).

See output of this new test:

java -cp .:junit.jar junit.textui.TestRunner testGetMeth1


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 = r463908, (Oct 16 2006), Linux/ia32/gcc 3.3.3, release build
http://incubator.apache.org/harmony
.+junit.framework.AssertionFailedError: Test failed: Expected error was not thrown:0   stepNumb:
15226 method name: a4.get
        at java.lang.Error.<init>(Error.java:50)
        at junit.framework.AssertionFailedError.<init>(AssertionFailedError.java:12)
        at junit.framework.Assert.fail(Assert.java:47)
        at testGetMeth1.testGet(testGetMeth1.java:25)
        at java.lang.reflect.VMReflection.invokeMethod(Native Method)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at junit.framework.TestCase.runTest(TestCase.java:154)
        at junit.framework.TestCase.runBare(TestCase.java:125)
        at junit.framework.TestResult$1.protect(TestResult.java:107)
        at junit.framework.TestResult.runProtected(TestResult.java:135)
        at junit.framework.TestResult.run(TestResult.java:104)
        at junit.framework.TestCase.run(TestCase.java:119)
        at junit.framework.TestSuite.runTest(TestSuite.java:209)
        at junit.framework.TestSuite.run(TestSuite.java:202)
        at junit.textui.TestRunner.doRun(TestRunner.java:115)
        at junit.textui.TestRunner.start(TestRunner.java:171)
        at junit.textui.TestRunner.main(TestRunner.java:136)
F
Time: 1.146
There was 1 failure:
1) testGet(testGetMeth1)junit.framework.AssertionFailedError: Test failed: Unexpected error:
junit.framework.AssertionFailedError: Test failed: Expected error was not thrown:0   stepNumb:
15226 method name: a4.get
        at java.lang.Error.<init>(Error.java:50)
        at junit.framework.AssertionFailedError.<init>(AssertionFailedError.java:12)
        at testGetMeth1.testGet(testGetMeth1.java:32)
        at java.lang.reflect.VMReflection.invokeMethod(Native Method)
 
FAILURES!!!
Tests run: 1,  Failures: 1,  Errors: 0


> [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
>          Components: DRLVM
>            Reporter: Serguei Zapreyev
>            Priority: Minor
>         Attachments: a4.java, H1650.ex_impl.2.patch, H1650.ex_impl.3.patch, H1650.ex_impl.patch,
lin.log, testGetMeth.java, testGetMeth1.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

        

Mime
View raw message