Bug 247178 - IllegalArgumentException when attaching source to a jar
Summary: IllegalArgumentException when attaching source to a jar
Status: VERIFIED DUPLICATE of bug 243692
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.4   Edit
Hardware: PC Linux-GTK
: P3 normal (vote)
Target Milestone: 3.5 M2   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-09-12 11:49 EDT by John Russell CLA
Modified: 2008-09-16 05:38 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 John Russell CLA 2008-09-12 11:49:22 EDT
When I navigate to a .class file in a jar in my project I am presented with the class viewer which allows me to attach a source jar to the class file so I can see the source of that jar's classes.

Whenever I do that I get the following error message in the log with a dialog with the same main text.

java.lang.reflect.InvocationTargetException
        at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:403)
        at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
        at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:275)
        at org.eclipse.ui.internal.progress.ProgressManager$3.run(ProgressManager.java:977)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
        at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:1012)
        at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:987)
        at org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:1195)
        at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$SourceAttachmentForm.applySourceAttachment(ClassFileEditor.java:30
3)
        at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$2.widgetSelected(ClassFileEditor.java:286)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3401)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3033)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        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:597)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
Caused by: java.lang.IllegalArgumentException: Attempted to beginRule: R/, does not match outer scope rule: P/samba-fcs-patch
        at org.eclipse.core.runtime.Assert.isLegal(Assert.java:64)
        at org.eclipse.core.internal.jobs.ThreadJob.illegalPush(ThreadJob.java:122)
        at org.eclipse.core.internal.jobs.ThreadJob.push(ThreadJob.java:232)
        at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:58)
        at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:230)
        at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:117)
        at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1747)
        at org.eclipse.core.internal.resources.File.setContents(File.java:364)
        at org.eclipse.jdt.internal.core.JavaProject.setSharedProperty(JavaProject.java:2885)
        at org.eclipse.jdt.internal.core.JavaProject.writeFileEntries(JavaProject.java:2651)
        at org.eclipse.jdt.internal.core.JavaModelManager$7.run(JavaModelManager.java:1188)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
        at org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.writeAndCacheClasspath(JavaModelManager.java:1182)
        at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation(SetClasspathOperation.java:61)
        at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:709)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
        at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:775)
        at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:2815)
        at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:2846)
        at org.eclipse.jdt.internal.ui.wizards.buildpaths.BuildPathSupport.updateProjectClasspath(BuildPathSupport.java:277)
        at org.eclipse.jdt.internal.ui.wizards.buildpaths.BuildPathSupport.modifyClasspathEntry(BuildPathSupport.java:186)
        at org.eclipse.jdt.internal.ui.wizards.buildpaths.SourceAttachmentBlock$1.run(SourceAttachmentBlock.java:587)
        at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Root exception:
java.lang.IllegalArgumentException: Attempted to beginRule: R/, does not match outer scope rule: P/samba-fcs-patch
        at org.eclipse.core.runtime.Assert.isLegal(Assert.java:64)
        at org.eclipse.core.internal.jobs.ThreadJob.illegalPush(ThreadJob.java:122)
        at org.eclipse.core.internal.jobs.ThreadJob.push(ThreadJob.java:232)
        at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:58)
        at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:230)
        at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:117)
        at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1747)
        at org.eclipse.core.internal.resources.File.setContents(File.java:364)
        at org.eclipse.jdt.internal.core.JavaProject.setSharedProperty(JavaProject.java:2885)
        at org.eclipse.jdt.internal.core.JavaProject.writeFileEntries(JavaProject.java:2651)
        at org.eclipse.jdt.internal.core.JavaModelManager$7.run(JavaModelManager.java:1188)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
        at org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.writeAndCacheClasspath(JavaModelManager.java:1182)
        at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation(SetClasspathOperation.java:61)
        at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:709)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
        at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:775)
        at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:2815)
        at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:2846)
        at org.eclipse.jdt.internal.ui.wizards.buildpaths.BuildPathSupport.updateProjectClasspath(BuildPathSupport.java:277)
        at org.eclipse.jdt.internal.ui.wizards.buildpaths.BuildPathSupport.modifyClasspathEntry(BuildPathSupport.java:186)
        at org.eclipse.jdt.internal.ui.wizards.buildpaths.SourceAttachmentBlock$1.run(SourceAttachmentBlock.java:587)
        at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Comment 1 Boris Bokowski CLA 2008-09-12 12:49:34 EDT
> Caused by: java.lang.IllegalArgumentException: Attempted to beginRule: R/, does
not match outer scope rule: P/samba-fcs-patch
Comment 2 Dani Megert CLA 2008-09-13 04:11:51 EDT

*** This bug has been marked as a duplicate of bug 243692 ***
Comment 3 Jerome Lanneluc CLA 2008-09-15 06:39:55 EDT
As a workaround, removing the Perforce plugin (or replacing it with the latest one) should fix the problem.
Comment 4 David Audel CLA 2008-09-16 05:38:53 EDT
Verified for 3.5M2