You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Pavel Ozhdikhin (JIRA)" <ji...@apache.org> on 2007/05/30 08:06:16 UTC
[jira] Commented: (HARMONY-3349) [drlvm][jit][opt]
FinalizerThread.startFinalization() does not run for finalizer threads.
[ https://issues.apache.org/jira/browse/HARMONY-3349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12500036 ]
Pavel Ozhdikhin commented on HARMONY-3349:
------------------------------------------
This might be caused by a bug in the scalar replacement optimization which erroneously removed unused objects with finalizers. The problem was fixed in HARMONY-3984, need to check if reproducible with that patch.
> [drlvm][jit][opt] FinalizerThread.startFinalization() does not run for finalizer threads.
> -----------------------------------------------------------------------------------------
>
> Key: HARMONY-3349
> URL: https://issues.apache.org/jira/browse/HARMONY-3349
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Elena Semukhina
>
> Here is a test which fails in OPT mode while passes in JET.
> It is the simplified gc.Finalizer test:
> public class Finalizer {
> static volatile boolean passed = false;
> public static void main (String[] args) {
> new Finalizer();
> int n = 10;
> while (!passed && --n >= 0) {
> System.gc();
> try { Thread.sleep(1000); } catch (InterruptedException e) {}
> }
> if (passed) {
> System.out.println("PASSED");
> } else {
> System.out.println("FAILED");
> }
> }
> public void finalize () {
> System.out.println("finalizer is being run");
> passed = true;
> }
> }
> It seems that FinalizerThread objects don't run their startFinalization() methods.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.