Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Epsilon » Bug: dependency order in installation(Oomph build is buggy)
Bug: dependency order in installation [message #1854648] Wed, 31 August 2022 23:44 Go to next message
Jörn Guy Süß is currently offline Jörn Guy SüßFriend
Messages: 320
Registered: July 2009
Location: Anstead, Brisbane, Queens...
Senior Member

In the attached picture, you can see an installation screenshot of Epsilon 2.4
This installation fails with a file not found because the text modification operation selected

org.eclipse.oomph.setup.TextModifyTask
configuration:/.settings/org.eclipse.ui.ide.prefs

depends on

Resource Creation configuration:/.settings/org.eclipse.ui.prefs (Eclipse.org Applications - Epsilon - Default preferences)

rather than

Resource Creation configuration:/.settings/org.eclipse.ui.ide.prefs (Eclipse.org Applications - Epsilon - Default preferences)

As a result, as can be seen, the Oomph task order solver puts the task in the wrong place.

I am unsure how to report this issue.

Further, I would like to reuse the published 2.4 setup, but I am unsure as to how I can patch this?

Any ideas?

https://www.eclipse.org/forums/index.php?t=getfile&id=42451&

https://www.eclipse.org/forums/index.php?t=getfile&id=42452&

[Updated on: Wed, 07 September 2022 01:42]

Report message to a moderator

Re: Bug: dependency order in installation [message #1854654 is a reply to message #1854648] Thu, 01 September 2022 07:32 Go to previous messageGo to next message
Dimitris Kolovos is currently offline Dimitris KolovosFriend
Messages: 2163
Registered: July 2009
Location: York, UK
Senior Member

Hi Jörn,

The Oomph file that drives the installer is [1]. As far as I can see, the TextModifyTask (that modifies org.eclipse.ui.ide.prefs) in line 98 comes after the ResourceCreationTask of line 76, which creates that file.

My understanding is that tasks are executed sequentially so I'm not sure why you're getting a different order in your confirmation wizard. On my machine, the two resource creation tasks come before the two text modification tasks in the installation wizard - consistently with their declared order in [1] - and installation completes successfully.

Cheers,
Dimitris

[1] https://git.eclipse.org/c/epsilon/org.eclipse.epsilon.git/tree/releng/org.eclipse.epsilon.releng/epsilonUse.setup
Re: Bug: dependency order in installation [message #1854726 is a reply to message #1854654] Mon, 05 September 2022 00:16 Go to previous messageGo to next message
Jörn Guy Süß is currently offline Jörn Guy SüßFriend
Messages: 320
Registered: July 2009
Location: Anstead, Brisbane, Queens...
Senior Member

Is it possible that your local user model already has settings that influence the behaviour? In other words, are you sure your test runs in a
clean environment?

The only thing I can see is that the Resource Creation Task is not a
predessor to the Text Modify Task. It could be that the collection is half-ordered, in which case we can get the behaviour I am seeing.

I also have not found documentation on the preference calculation algorithm for the tasks in the setup.

I am wondering how I can create a test case for this.

Maybe I should create a copy of Epsilon 2.4 and try to patch the prerequisites in?
Re: Bug: dependency order in installation [message #1854728 is a reply to message #1854726] Mon, 05 September 2022 00:35 Go to previous messageGo to next message
Jörn Guy Süß is currently offline Jörn Guy SüßFriend
Messages: 320
Registered: July 2009
Location: Anstead, Brisbane, Queens...
Senior Member

I think I found the issue, which is caused by Reordering.

Quote:
... when multiple streams are involved, final phase processing is dealing with a concatenated list in which the tasks must be properly reordered. To support that, each task has an intrinsic priority; the task list is primarily sorted according to that priority. Each task also specifies predecessors and successors; the task list is secondarily sorted to respect that induced partial order. After these two sorting steps, the tasks in the list are modified to clear both the predecessors and successors and then the predecessors are set to form a chain that induces an overall order that's exactly this final order of sorted task list; this chain excludes variables. This chain of dependencies ensures that the final phase processing, which deals with the concatenated task lists, will properly interleave the tasks (because of the priority sorting) while also respecting the per-stream order of the multiple streams.


So the cause is pobably that I am reusing Epsilon in a Configuration which also contains a Workspace, which contains a Project with multiple Streams. This prompts the reordering of Tasks. At this point, the natural order in the Epsilon setup is lost, because there is no explicit dependency and the two tasks have the same priority. This means that they come out based on hash order, which can be anything, and in my case is an order that does not work.



Re: Bug: dependency order in installation [message #1854742 is a reply to message #1854728] Wed, 07 September 2022 01:47 Go to previous message
Jörn Guy Süß is currently offline Jörn Guy SüßFriend
Messages: 320
Registered: July 2009
Location: Anstead, Brisbane, Queens...
Senior Member

I have been able to patch the issue. It is caused by the lack of prerequisite order. I was able to fix it by copying the resource creation action into the installation as below and then adding advice about the order. The installer removes the duplicate action, but accepts the order. Important to notice that I had to point 'down'. That is, the creation action needs to have a successor set. I am unsure why this does not work the other way.

https://www.eclipse.org/forums/index.php?t=getfile&id=42462&
Previous Topic:ETL model examples' metamodels
Next Topic:Buggy default method in IPropertySetter, Epsilon 2.4
Goto Forum:
  


Current Time: Fri Apr 26 09:17:13 GMT 2024

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

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

Back to the top