You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexei Fedotov (JIRA)" <ji...@apache.org> on 2007/01/22 15:56:30 UTC

[jira] Commented: (HARMONY-2710) [drlvm] Incomplete stack trace on jet/opt

    [ https://issues.apache.org/jira/browse/HARMONY-2710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12466470 ] 

Alexei Fedotov commented on HARMONY-2710:
-----------------------------------------

[reason]
The exception (along with a stack trace) is stored when the method is compiled and rethrown later when it is called. The point is the stack trace is invalid at the moment of call.

[suggested fix]
Exception should be regenerated at that moment of call. Either a new stack trace should be substituted or only exception name and cause should be stored and new exception should be ccreated and thrown each time.

> [drlvm] Incomplete stack trace on jet/opt
> -----------------------------------------
>
>                 Key: HARMONY-2710
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2710
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexei Fedotov
>         Attachments: StackTraceElementTest.java
>
>
> Please compile the attached test, remove B.class and run the test.
> The line
>          at A.<init>(LineNumberTest.java:10)
> is lost at the top of stack trace when running on jet/opt.
> The output on interpreter is as follows:
> > java -Xint LineNumberTest                                         
> java.lang.NoClassDefFoundError: B
>         at A.<init>(LineNumberTest.java:10)
>         at java.lang.reflect.VMReflection.newClassInstance(Native Method)
>         at java.lang.reflect.Constructor.newInstance(Unknown Source)
>         at java.lang.Class.newInstance(Unknown Source)
>         at LineNumberTest.main(LineNumberTest.java:3)
> Caused by: java.lang.ClassNotFoundException: B
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:623)
>         at java.lang.ClassLoader.loadClass(Unknown Source)
>         at
> java.net.URLClassLoader$SubURLClassLoader.loadClass(URLClassLoader.java:116)
>         at java.lang.ClassLoader.loadClass(Unknown Source)
>         at A.<init>(LineNumberTest.java:10)
>         ... 4 more
> The output on jet:
> java -Xem jet LineNumberTest
> java.lang.NoClassDefFoundError: B
>         at java.lang.reflect.VMReflection.newClassInstance(Native Method)
>         at java.lang.reflect.Constructor.newInstance(Unknown Source)
>         at java.lang.Class.newInstance(Unknown Source)
>         at LineNumberTest.main(LineNumberTest.java:3)
> Caused by: java.lang.ClassNotFoundException: B
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:623)
>         at java.lang.ClassLoader.loadClass(Unknown Source)
>         at
> java.net.URLClassLoader$SubURLClassLoader.loadClass(URLClassLoader.java:116)
>         at java.lang.ClassLoader.loadClass(Unknown Source)
>         at java.lang.reflect.VMReflection.newClassInstance(Native Method)
>         ... 3 more
> I will think of integrating this test into our infrastructure

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira