-
Notifications
You must be signed in to change notification settings - Fork 0
JVM Crash on monitor changes #214
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
JVM Crash on monitor changes #214
Comments
Dump for the crash: hs_err_pid48724.txt It happens in ImageHandle::getImageData while doing a OS.MoveMemory |
I was able to reproduce it on |
The result is: ffa10849c52645026eb96daca7a8194d48017abb is the first bad commit
commit ffa10849c52645026eb96daca7a8194d48017abb
Author: Heiko Klare <heiko.klare@vector.com>
Date: Wed Jan 15 10:41:21 2025 +0100
Use AutoScaleMethod "smooth" by default for fractional scaling
Currently, AutoScaleMethod "nearest" is used by default, leading to
jagged image scaling results. The method "smooth" is only used on GTK
with a fractional scaling value not being a multiple of 100.
The reason for not using "smooth" scaling on all platform was a bug
regarding icon transparency that has long been resolved.
With this change, AutoScaleMethod "smooth" is used by default in
fractional scaling scenarios (i.e., with deviceZoom not being an integer
multiple of 100) and when using monitor-specific scaling on Windows. To
still use "nearest" in these scenarios, it can be activated via system
property.
.../common/org/eclipse/swt/internal/DPIUtil.java | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-) @HeikoKlare FYI --> eclipse-platform/eclipse.platform.swt@ffa1084 |
Scratch that: I'm re-checking for the 3rd time and now I'm not able to reproduce the error even with the mentioned commit. I even see that the resulting I will bisect again tomorrow. |
Wrong: it starts with I tested with
@akoch-yatta can you please confirm that the commit caused the crash? |
That behavior is definitely not intended and unexpected. I can't see in the code how this could happen, as |
I added a sysout right after the field was set (in DPIUtil). Upon starting the application the value is set and then, when dragging to the other monitor, the sysout produced "SMOOTH". FYI I am out of office for today (currently on my phone) so I will not be very responsive. In case the regression is confirmed, I'd say this needs to be reported in an "official" issue and tagged with "regression". A solution (or a revert) should be committed before the next release. |
Okay, I see. The auto-scaling mode is not adapted when device zoom is 100. I am not sure whether that's our intention. We should check that any maybe adapt When trying to reproduce the issue, a faced another issue with the same setup that I have documented here: #226 |
I am pretty sure this one is related to #71 as well and will probably be fixed by that. I think the switch to Smooth just uncovered the bigger underlying issue. |
Good, I mentioned this in the official issue. I also mentioned that the issue is reproducible when the mode is always
|
I don't see a reason why it shouldn't. It shouldn't have any practical effect, I guess, but out of consistency the check for 100% doesn't really make sense to me, so I would think we should change that yes. Yes thats the one that should be related to #71 |
While playing around with the ControlExample I was able to get a JVM crash. All I needed to do is drag the shell as fast as possible between two monitors
The text was updated successfully, but these errors were encountered: