Bug 78358 - [1.5] Disassembling a .class file can fail
Summary: [1.5] Disassembling a .class file can fail
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.0.2   Edit
Assignee: Olivier Thomann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 75074 82303 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-11-10 17:49 EST by Olivier Thomann CLA
Modified: 2005-04-07 11:34 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Olivier Thomann CLA 2004-11-10 17:49:00 EST
In 3.0.1 stream, it is possible to get a classcastexception when disassembling a
.class file with a signature attribute in it.
Comment 1 Olivier Thomann CLA 2004-11-10 18:45:17 EST
The stack trace is:
eclipse.buildId=M200409161125
java.version=1.4.2_04
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US

!ENTRY org.eclipse.core.runtime 4 2 Nov 10, 2004 11:52:06.226
!MESSAGE Problems occurred when invoking code from plug-in:
"org.eclipse.core.runtime".
!STACK 0
java.lang.ClassCastException     at
org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:697)
    at
org.eclipse.jdt.internal.core.util.Disassembler.disassembleTypeMembers(Disassembler.java:1072)
    at
org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:536)
    at
org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:414)
    at
org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$SourceAttachmentForm.updateCodeView(ClassFileEditor.java:400)
    at
org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$SourceAttachmentForm.createControl(ClassFileEditor.java:212)
    at
org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.verifyInput(ClassFileEditor.java:715)
    at
org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.createPartControl(ClassFileEditor.java:672)
    at org.eclipse.ui.internal.PartPane$2.run(PartPane.java:137)
    at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616)
    at org.eclipse.core.runtime.Platform.run(Platform.java:747)
    at org.eclipse.ui.internal.PartPane.createChildControl(PartPane.java:133)
    at org.eclipse.ui.internal.PartPane.createControl(PartPane.java:205)
    at
org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:939)
    at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:921)
    at org.eclipse.ui.internal.EditorStack.setSelection(EditorStack.java:196)
    at org.eclipse.ui.internal.EditorStack.setVisibleEditor(EditorStack.java:200)
    at
org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:338)
    at
org.eclipse.ui.internal.EditorAreaHelper.openEditor(EditorAreaHelper.java:268)
    at org.eclipse.ui.internal.EditorManager$4.run(EditorManager.java:694)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
    at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:683)
    at
org.eclipse.ui.internal.EditorManager.openInternalEditor(EditorManager.java:779)
    at
org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:582)
    at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:570)
    at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2244)
    at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2177)
    at org.eclipse.ui.internal.WorkbenchPage.access$6(WorkbenchPage.java:2169)
    at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2156)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2151)
    at
org.eclipse.debug.internal.ui.views.launch.LaunchView$3.run(LaunchView.java:847)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
    at
org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditor(LaunchView.java:856)
    at
org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditor(LaunchView.java:818)
    at
org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditorForStackFrame(LaunchView.java:697)
    at
org.eclipse.debug.internal.ui.views.launch.LaunchView.showEditorForCurrentSelection(LaunchView.java:600)
    at
org.eclipse.debug.internal.ui.views.launch.LaunchView.selectionChanged(LaunchView.java:474)
    at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:450)
    at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616)
    at org.eclipse.core.runtime.Platform.run(Platform.java:747)
    at
org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:448)
    at
org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1094)
    at
org.eclipse.debug.internal.ui.views.launch.LaunchView.autoExpand(LaunchView.java:965)
    at
org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandleSuspendThreadEvent(LaunchViewEventHandler.java:225)
    at
org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandleSuspendEvent(LaunchViewEventHandler.java:185)
    at
org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandleDebugEvents(LaunchViewEventHandler.java:100)
    at
org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler$1.run(AbstractDebugEventHandler.java:70)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:106)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2572)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2301)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
    at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
    at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
    at org.eclipse.core.launcher.Main.run(Main.java:704)
    at org.eclipse.core.launcher.Main.main(Main.java:688) 
Comment 2 Olivier Thomann CLA 2005-01-06 11:13:28 EST
*** Bug 82303 has been marked as a duplicate of this bug. ***
Comment 3 Olivier Thomann CLA 2005-01-26 12:49:31 EST
Candidating fix for 3.0.2 release (not committed yet)
Comment 4 Philipe Mulet CLA 2005-01-26 16:23:00 EST
Fix is not available, but trivial.
Comment 5 Olivier Thomann CLA 2005-01-27 11:16:28 EST
Fixed and released.
Comment 6 Olivier Thomann CLA 2005-03-10 10:23:04 EST
Verified with M200502161722
Comment 7 Olivier Thomann CLA 2005-04-07 11:34:27 EDT
*** Bug 75074 has been marked as a duplicate of this bug. ***