eclipse-equinox / p2

Eclipse Public License 2.0
14 stars 39 forks source link

"Verify provisioning operation is compatible with currently running JRE" is not working #508

Closed merks closed 3 months ago

merks commented 3 months ago

Download any 2024-03 EPP package:

https://www.eclipse.org/downloads/packages/

The option is enabled:

image

Add this repo:

image

Run Help -> Check for Updates which offers these:

image

This is the result when trying to restart

image

FYI @jonahgraham

merks commented 3 months ago

FYI, when I also add this site:

https://download.eclipse.org/justj/epp/milestone/latest

JustJ JRE 21 is installed as well and the update process works fine.

jonahgraham commented 3 months ago

Thanks Ed for this investigation work. Does "Verify provisioning operation is compatible with currently running JRE" work when the IDE is not using JustJ at all (i.e. the IDE is using Java17 from the PATH)?

merks commented 3 months ago

I'm 99.99% sure it does not because I have updated some of my regular development IDEs where I do in fact use a local JRE from the file system and those got broken in exactly the same way such that I had to manually edit the eclipse.ini to point at a local Java 21 JDK.

I still need to create a set of steps to reproduce the problem from a debug launch of the Eclipse SDK IDE so that this problem can be tracked down and fix. The unfortunate thing is that we can't really fix existing 2024-03 installations so we (I) should have done this testing during the previous release cycle. 😱

We could automatically open a page in a browser that describes the pending problem and warns people ahead of time about the pending need for Java 21...

jonahgraham commented 3 months ago

I look forward to your getting a reproducible case. I am hoping the issue turns out to be something that is published in the 2024-06 SimRel that fufills the Java21 requirement. We had that problem in the past where some projects had published items to SimRel that broke this.

so we (I) should have

definitely we, not just you! But I do appreciate how personally invested you are in a good user experience!

merks commented 3 months ago

I need to create a repo with a feature including a bundle that needs Java 21. The SimRel repo is too complex...

I can search the repo for that capability, but it's only a a.jre.javase IUs that provide that capability:

image

Hopefully tomorrow I have more time.

merks commented 3 months ago

I created a local repository with a bundle requiring Java 21 and a feature that includes it. When I try to install that feature, it fails like this:

image

But that's if no repo has a.jre.javase IUs. If I add the platform's 4.32 I-build which has a.jre.javase version 23.0 and lower, it fails differently like this:

image


If I install an older version requiring only Java 17, then add a site with a newer version that requires Java 21, and then do a Check for Updates, it finds updates, but I cannot proceed past next. There was no feedback, until I selected the entry again and then there was this feedback presented for why I can't proceed:

image

Even when adding all these available sites (like in an EPP package):

image

it still fails the same way.

If I add a JustJ site that sees a JustJ Java 21 JRE:

image

then I can finish the dialog:

image

But note that it tells me nothing about installing JustJ 21 and in fact it doesn't install that.


So that leaves me still unable to explain/understand why EPP 2024-03 packages update to 2024-06 when running on a Java 17 JRE. 😢

But then an idea struck me.

image

The WWD site added by WWD's touchpoint makes the capabilities available and indeed then I can update/install things that need Java 21. 😱

So it's not p2's that is at fault.

jonahgraham commented 3 months ago

Thanks Ed!