You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Ivan Popov (JIRA)" <ji...@apache.org> on 2007/05/30 14:18:16 UTC

[jira] Closed: (HARMONY-3698) [drlvm][jvmti] location of EXCEPTION event differs from location of top stack frame

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

Ivan Popov closed HARMONY-3698.
-------------------------------


Verified in harmony-jdk-r542764. Closing this issue.


> [drlvm][jvmti] location of EXCEPTION event differs from location of top stack frame
> -----------------------------------------------------------------------------------
>
>                 Key: HARMONY-3698
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3698
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM, JDK
>         Environment: Linux/x86, Windows/x86, apache-harmony-jdk-r529895
>            Reporter: Ivan Popov
>            Assignee: Gregory Shimansky
>         Attachments: H3698-jvmti-stack-trace-fixed.patch, H3698-Regression-test.patch, jdwp_test.patch
>
>
> JVMTI callback for EXCEPTION event reports location for thrown exception different than the location of top stack frame. This lead that Eclipse debugger shows wrong source line when exception application is stopped on exception throw. In RI both locations are equal.
> Here is test class to reproduce this problem.
> public class TestClass {
> 	public static void main(String[] args) {
> 		try {
> 			throw new TestException("test");  // exception breakpoint line
> 		} catch (TestException e ){
> 			e.printStackTrace();
> 		}
> 	}
> 	static public class TestException extends RuntimeException {
> 		TestException(String msg) {
> 			super(msg);
> 		}
> 	}
> }
> To reproduce:
> 1. Load this class to Eclipse
> 2. Set exception breakpoint for TestException class (Run->AddJavaExceptionBreakpoint...)
> 3. Launch this class under debugger (Run->Debug)
> 4. Wait until application is suspended on exception throw
> Eclipse will highlight source line with catch clause instead of throw clause. This is because Eclipse relies on the location of the top stack frame rather than on location of an event. In RI both locations are equal, but in DRLVM locations are different.

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