~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com

On Mon, 26 Sept 2022 at 07:18, Ed Merks <ed.me...@gmail.com> wrote:

> Jonah,
>
> If I try your first set of steps, but *without *adding a JustJ JRE site,
> I can hit the "Next" button on the "Updates Available" dialog as many times
> as I like but I cannot proceed with the install.  No explanation is given
> why "Next" doesn't work, and nothing is in the error log to indicate what's
> gone wrong.   So such an IDE apparently can't be updated at all though for
> no apparent reason.
>
I know that Mickael added a JRE processing step that is supposed to
> determine if the current running JRE satisfies all the BREEs of all the IUs
> to be installed, so no doubt this is kicking in, but now without explaining
> to the user what's gone wrong.
>
This looks like a UI update bug, I had meant to mention it yesterday and I
have now had time to file an issue:
https://github.com/eclipse-equinox/p2/issues/146

>
>   Adding the JustJ JRE site indeed allows the install to proceed as you
> observed; no doubt the presence the JustJ fake a.jre.org.eclipse.justj.*
> IUs are not excluded like the fake a.jre.javase IUs (or the real JustJ ones
> for that matter) during this JRE processing step, allowing the install to
> proceed.  If the processing step did exclude the JustJ fake ones no doubt a
> real one would get installed like we saw before.  And one can't arbitrarily
> exclude the real ones too because that might be exactly what the user is
> about to update making the overall update valid after a restart.
>
> Note that an unzipped CPP 2022-06 package's eclipse.ini contains this
> twice:
>
> -Dosgi.requiredJavaVersion=11
> -Dosgi.requiredJavaVersion=11
>
And the 2022-09 includes the =17 + =11 as different features are providing
their own minimums. This is a very
<https://bugs.eclipse.org/bugs/show_bug.cgi?id=367258> long
<https://bugs.eclipse.org/bugs/show_bug.cgi?id=535551> standing
<https://bugs.eclipse.org/bugs/show_bug.cgi?id=508091> issue
<https://bugs.eclipse.org/bugs/show_bug.cgi?id=576113> (dups in
eclipse.ini) but as the impact is greater of this one I think we need to
try to work around the p2 limitation in EPP, perhaps even changing which
source feature does this (CDT?) Raised Bug 580807
<https://bugs.eclipse.org/bugs/show_bug.cgi?id=580807>



> It seems we're stuck a bit between a rock and a hard place and even the
> current behavior of older installations (refuse to update but don't explain
> why) seems broken, though at least it never produces a somewhat broken
> updated installation.   That being said, in Jeff's case there was an
> explicit failure to update, though the reason why is not clear to the
> user...
>
> I'm also not comfortable hard-coding a specific update site in the JustJ
> IUs because this takes control away from the consumer.   E.g., if someone
> installs JustJ Java 11 they'd generally not want an update site added that
> would immediately allow updating to Java 17 because if they did want that,
> they would not have installed Java 11 in the first place but rather Java
> 17.   So while it would be reasonable/okay to add
> https://download.eclipse.org/justj/jres/XX/updates/release/latest/ when
> installing Java XX to allow updates to newer versions of XX, that would not
> solve the general EPP problem where eventually we'll want users to update
> to some LTS version > 17 and EPP itself will determine exactly when that is
> desired.   Even adding a  touchpoint to some EPP IU is questionable because
> with the installer one can install an EPP package using a JRE local on the
> machine, without using/installing a JustJ JRE.  Also one can uninstall the
> JustJ JRE.   So I just don't see a 100% ideal solution.
>
> Maybe we should take the discussion offline to a bugzilla or issue?
>
I have raised Bug 580808
<https://bugs.eclipse.org/bugs/show_bug.cgi?id=580808> - let's continue the
conversation there.

Jonah




> Regards,
> Ed
>
> On 26.09.2022 02:08, Jonah Graham wrote:
>
> > I also test installing Eierlegende Wollmilchsau for 2022-06 with a Java
> 11 JDK installed on my machine (not a JustJ one) and updating it to 2022-09
> with https://download.eclipse.org/justj/jres/17/updates/release/latest 
> visible/available.
> That too installed a.jre.org.eclipse.justj.openjdk.hotspot.jre.full.
>
> I did a similar test - but ended up with different(?) results, and more
> importantly I ended up with a non-working IDE.
>
> This is what I did:
> 1- System java is Java11
> 2- Install C/C++ using Oomph + system Java
> 3- In newly launched IDE add
> https://download.eclipse.org/justj/jres/17/updates/release/latest/ to
> software sites
> 4- Check for updates
> 5- Everything seems to install fine, including things requiring Java 17
> (TM4E)
> 6- Restart IDE, my error log now full of framework errors like this
> (shortened for brevity, let me know if you need full log):
>
> org.osgi.framework.BundleException: Could not resolve module:
> org.eclipse.tm4e.ui [761]
>   Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee
> =JavaSE)(version=17))"
>
> That is because I am still using Java 11, but Eclipse (with JustJ update
> site) allowed me to install items requiring Java 17.
>
> I can get the same error as above like this:
> 1- System java is Java11
> 2- unzip/untar eclipse-platform 4.25 and launch
> 3- In Install New Software, choose "Wild web developer"
> 4- Wizard will fail due to insufficient Java version
> 5- Close wizard and add
> https://download.eclipse.org/justj/jres/17/updates/release/latest/ to
> software sites
> 6- In Install New Software, choose "Wild web developer"
> 7- Everything seems to install fine, including things requiring Java 17
> (TM4E)
> 8- Restart IDE, my error log now full of framework errors like the above.
>
> I tried some other combinations of things, but overall simply adding the
> URL seems unsatisfactory if the user isn't using JustJ already. If JustJ
> was in use, it seems to do a perfectly fine job (on the one test I did)
>
> BTW - you may be asking how the IDE was even able to launch with the wrong
> Java version, I think it is because the eclipse.ini gets updated to look
> like this (shortened for brevity again):
>
> -vmargs
> -Dosgi.requiredJavaVersion=17
> -Dosgi.requiredJavaVersion=11
>
> So with the old osgi.requiredJavaVersion left in the file, the launching
> steps don't warn the user as to what may be wrong. Ironically, if the
> eclipse.ini update had worked, then the user would have an unlaunchable IDE
> instead, until they updated to Java 17.
>
> Are you able to reproduce my above issues? If not, I can try again to make
> sure I haven't done anything unexpected.
>
> Jonah
>
>
>
> ~~~
> Jonah Graham
> Kichwa Coders
> www.kichwacoders.com
>
>
> On Sun, 25 Sept 2022 at 04:44, Ed Merks <ed.me...@gmail.com> wrote:
>
>> Jonah,
>>
>> I had some time to do additional testing and I believe the problem of
>> unintentionally installing a real JustJ JRE is no longer a problem.  See
>> the details below the line.
>>
>> Therefore, I suspect the simplest solution is to compose
>> https://download.eclipse.org/justj/jres/XX/updates/release/lates  into
>> https://download.eclipse.org/releases/latest  where XX is the highest
>> BREE of any IU in SimRel, currently 17.  One advantage here is that we can
>> change this site to impact existing installations even today, e.g., older
>> installations that have JustJ JRE < 17 installed and are trying to update
>> to the latest.   It also means that anyone using JustJ JREs can choose the
>> source of the updates themselves (perhaps a site within a corporate
>> firewall or one of the JustJ sites) rather a specific site that I decide
>> and hard-code, via touchpoints in the IUs, as the good one for everyone
>> using JustJ.
>>
>> What do you think?
>>
>> _____________________________________________________
>>
>> One thing that's changed since the bug reports, specifically the
>> following about JustJ being installed simply because the IUs are visible:
>>
>>  https://bugs.eclipse.org/bugs/show_bug.cgi?id=569871
>>
>> is that each site now contains its own "fake" a.jre IUs.  E.g.,
>>
>>
>> https://download.eclipse.org/oomph/archive/reports-extra/justj-jres-17/download.eclipse.org/justj/jres/17/updates/release/latest/https___download.eclipse.org_justj_jres_17_updates_release_17.0.4.v20220903-1038/a.jre.org.eclipse.justj.openjdk.hotspot.jre.full_17.0.0.html
>>
>> which provides the same capabilities as the real JRE IU:
>>
>>
>> https://download.eclipse.org/oomph/archive/reports-extra/justj-jres-17/download.eclipse.org/justj/jres/17/updates/release/latest/https___download.eclipse.org_justj_jres_17_updates_release_17.0.4.v20220903-1038/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.4.v20220903-1038.html
>>
>> When I tried installing the Eierlegende Wollmilchsau for 2022-09, i.e.,
>> all IUs on the train, with
>> https://download.eclipse.org/justj/jres/17/updates/release/latest as an
>> available update site, the install log shows this:
>>
>>   Installing a.jre.org.eclipse.justj.openjdk.hotspot.jre.full [17.0.0]
>>
>> So yes, a JustJ IU is installed, but it's the fake one just like the fake
>> a.jre.javase IU that would otherwise be installed,  so there are no
>> associated artifacts and no -vm touchpoint is applied.
>>
>> I also test installing Eierlegende Wollmilchsau for 2022-06 with a Java
>> 11 JDK installed on my machine (not a JustJ one) and updating it to 2022-09
>> with https://download.eclipse.org/justj/jres/17/updates/release/latest
>> visible/available.   That too installed
>> a.jre.org.eclipse.justj.openjdk.hotspot.jre.full.
>>
>> Then finally I tested installing Eierlegende Wollmilchsau for 2022-06
>> with JustJ JRE 11 and the updating it with
>> https://download.eclipse.org/justj/jres/17/updates/release/latest
>> visible.  As expected, it does install JustJ JRE 17 in that case, which is
>> exactly the problem we are trying to solve. (Rather unexpected is that very
>> few other things update, but that's a different problem of poor
>> coordination of duplicates bundles).
>>
>> Note that this fake a.ajre JustJ IU was added so it can be used like this
>> in a Tycho build to ensure that the build resolves the actual capabilities
>> of the JRE that will be used by the built product:
>>
>>
>> <executionEnvironment>org.eclipse.justj.openjdk.hotspot.jre.full_17-17</executionEnvironment>
>>
>> In any case, I believe there are no issues to come back.  Either the
>> JustJ fake IU satisfies the requirements or, if a real JustJ JRE IU is
>> installed, the real JustJ JRE is updated if updates are available.
>>
>> Regards,
>> Ed
>>
>>
>> On 22.09.2022 15:39, Jonah Graham wrote:
>>
>> Hi folks,
>>
>> We do certainly need a solution to people who upgrade their IDE installs,
>> but keep in mind there was pushback in the past of including JustJ in the
>> SimRel*. It was related to p2 choosing to install JustJ when it wasn't
>> needed (e.g. because already available on the user's machine) and that
>> would cause unexpected results for the user. See
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=570899#c8
>>
>> Perhaps if JustJ is included in an install, then JustJ should add its own
>> p2 URLs to available sites - sort of how we do it for CDT:
>> https://github.com/eclipse-cdt/cdt/blob/main/releng/org.eclipse.cdt-feature/p2.inf
>> - that would mean only JustJ users have JustJ included in their available
>> update sites. It won't resolve existing installs, but should help going
>> forward when we upgrade past Java 17.
>>
>> I think installing an LTS JustJ should only upgrade to future LTS JustJs,
>> so some of the discussions about what JustJ p2 URLs are still relevant.
>>
>> * I don't think it matters if it is in a composite or directly in the
>> simrel repo, as long as it is visible in the simrel URL(s) then certainly
>> these issues come back again.
>>
>> Jonah
>>
>> ~~~
>> Jonah Graham
>> Kichwa Coders
>> www.kichwacoders.com
>>
>>
>> On Thu, 22 Sept 2022 at 03:04, Matthias Sohn <matthias.s...@gmail.com>
>> wrote:
>>
>>> On Thu, Sep 22, 2022 at 8:17 AM Ed Merks <ed.me...@gmail.com> wrote:
>>>
>>>> Jeff,
>>>>
>>>> Given the regular release schedule of Adoptium/Temurin versions, often
>>>> fixing security-related issues, baking a particular version into each
>>>> release train repository, fixed to the particular version available at that
>>>> time, doesn't seem like the best solution to this problem.  Note too that
>>>> it's highly unlikely the user was just updating 2022-06 but rather from
>>>> something much older that was previously updated to 2022-06 because 2022-06
>>>> shipped with JustJ 17.0.x.
>>>>
>>>> Having an update site that is automatically added by EPP to each
>>>> package and points to the desired current version would seem like a better
>>>> solution.  I vaguely recall having such discussions but obviously we didn't
>>>> conclude that...
>>>>
>>>> There is also a question of which version should a JustJ update site
>>>> specify?  We could use this one:
>>>>
>>>> https://download.eclipse.org/justj/jres/
>>>>
>>>> But that includes the 18.x release and soon the 19.x release.   We
>>>> probably don't want people updating to those.
>>>>
>>>> We could also compose this one:
>>>>
>>>> https://download.eclipse.org/justj/jres/17/updates/release/latest
>>>>
>>>> and update to some future LTS version eventually.
>>>>
>>>> Or maybe we should just compose the above into this site which I
>>>> believe is already automatically added to all EPP packages:
>>>>
>>>> https://download.eclipse.org/releases/latest
>>>>
>>>> That would seem the simplest approach and would address the issue for
>>>> existing installations already...
>>>>
>>> +1, this looks like the best approach
>>>
>>>> Regards,
>>>> Ed
>>>>
>>>> On 21.09.2022 23:45, Jeff Johnston wrote:
>>>>
>>>> A user recently opened an issue against JDT UI because they were trying
>>>> to update their 2022-06 Eclipse IDE for Java Developers and it fails
>>>> because the current JustJ they had: 15.0.1 is not sufficient to update
>>>> components which now require Java 17.
>>>>
>>>> While they can manually add the needed JustJ updates site would it not
>>>> make sense to make a JustJ update available automatically for such
>>>> end-users at least in the case where Eclipse increases minimum JVM
>>>> requirements?
>>>>
>>>> -- Jeff J.
>>>>
>>>> _______________________________________________
>>>> cross-project-issues-dev mailing listcross-project-issues-...@eclipse.org
>>>> To unsubscribe from this list, visit 
>>>> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>>>>
>>>> _______________________________________________
>>>> cross-project-issues-dev mailing list
>>>> cross-project-issues-dev@eclipse.org
>>>> To unsubscribe from this list, visit
>>>> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>>>>
>>> _______________________________________________
>>> cross-project-issues-dev mailing list
>>> cross-project-issues-dev@eclipse.org
>>> To unsubscribe from this list, visit
>>> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>>>
>>
>> _______________________________________________
>> cross-project-issues-dev mailing listcross-project-issues-...@eclipse.org
>> To unsubscribe from this list, visit 
>> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>>
>> _______________________________________________
>> cross-project-issues-dev mailing list
>> cross-project-issues-dev@eclipse.org
>> To unsubscribe from this list, visit
>> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>>
>
> _______________________________________________
> cross-project-issues-dev mailing listcross-project-issues-...@eclipse.org
> To unsubscribe from this list, visit 
> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>
> _______________________________________________
> cross-project-issues-dev mailing list
> cross-project-issues-dev@eclipse.org
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>
_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev

Reply via email to