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

Nicolas Lalevée resolved IVYDE-75.
----------------------------------

    Resolution: Cannot Reproduce

Not sure it has been fix even if it was really a bug, but I wasn't able to 
reproduce it with the trunk version. 

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

Reply via email to