Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Oomph » Visitor of BackendSystem cause OperationCanceledException
Visitor of BackendSystem cause OperationCanceledException [message #1414890] Mon, 01 September 2014 14:28 Go to next message
Arthur Daussy is currently offline Arthur DaussyFriend
Messages: 14
Registered: September 2014
Junior Member
Hello,

Firstofall, congrats for the great job on Oomph. It is a pleasure to work with it.

I have a question related to the VisitorThreadPool in the BackendSystem class. I'm using Oomph to import some projects in my workspace in a headless application (I'm using a ProjectsImportTask to do so). I'm getting quite randomly some OperationCanceledException (see attachment for the full stack trace). I have investigated a little and I have discovered that it comes from the VisitorThreadPool. When it is being disposed it interrupts all VisitorThread (BackendSystem line 502) and then it cancels their monitors (BackendSystem line 400). In my use case, the same monitor is being used for the visitor and for the SourceLocator of my ProjectImportTask (SourceLocatorImpl line 505). It causes my main task to be canceled when the ThreadPoolVisitor is disposed. Is this a bug or do I misunderstand something? If I replace the monitor being used by a NullProgressMonitor, I never get the exception again. If you agree that this is not the correct behavior I can open a bug on the bugzilla.

I have another question wich is not directly related to this problem but linked to the ProjectImportTask implementation. I was wondering why do you use a property file to keep track of the imported projects (.plugins/org.eclipse.oomph.setup.projects/import-history.properties)? In my use case, each time I open a eclipse I have to clear all the projects of the workspace. Then I only import the project defined in the Oomph model. However with the current implementation the "isNeeded" method returns false because the property file seems corrupted (it has a key for my project but no value. So it returns "" instead of null). Each time I clear my workspace I need to clear this property file too. It feels a bit like a hack so I was wondering if there is a ClearWorkspace task that I have missed.

Thanks for any help that you can give me.
  • Attachment: StackTrace
    (Size: 19.64KB, Downloaded 176 times)
Re: Visitor of BackendSystem cause OperationCanceledException [message #1415112 is a reply to message #1414890] Tue, 02 September 2014 05:52 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Hi Arthur,

Comments below...

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper


Am 01.09.2014 um 17:28 schrieb Arthur Daussy:
> Hello,
>
> Firstofall, congrats for the great job on Oomph. It is a pleasure to work with it.
Thank you, it's nice to hear positive feedback ;-)

> I have a question related to the VisitorThreadPool in the BackendSystem class. I'm using Oomph to import some projects in my workspace in a headless application (I'm using a ProjectsImportTask to do so). I'm getting quite randomly some OperationCanceledException (see attachment for the full stack trace). I have investigated a little and I have discovered that it comes from the VisitorThreadPool. When it is being disposed it interrupts all VisitorThread (BackendSystem line 502) and then it cancels their monitors (BackendSystem line 400). In my use case, the same monitor is being used for the visitor and for the SourceLocator of my ProjectImportTask (SourceLocatorImpl line 505). It causes my main task to be canceled when the ThreadPoolVisitor is disposed. Is this a bug or do I misunderstand something? If I replace the monitor being used by a NullProgressMonitor, I never get the exception again. If you agree that this is not the correct behavior I can open a bug on the bugzilla.
Thanks for investigating and yes, please open a bugzilla.

> I have another question wich is not directly related to this problem but linked to the ProjectImportTask implementation. I was wondering why do you use a property file to keep track of the imported projects (.plugins/org.eclipse.oomph.setup.projects/import-history.properties)? In my use case, each time I open a eclipse I have to clear all the projects of the workspace. Then I only import the project defined in the Oomph model. However with the current implementation the "isNeeded" method returns false because the property file seems corrupted (it has a key for my project but no value. So it returns "" instead of null). Each time I clear my workspace I need to clear this property file too. It feels a bit like a hack so I was wondering if there is a ClearWorkspace task that I have missed.
I think Ed wants to comment on this issue because he's implemented the import history...


Re: Visitor of BackendSystem cause OperationCanceledException [message #1415133 is a reply to message #1415112] Tue, 02 September 2014 06:56 Go to previous messageGo to next message
Arthur Daussy is currently offline Arthur DaussyFriend
Messages: 14
Registered: September 2014
Junior Member
Hi Eike,

Thanks for the quick answer. Here the related bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=443052.

Regards,
Re: Visitor of BackendSystem cause OperationCanceledException [message #1415150 is a reply to message #1415133] Tue, 02 September 2014 07:33 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Am 02.09.2014 um 08:56 schrieb Arthur Daussy:
> Hi Eike,
>
> Thanks for the quick answer. Here the related bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=443052.
I've promoted build 424 that contains the fix. Please let me know if your problem goes away.

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper


Re: Visitor of BackendSystem cause OperationCanceledException [message #1415290 is a reply to message #1415150] Tue, 02 September 2014 14:07 Go to previous message
Arthur Daussy is currently offline Arthur DaussyFriend
Messages: 14
Registered: September 2014
Junior Member
Hi Eike,

After more than 50 tests the problem has never occured again so I guess it's fixed. Thanks again.

Arthur
Previous Topic:Problems cloning oomph under windows
Next Topic:Is there a way to create multiple targlet containers?
Goto Forum:
  


Current Time: Fri Apr 19 22:32:01 GMT 2024

Powered by FUDForum. Page generated in 0.03205 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top