You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Gregory Shimansky (JIRA)" <ji...@apache.org> on 2007/07/25 13:30:36 UTC

[jira] Created: (HARMONY-4533) [drlvm][jvmti] Failed assertion when running CombinedEventsTest in jdktools

[drlvm][jvmti] Failed assertion when running CombinedEventsTest in jdktools
---------------------------------------------------------------------------

                 Key: HARMONY-4533
                 URL: https://issues.apache.org/jira/browse/HARMONY-4533
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: win32
            Reporter: Gregory Shimansky


When running jdktools tests on debug version of DRLVM the test org.apache.harmony.jpda.tests.jdwp.Events.CombinedEventsTest crashes on a failed assertion. The assertion is somewhere in DRLVM JVMTI single stepping code.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-4533) [drlvm][jvmti] Failed assertion when running CombinedEventsTest in jdktools

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-4533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky updated HARMONY-4533:
---------------------------------------

    Attachment: HARMONY-4533.patch

It appears that almost nothing has to be done in this case. It is just necessary to remove the failing assertion :)

When a method which is being invoked is currently resolved or compiled, it is just enough to set single step state in the target thread, the method would be stepped once it is ready. Attached patch fixes the bug. Once it is tested I'll commit it.

> [drlvm][jvmti] Failed assertion when running CombinedEventsTest in jdktools
> ---------------------------------------------------------------------------
>
>                 Key: HARMONY-4533
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4533
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: win32
>            Reporter: Gregory Shimansky
>         Attachments: HARMONY-4533.patch
>
>
> When running jdktools tests on debug version of DRLVM the test org.apache.harmony.jpda.tests.jdwp.Events.CombinedEventsTest crashes on a failed assertion. The assertion is somewhere in DRLVM JVMTI single stepping code.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-4533) [drlvm][jvmti] Failed assertion when running CombinedEventsTest in jdktools

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-4533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520195 ] 

Gregory Shimansky commented on HARMONY-4533:
--------------------------------------------

I found out the cause of the failed assertion. The reason is that invokevirtual and some other invoke bytecodes have changed when JET got lazy resolution functionality.

One of the threads executes invokevirtual in DataInputStream.readUTF which eventually causes compilation of DataInputStream.readUnsignedShort method. Compilation has a safepoint inside of it, and there it is stopped by suspension.

Another thread which suspended the first, tries to enable single step mode in it. At this moment bytecode analyzer tries to find out which bytecode the 1st thread is executing currently. Bytecode mapping shows that it is invokevirtual. Single step algorithm tries to set a pseudo breakpoint on the call location to find out where exactly the address of called method is. But the problem is that call is already executed (it has caused compilation), and the call instruction cannot be found in the code for invokevirtual bytecode. This is why assertion fails.

It seems that now with lazy resolution all the logic of single step has to be changed to handle such cases where invoked method is not yet resolved.

> [drlvm][jvmti] Failed assertion when running CombinedEventsTest in jdktools
> ---------------------------------------------------------------------------
>
>                 Key: HARMONY-4533
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4533
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: win32
>            Reporter: Gregory Shimansky
>
> When running jdktools tests on debug version of DRLVM the test org.apache.harmony.jpda.tests.jdwp.Events.CombinedEventsTest crashes on a failed assertion. The assertion is somewhere in DRLVM JVMTI single stepping code.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (HARMONY-4533) [drlvm][jvmti] Failed assertion when running CombinedEventsTest in jdktools

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-4533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky closed HARMONY-4533.
--------------------------------------

    Resolution: Fixed

The test passed 60 times for me, it seems that the bug is really fixed now. Patch is applied at 569108. Test is unexcluded at 569111.

> [drlvm][jvmti] Failed assertion when running CombinedEventsTest in jdktools
> ---------------------------------------------------------------------------
>
>                 Key: HARMONY-4533
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4533
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: win32
>            Reporter: Gregory Shimansky
>            Assignee: Gregory Shimansky
>         Attachments: HARMONY-4533.patch
>
>
> When running jdktools tests on debug version of DRLVM the test org.apache.harmony.jpda.tests.jdwp.Events.CombinedEventsTest crashes on a failed assertion. The assertion is somewhere in DRLVM JVMTI single stepping code.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-4533) [drlvm][jvmti] Failed assertion when running CombinedEventsTest in jdktools

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-4533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky updated HARMONY-4533:
---------------------------------------

    Patch Info: [Patch Available]
      Assignee: Gregory Shimansky

> [drlvm][jvmti] Failed assertion when running CombinedEventsTest in jdktools
> ---------------------------------------------------------------------------
>
>                 Key: HARMONY-4533
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4533
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: win32
>            Reporter: Gregory Shimansky
>            Assignee: Gregory Shimansky
>         Attachments: HARMONY-4533.patch
>
>
> When running jdktools tests on debug version of DRLVM the test org.apache.harmony.jpda.tests.jdwp.Events.CombinedEventsTest crashes on a failed assertion. The assertion is somewhere in DRLVM JVMTI single stepping code.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.