harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vera Volynets (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-3575) [drlvm][eclipse] One class in Pydev fails classloading
Date Fri, 06 Apr 2007 08:06:32 GMT

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

Vera Volynets updated HARMONY-3575:
-----------------------------------

    Attachment: local_var_table.ZIP

I've evaluated if RI checks that length of local variable table and local variable type table
element coincide.
I've attached .zip file with test.
To run test: 
java.exe test
locVar2.ccode contains method with LocalVariableTable and LocalVariableTypeTable attributes
with different element lengths.
Test output:
RI:
check local_variable_table and local_variable_type_table for coincidence
Test passed: java.lang.ClassFormatError: LVTT entry for 'ts' in class file locVar2 does not
match any LVT entry
DRLVM:
check local_variable_table and local_variable_type_table for coincidence
Test passed: java.lang.ClassFormatError: locVar2 : Element: ts from LocalVariableTypeTable
doesn't coincide with element from LocalVariableTable for method test()I

So RI should also fail on that broken class.
I'm not sure that we should make our checks more tolerant.

Threre is only one serious mistake, that the 'return false' statement is missed after error
reporting. 
I've prepared patch.

> [drlvm][eclipse] One class in Pydev fails classloading
> ------------------------------------------------------
>
>                 Key: HARMONY-3575
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3575
>             Project: Harmony
>          Issue Type: Bug
>          Components: App-Oriented Bug Reports, DRLVM
>         Environment: linux x86_64
>            Reporter: Santiago Gala
>         Assigned To: Alexey Varlamov
>         Attachments: clf.patch, local_var_table.ZIP, PydevPlugin.class, pydevplugin.txt
>
>
> I was getting a problem with PyDev in eclipse, until I found the error in the log:
> Root exception:
> java.lang.ClassFormatError: org/python/pydev/plugin/PydevPlugin : Element: 0x413b1bb0
from LocalVariableTypeTable doesn't coincide with element from LocalVariableTable for method
createEditorInput(Lorg/eclipse/core/runtime/IPath;Z)Lorg/eclipse/ui/IEditorInput;
> 	at java.lang.ClassLoader.defineClass0(ClassLoader.java)
> 	at java.lang.ClassLoader.defineClass(ClassLoader.java:417)
> 	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:161)
> Removing the check under
> // See specification 4.8.12 second paragraph.
> in Class_File_Loader.cpp makes it load, though I'm not sure it is the proper solution.
> I'll attach the output of javap -v

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