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] Resolved: (HARMONY-3698) [drlvm][jvmti] location of EXCEPTION event differs from location of top stack frame
Date Tue, 22 May 2007 16:02:16 GMT

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

Gregory Shimansky resolved HARMONY-3698.
----------------------------------------

    Resolution: Fixed

Patch and regression test were applied at 540622. The new test in jdktools was added at 540623.
Please check that the bug is fixed now.

I had to exclude regression test for x86_64 architectures because JVMTI doesn't work correctly
on this platform yet.

> [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
>         Assigned To: 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.


Mime
View raw message