harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Popov (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-4234) [jdktools][jpda][eut] JDWP command ClassType.InvokeMethod fails for method Class.forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)
Date Tue, 19 Jun 2007 12:28:26 GMT

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

Ivan Popov updated HARMONY-4234:
--------------------------------

    Attachment: jdwp_agent.patch

I'm attaching patch 'jdwp_agent.patch' which solves this problem in JDWP agent. it also adds
more trace messages to facilitate diagnostics of such problems.

With this patch Eclipse debugger shows correct values of compound types for all variables
in the attached test. All JDWP unit tests also passed for both Windows and Linux platforms.

> [jdktools][jpda][eut] JDWP command ClassType.InvokeMethod fails for method Class.forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)
> ------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4234
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4234
>             Project: Harmony
>          Issue Type: Bug
>          Components: JDK
>         Environment: Windows/x86, harmony-jdk-r547543
>            Reporter: Ivan Popov
>         Attachments: ArrayDetailTests.java, jdwp_agent.patch
>
>
> JDWP agent fails in executing command ClassType.InvokeMethod fails for method Class.forName(Ljava/lang/String;ZLjava/lang/ClassLoader;),
it claims about type mismatch for the last argument. This causes 10 of 520 EUT jdtdebug tests
failures (org.eclipse.jdt.debug.tests.core.LocalVariableTests) mentioned in HARMONY-4186.
> To reproduce this problem use attached application ArrayDetailTests.java:
> 1. Load ArrayDetailTests.java into Eclipse
> 2. Set breakpoint to the last line of method test() (line 64)
> 3. Launch application under debugger (Run->Debug)
> 4. Wait for application is suspended on breakpoint
> 5. Go to Variables view and choose 'strings' variable
> With RI debugger will show value of 'strings' variable as '[0, 1, 10, 11, 100]'.
> With Harmony it will print the following text:
>     Detail formatter error:
>         com.sun.jdi.InvalidTypeException occurred invoking method.
> The problem is in JDWP agent function SpecialAsyncCommandHandler::getClassNameArg(),
which extracts argument type name from the method signature. This function handles symbol
'L' in a special way and this causes problems in extracting name 'java/lang/ClassLoader' for
the last argument of the invoked method.

-- 
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