-
Notifications
You must be signed in to change notification settings - Fork 16
Eclipse 2025-06 fails to start if CodeTogether's devstyle Darkest Dark theme is installed #310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
PS. Option 5 is to do nothing, but that seems a rather undesirable outcome to me. |
Thanks for taking care of this issue. My personal opinion would be a combination of Option 3 and 4. As option 4 it only requires a little technical change and making it public will (hopefully) explain why an update does not happen and will also increase the pressure on Genuitec to fix this issue in their code. But all of this should be communicated to Genuitec in advance to make clear to them that currently it looks like the situation will be really bad, for their free users and paying customers. Hopefully this convinces them to handle this issue with priority. Btw. do you or anybody else know anybody in the Eclipse developer community who works there that we can contact? |
Option 3 is the most important long term one. If it means naming a plugin and pointing to it as an example "HOW NOT TO DO THINGS" so be it. Short term fix could be even explicitly blocking/removing devstyle plugin (might be simpler than trying to explain things via the p2 ui). |
Could you please push a PR with the proposed change. |
FYI, this is the stack trace that I get:
A negative requirement will look much like this: https://github.com/eclipse-packaging/packages/pull/270/files We'd want a version range that excludes the current version but not a newer one that might come out. I made this grab while installing so we can probably focus on excluding the feature. Note too that with Oomph's notification support we can show a page in the IDE that will show only for people who have this plugin installed... |
- Also switch back to building against staging. eclipse-packaging#310
I tested adding a
And with that installed, I tried to install darkest dark which fails in the expected way: So this approach should help prevent problems... |
I've prototyped the notification page, which adjusts to the theme:
It looks like this in the IDE: The notification shows only if the problematic version of the feature is installed: This new page is showing IDE WG logos: |
The PR for option 4 (and to switch back to building against staging) is ready to merge: EPP packages for M3 are built and have been notarized. I'll wait for @jonahgraham to verify that we are ready to enable staging builds again... |
Just in case one can delete the plugin from the plugins folder and start with |
Do we know the nature of the weaving hook? Is it something that can be identified. Perhaps we provide a way to deny list the hook such that the framework never calls it and logs an error? |
@tjwatson As it is closed source its of course not that easy (one might use class decompiler for some rough overview) the only trace I found in the logs are
where it seem to fail weave some code with newer java versions. Beside that it seem to redirect class to load some images, and these then fail later on as the referenced class is no longer there at runtime. I really don't see a good way here to handle it on the framework level. |
Here are the WeavingHook services:
I can quickly write up a PR that blocks the |
We have a fix merged in Eclipse Platform eclipse-platform/eclipse.platform.ui#3002 This will prevent users with com.genuitec.eclipse.theming.core.feature installed from updating Eclipse Platform until genuitec also provides a fixed version. @merks I think we need this too #310 (comment) - not sure when to turn it on. |
It is rather easy: |
@tjwatson - we are discussing this now at the IDE biweekly calls. For now the consensus is we shouldn't do this, at least not yet. If we want to do something like this we need to get EMO involved too. |
Interesting. How is that different than preventing an upgrade? |
Basically version ranges. I suspect if we disabled just the known version in the weaving we would be ok. With eclipse-platform/eclipse.platform.ui#3002 merged, do you think we need the weaving hook disable too? |
Maybe not, I just worry they publish regular updates and we quickly will go past our short-lived range: |
I am having to hope for good intentions from genuitec - see emails in eclipse-cdt/cdt#1164. They know about the problem, so I hope they don't publish a new version. I have asked them to get involved here, but so far radio silence on public engagement. |
*so I hope they don't publish a new broken version. |
They don't publish regular updates, and are "promising" to work on a fix. The listing says:
And that's reflected in the qualifier version... So it seems reasonably safe to assume that if/when there is an update now, it will be the one that fixes the problem. That's of course in everyone's best interesting especially and including for genuitec. |
OK, we can keep the nuclear option for later if things to go well. |
The notification describe in #310 (comment) have been committed and should be live soon... |
Hi, here from CodeTogether. We are actively working on this. We've identified two different areas that we need to address to ensure full compatibility. One is fixed and pending release and we are confirming now the fix the remaining issue. We are targeting a fix release by mid-next week. Thanks for the investigation and visibility. |
Thanks @wgalanciak for the timeline. |
Could someone implement a proper: "DONT REMIND" feature? And there isn't an update that could remove this problem in the first place... I get you want to inform people. Anyways please fix the "warning" so it can be disabled. |
On which OS are you? And which version of the bundle |
@merks After looking into the folder you told me it is here, and the log told this: Also this file doesn't exist for me. |
I’m on Windows 10 as well. Does pushing the button actually close the view? Is there maybe something in the error log that might provide a clue? Of course I want to make sure this works, but it’s hard to fix a problem I can’t reproduce, and don’t have even a theory about what might be going wrong. If the button closes the view, the logic to record the URI must be in place but that you don’t see the save result calls that into question. 🤔 |
@merks no it doesn't close it, it doesn't even react. the only link that works is this one that gets you to this issue. I also looked through logs and 0 errors . Not even in eclipse "error tab" (not the log folder) is a log. Anyways, It would be nice if the next update when this is fixed for later eclipse versions that this warning label simply gets disabled instead. That way this fixes itself for me. |
OK. That makes a little more sense. I’ll have to look at the version history tomorrow. In any case we’ll remove the notification when the problem is fixed by a new version of darkest dark. We’re still waiting for that. |
It has been fixed, I am sure that @wgalanciak will be here soon to confirm it, but I just tried and installing darkest dark and it worked. The negative p2 did what it was supposed to do as well when upgrading a 2025-03 install with the theme installed. One of the biggest issues I had with this issue is there was no indication in the error messages that the cause was genuitec's CodeTogether/Devstlye/Darkest Dark theme. With the negative p2 requirement in place the error messages about p2 issues nicely all mention genuitec's bundle name, so it will be easier to redirect people to the correct support channel. I am closing this issue now as there is nothing left for Eclipse Packaging to do on it. |
PS. @wgalanciak you may want to rename your update site to something other than |
I tried creating an 2024-09 installation and even forcing the viewer to use IE instead of Edge, but the button and functionality works. The release version In any case, you can now avoid the problem now by installing devstyle again, which will be converted to an update operation to get the fixed version. I tested that it works: |
I'm not sure if you folks have noticed that not all your features can be installed because of missing dependencies: https://www.eclipse.org/setups/marketplace/?id=3274405
You should probably test that and ensure your site contains any necessary dependencies that are not available via the release train repository. |
@merks here is my version I tried updating it since it seems outdated to yours. Note that i only have the theme not the other features dev style comes with. |
Well of course you have the problematic version installed. That's why the notification comes up. This site definitely has a new version: https://devstyle.codetogether.io/ As seen in the repository explorer: And, as I showed, I was able to install that into a 2024-09 IDE. I'm not sure what you tried, but using Install New Software with that site, being sure to not hide already installed items you should be able to update to that new version: The notification is updated with new information as well. |
I can confirm that the new plugin version works with 2025-06 however there are few nits that could make the experience better. @wgalanciak If you try to update the plugin via the Marketplace in a <=2025-03 install, you get an "operation plan must be resolved" error. You can update it via "Help/Install New Software" though. Also, is there a way we can report plugin issues directly to CodeTogether? And yeah, "Eclipse Project Test Site" probably isn't what you want to name the update entry. :) @jonahgraham You may want to change the reminder text to instruct users to upgrade DevStyle via "Help/Install New Software" before updating to 2025-06. Thanks again to you both for working this issue! |
It’s a good idea. I did expect update to work. Maybe you want to create a PR? Otherwise I look at it tomorrow. |
@merks after updating manually (not automatically) it has fixed all my issues. |
Very good. I really appreciate when people provide status updates. Yes helping is its own reward, but thank yous are the icing on the cake 🧁 |
FYI, I've updated the notification with instructions: |
This is a more suitable location to discuss the issues raised in eclipse-cdt/cdt#1164 - here is just a summary.
If you install devstyle Darkest Dark theme in Eclipse IDE 2025-06 the IDE will fail to start due to some byte-code manipulation that the plug-in does that breaks Eclipse startup.
While this problem is not a bug in Eclipse or its projects, the theme is one of the most popular plug-ins on the Eclipse marketplace, with probably 10s of thousands of installs that will be broken if they updated to latest Eclipse release in June. Therefore the damage to Eclipse's users will be large.
Therefore we will need to figure out how to mitigate this for our users. I have reached out to genuitec (see emails in eclipse-cdt/cdt#1164) but as of now they have not proposed a solution and there is very little time to resolve this.
Possible ways forward are:
This is undesirable as it is not obvious exactly how widespread these reversions may have to be, not how long Eclipse non-API would be held back.
I don't know if this is feasible, the way that devstyle is byte manipulating and weaving seems very difficult to insulate against
We can just try to publicize this, but the workaround for users if they end up with a broken install is non-trivial to do. Since the IDE won't start you can't simply undo the faulty install. The reality is that most people won't pay attention until they have a broken IDE
this will prevent users from installing specific version of devstyle into 2025-06, or prevent Eclipse 2025-03 with devstyle installed from upgrading to 2025-06. The p2 UI here isn't particularly clear as to why the install is being prevented
I solicit input from the community on what to do here. There is not much time to resolve this, if any change needs to be made in Eclipse Platform we have less than 1 week to come up with a solution.
The text was updated successfully, but these errors were encountered: