harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gregory Shimansky (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-4823) [jdktools][jdwp] 2 jdtdebug tests fail with similar messages in EUT 3.2
Date Fri, 21 Sep 2007 16:44:50 GMT

     [ https://issues.apache.org/jira/browse/HARMONY-4823?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gregory Shimansky updated HARMONY-4823:
---------------------------------------

             Component/s:     (was: DRLVM)
                          JDK
             Environment: All  (was: Windows/x86)
    Estimated Complexity: Advanced  (was: Moderate)
                 Summary: [jdktools][jdwp] 2 jdtdebug tests fail with similar messages in
EUT 3.2  (was: [drlvm][EUT] 2 jdtdebug tests fail with similar messages in EUT 3.2)

To reproduce the bug it is possible to run Eclipse by hands using one of the target applications
from eclipse unit tests (attached StepIntoSelectionClass.java). EUT executes the following
scenario:

- sets a breakpoint on line 33
- starts a program till breakpoint is hit
- selects the method addElement
- with right click or Ctrl-F5 executes command "Step Into Selection"

When running on RI the execution appears inside of the method Vector.addElement. When running
on DRLVM the execution doesn't enter Vector.addElement, instead it hits breakpoint on line
33 again when loop is repeated. This happens because instead of calling Vector.addElement
VM resolves class Integer using Java class loader on this line and does lots of other work
like String.intern (also a Java method). These Java methods confuse JDWP agent, and it doesn't
enable single stepping correctly to hit the necessary method.

I noticed a very interesting fact. Currently DRLVM kernel classes are built without line number
information. When I rebuilt them with such information, the test started to pass just fine.
I think the problem is with correct handling of StepRequest for JPDA protocol [1] with STEP_LINE
value for StepSize modifier [2]. Spec says that when line number information is not available,
stepping should be done with STEP_MIN, but something probably goes wrong with it. I believe
this is a bug of JDWP agent, so I changed the bug summary and category.

[1] http://java.sun.com/j2se/1.5.0/docs/guide/jpda/jdwp/jdwp-protocol.html#JDWP_EventRequest_Set
[2] http://java.sun.com/j2se/1.5.0/docs/guide/jpda/jdwp/jdwp-protocol.html#JDWP_StepSize


> [jdktools][jdwp] 2 jdtdebug tests fail with similar messages in EUT 3.2
> -----------------------------------------------------------------------
>
>                 Key: HARMONY-4823
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4823
>             Project: Harmony
>          Issue Type: Bug
>          Components: JDK
>         Environment: All
>            Reporter: Ilya Berezhniuk
>
> When massive failures with 'did not suspend' error (HARMONY-4631) do not occur, 2 tests
fail in EUT 3.2 jdt debug suite with following close error messages:
> ------------------------------------------
> org.eclipse.jdt.debug.tests.core.StepIntoSelectionTests.testStepIntoBinaryMethod
> Should be in method 'addElement' expected:<addElement> but was:<step>
> junit.framework.ComparisonFailure: Should be in method 'addElement' expected:<addElement>
but was:<step>
>     at org.eclipse.jdt.debug.tests.core.StepIntoSelectionTests.testStepIntoBinaryMethod(StepIntoSelectionTests.java:174)
>     at java.lang.reflect.VMReflection.invokeMethod(Native Method)
>     at org.eclipse.jdt.debug.tests.DebugSuite$1.run(DebugSuite.java:53)
>     at java.lang.Thread.run(Unknown Source)
> ------------------------------------------
> org.eclipse.jdt.debug.tests.core.StepIntoSelectionTests.testStepIntoBinaryConstructor
> Should be in constructor expected:<<init>> but was:<step>
> junit.framework.ComparisonFailure: Should be in constructor expected:<<init>>
but was:<step>
>     at org.eclipse.jdt.debug.tests.core.StepIntoSelectionTests.testStepIntoBinaryConstructor(StepIntoSelectionTests.java:209)
>     at java.lang.reflect.VMReflection.invokeMethod(Native Method)
>     at org.eclipse.jdt.debug.tests.DebugSuite$1.run(DebugSuite.java:53)
>     at java.lang.Thread.run(Unknown Source)
> ------------------------------------------
> Looks like it can be a regression in JVMTI stepping algorithm.
> To reproduce failures:
> 1) Use Harmony JDK from http://people.apache.org/builds/harmony/snapshots/r576550/apache-harmony-jdk-r576550-windows-x86-32-snapshot.zip
> 2) Download http://mirrors.nsa.co.il/eclipse/eclipse/downloads/drops/R-3.2-200606291905/eclipse-Automated-Tests-3.2.zip
> 3) To run with script or command line, use instructions in eclipse-testing/readme.html
from eclipse-Automated-Tests-3.2.zip archive
> 4) To run from Eclipse GUI follow the instruction in http://wiki.apache.org/harmony/Eclipse_Unit_Tests_Pass_on_DRLVM#How_to_run_EUT_individual

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


Mime
View raw message