ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Lalevée (JIRA) <j...@apache.org>
Subject [jira] Created: (IVYDE-75) Possible endless loop while computing the classpath entries
Date Tue, 22 Jan 2008 16:06:34 GMT
Possible endless loop while computing the classpath entries
-----------------------------------------------------------

                 Key: IVYDE-75
                 URL: https://issues.apache.org/jira/browse/IVYDE-75
             Project: IvyDE
          Issue Type: Bug
    Affects Versions: 1.3.0
         Environment: Eclipse 3.2
            Reporter: Nicolas Lalevée
            Priority: Minor


While trying to debug IVYDE-70, having a break point make the resolving process loop indefinitely.
I cannot say if there is really a bug or not, because running while having break points is
not the standard way the thread runs. But it shows there is a possibility that the resolve
process may run sevral times, which should not happend.

And after I remove the breakpoint, there is no StackOverflowError, so I assume this bug might
not appear in normal cases.

Here is the stack trace copied from Eclipse :

{noformat}
IvyClasspathContainer.computeClasspathEntries(boolean, boolean, boolean) line: 617	
IvyClasspathContainer.refresh(boolean) line: 644	
IvyClasspathInitializer.initialize(IPath, IJavaProject) line: 61	
JavaModelManager.initializeContainer(IJavaProject, IPath) line: 1924	
JavaModelManager.getClasspathContainer(IPath, IJavaProject) line: 1267	
JavaCore.getClasspathContainer(IPath, IJavaProject) line: 1470	
JavaProject.getResolvedClasspath(IClasspathEntry[], IPath, boolean, boolean, Map) line: 2169

JavaProject.getResolvedClasspath(boolean, boolean, boolean) line: 2073	
JavaCore.setClasspathContainer(IPath, IJavaProject[], IClasspathContainer[], IProgressMonitor)
line: 4189	
IvyClasspathContainer.notifyUpdateClasspathEntries() line: 682	
IvyClasspathContainer.access$7(IvyClasspathContainer) line: 678	
IvyClasspathContainer$4.run() line: 672	
RunnableLock.run() line: 35	
UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 123	
Display.runAsyncMessages(boolean) line: 3157	
Display.readAndDispatch() line: 2859	
EventLoopProgressMonitor.runEventLoop() line: 123	
EventLoopProgressMonitor.isCanceled() line: 97	
ThreadJob.isCanceled(IProgressMonitor) line: 126	
ThreadJob.joinRun(IProgressMonitor) line: 161	
ImplicitJobs.begin(ISchedulingRule, IProgressMonitor, boolean) line: 87	
JobManager.beginRule(ISchedulingRule, IProgressMonitor) line: 219	
WorkManager.checkIn(ISchedulingRule, IProgressMonitor) line: 96	
Workspace.prepareOperation(ISchedulingRule, IProgressMonitor) line: 1684	
Project.touch(IProgressMonitor) line: 1035	
SetClasspathOperation.executeOperation() line: 288	
SetClasspathOperation(JavaModelOperation).run(IProgressMonitor) line: 720	
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 1737	
SetClasspathOperation(JavaModelOperation).runOperation(IProgressMonitor) line: 784	
JavaProject.setRawClasspath(IClasspathEntry[], IPath, IProgressMonitor, boolean, IClasspathEntry[],
boolean, boolean) line: 3016	
JavaCore$5.run(IProgressMonitor) line: 4215	
BatchOperation.executeOperation() line: 39	
BatchOperation(JavaModelOperation).run(IProgressMonitor) line: 720	
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 1737	
JavaCore.run(IWorkspaceRunnable, ISchedulingRule, IProgressMonitor) line: 4024	
JavaCore.setClasspathContainer(IPath, IJavaProject[], IClasspathContainer[], IProgressMonitor)
line: 4198	
IvyClasspathContainer.notifyUpdateClasspathEntries() line: 682	
IvyClasspathContainer.access$7(IvyClasspathContainer) line: 678	
IvyClasspathContainer$4.run() line: 672	
RunnableLock.run() line: 35	
UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 123	
Display.runAsyncMessages(boolean) line: 3157	
Display.readAndDispatch() line: 2859	
EventLoopProgressMonitor.runEventLoop() line: 123	
EventLoopProgressMonitor.isCanceled() line: 97	
ThreadJob.isCanceled(IProgressMonitor) line: 126	
ThreadJob.joinRun(IProgressMonitor) line: 161	
ImplicitJobs.begin(ISchedulingRule, IProgressMonitor, boolean) line: 87	
JobManager.beginRule(ISchedulingRule, IProgressMonitor) line: 219	
WorkManager.checkIn(ISchedulingRule, IProgressMonitor) line: 96	
Workspace.prepareOperation(ISchedulingRule, IProgressMonitor) line: 1684	
Project.touch(IProgressMonitor) line: 1035	
SetClasspathOperation.executeOperation() line: 288	
SetClasspathOperation(JavaModelOperation).run(IProgressMonitor) line: 720	
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 1737	
SetClasspathOperation(JavaModelOperation).runOperation(IProgressMonitor) line: 784	
JavaProject.setRawClasspath(IClasspathEntry[], IPath, IProgressMonitor, boolean, IClasspathEntry[],
boolean, boolean) line: 3016	
JavaCore$5.run(IProgressMonitor) line: 4215	
BatchOperation.executeOperation() line: 39	
BatchOperation(JavaModelOperation).run(IProgressMonitor) line: 720	
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 1737	
JavaCore.run(IWorkspaceRunnable, ISchedulingRule, IProgressMonitor) line: 4024	
JavaCore.setClasspathContainer(IPath, IJavaProject[], IClasspathContainer[], IProgressMonitor)
line: 4198	
IvyClasspathContainer.notifyUpdateClasspathEntries() line: 682	
IvyClasspathContainer.access$7(IvyClasspathContainer) line: 678	
IvyClasspathContainer$4.run() line: 672	
RunnableLock.run() line: 35	
UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 123	
Display.runAsyncMessages(boolean) line: 3157	
Display.readAndDispatch() line: 2859	
EventLoopProgressMonitor.runEventLoop() line: 123	
EventLoopProgressMonitor.isCanceled() line: 97	
ThreadJob.isCanceled(IProgressMonitor) line: 126	
ThreadJob.joinRun(IProgressMonitor) line: 161	
ImplicitJobs.begin(ISchedulingRule, IProgressMonitor, boolean) line: 87	
JobManager.beginRule(ISchedulingRule, IProgressMonitor) line: 219	
WorkManager.checkIn(ISchedulingRule, IProgressMonitor) line: 96	
Workspace.prepareOperation(ISchedulingRule, IProgressMonitor) line: 1684	
Project.touch(IProgressMonitor) line: 1035	
SetClasspathOperation.executeOperation() line: 288	
SetClasspathOperation(JavaModelOperation).run(IProgressMonitor) line: 720	
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 1737	
SetClasspathOperation(JavaModelOperation).runOperation(IProgressMonitor) line: 784	
JavaProject.setRawClasspath(IClasspathEntry[], IPath, IProgressMonitor, boolean, IClasspathEntry[],
boolean, boolean) line: 3016	
JavaCore$5.run(IProgressMonitor) line: 4215	
BatchOperation.executeOperation() line: 39	
BatchOperation(JavaModelOperation).run(IProgressMonitor) line: 720	
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 1737	
JavaCore.run(IWorkspaceRunnable, ISchedulingRule, IProgressMonitor) line: 4024	
JavaCore.setClasspathContainer(IPath, IJavaProject[], IClasspathContainer[], IProgressMonitor)
line: 4198	
IvyClasspathContainer.notifyUpdateClasspathEntries() line: 682	
IvyClasspathContainer.access$7(IvyClasspathContainer) line: 678	
IvyClasspathContainer$4.run() line: 672	
RunnableLock.run() line: 35	
UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 123	
Display.runAsyncMessages(boolean) line: 3157	
Display.readAndDispatch() line: 2859	
EventLoopProgressMonitor.runEventLoop() line: 123	
EventLoopProgressMonitor.isCanceled() line: 97	
ThreadJob.isCanceled(IProgressMonitor) line: 126	
ThreadJob.joinRun(IProgressMonitor) line: 161	
ImplicitJobs.begin(ISchedulingRule, IProgressMonitor, boolean) line: 87	
JobManager.beginRule(ISchedulingRule, IProgressMonitor) line: 219	
WorkManager.checkIn(ISchedulingRule, IProgressMonitor) line: 96	
Workspace.prepareOperation(ISchedulingRule, IProgressMonitor) line: 1684	
Project.touch(IProgressMonitor) line: 1035	
SetClasspathOperation.executeOperation() line: 288	
SetClasspathOperation(JavaModelOperation).run(IProgressMonitor) line: 720	
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 1737	
SetClasspathOperation(JavaModelOperation).runOperation(IProgressMonitor) line: 784	
JavaProject.setRawClasspath(IClasspathEntry[], IPath, IProgressMonitor, boolean, IClasspathEntry[],
boolean, boolean) line: 3016	
JavaCore$5.run(IProgressMonitor) line: 4215	
BatchOperation.executeOperation() line: 39	
BatchOperation(JavaModelOperation).run(IProgressMonitor) line: 720	
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 1737	
JavaCore.run(IWorkspaceRunnable, ISchedulingRule, IProgressMonitor) line: 4024	
JavaCore.setClasspathContainer(IPath, IJavaProject[], IClasspathContainer[], IProgressMonitor)
line: 4198	
IvyClasspathContainer.notifyUpdateClasspathEntries() line: 682	
IvyClasspathContainer.access$7(IvyClasspathContainer) line: 678	
IvyClasspathContainer$4.run() line: 672	
RunnableLock.run() line: 35	
UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 123	
Display.runAsyncMessages(boolean) line: 3157	
Display.readAndDispatch() line: 2859	
EventLoopProgressMonitor.runEventLoop() line: 123	
EventLoopProgressMonitor.isCanceled() line: 97	
ThreadJob.isCanceled(IProgressMonitor) line: 126	
ThreadJob.joinRun(IProgressMonitor) line: 161	
ImplicitJobs.begin(ISchedulingRule, IProgressMonitor, boolean) line: 87	
JobManager.beginRule(ISchedulingRule, IProgressMonitor) line: 219	
WorkManager.checkIn(ISchedulingRule, IProgressMonitor) line: 96	
Workspace.prepareOperation(ISchedulingRule, IProgressMonitor) line: 1684	
Project.touch(IProgressMonitor) line: 1035	
SetClasspathOperation.executeOperation() line: 288	
SetClasspathOperation(JavaModelOperation).run(IProgressMonitor) line: 720	
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 1737	
SetClasspathOperation(JavaModelOperation).runOperation(IProgressMonitor) line: 784	
JavaProject.setRawClasspath(IClasspathEntry[], IPath, IProgressMonitor, boolean, IClasspathEntry[],
boolean, boolean) line: 3016	
JavaCore$5.run(IProgressMonitor) line: 4215	
BatchOperation.executeOperation() line: 39	
BatchOperation(JavaModelOperation).run(IProgressMonitor) line: 720	
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 1737	
JavaCore.run(IWorkspaceRunnable, ISchedulingRule, IProgressMonitor) line: 4024	
JavaCore.setClasspathContainer(IPath, IJavaProject[], IClasspathContainer[], IProgressMonitor)
line: 4198	
IvyClasspathContainer.notifyUpdateClasspathEntries() line: 682	
IvyClasspathContainer.access$7(IvyClasspathContainer) line: 678	
IvyClasspathContainer$4.run() line: 672	
RunnableLock.run() line: 35	
UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 123	
Display.runAsyncMessages(boolean) line: 3157	
Display.readAndDispatch() line: 2859	
Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 1930	
Workbench.runUI() line: 1894	
Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 422	
PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149	
IDEApplication.run(Object) line: 95	
PlatformActivator$1.run(Object) line: 78	
EclipseAppLauncher.runApplication(Object) line: 92	
EclipseAppLauncher.start(Object) line: 68	
EclipseStarter.run(Object) line: 400	
EclipseStarter.run(String[], Runnable) line: 177	
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]

NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
Method.invoke(Object, Object...) line: 597	
Main.invokeFramework(String[], URL[]) line: 336	
Main.basicRun(String[]) line: 280	
Main.run(String[]) line: 977	
Main.main(String[]) line: 952	
{noformat}

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