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] Created: (HARMONY-3698) [drlvm][jvmti] location of EXCEPTION event differs from location of top stack frame
Date Wed, 18 Apr 2007 13:53:15 GMT
[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


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