Skip to content
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

8275165 : ProblemList InterpolationQualityTest.java #5930

Closed
wants to merge 2 commits into from

Conversation

lawrence-andrew
Copy link
Contributor

@lawrence-andrew lawrence-andrew commented Oct 13, 2021

InterpolationQualityTest.java test fails consistently on windows 10 hence adding it in the problemList.

@shurymury


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed

Issue

  • JDK-8275165: ProblemList InterpolationQualityTest.java

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/5930/head:pull/5930
$ git checkout pull/5930

Update a local copy of the PR:
$ git checkout pull/5930
$ git pull https://git.openjdk.java.net/jdk pull/5930/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 5930

View PR using the GUI difftool:
$ git pr show -t 5930

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/5930.diff

@bridgekeeper
Copy link

bridgekeeper bot commented Oct 13, 2021

👋 Welcome back lawrence-andrew! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk
Copy link

openjdk bot commented Oct 13, 2021

@lawrence-andrew To determine the appropriate audience for reviewing this pull request, one or more labels corresponding to different subsystems will normally be applied automatically. However, no automatic labelling rule matches the changes in this pull request. In order to have an "RFR" email sent to the correct mailing list, you will need to add one or more applicable labels manually using the /label pull request command.

Applicable Labels
  • build
  • client
  • compiler
  • core-libs
  • hotspot
  • hotspot-compiler
  • hotspot-gc
  • hotspot-jfr
  • hotspot-runtime
  • i18n
  • ide-support
  • javadoc
  • jdk
  • jmx
  • kulla
  • net
  • nio
  • security
  • serviceability
  • shenandoah

@lawrence-andrew
Copy link
Contributor Author

/label 2d

@openjdk
Copy link

openjdk bot commented Oct 13, 2021

@lawrence-andrew The label 2d is not a valid label. These labels are valid:

  • serviceability
  • hotspot
  • hotspot-compiler
  • ide-support
  • kulla
  • i18n
  • shenandoah
  • jdk
  • javadoc
  • security
  • hotspot-runtime
  • jmx
  • build
  • nio
  • client
  • core-libs
  • compiler
  • net
  • hotspot-gc
  • hotspot-jfr

@lawrence-andrew
Copy link
Contributor Author

/label client

@openjdk openjdk bot added the client client-libs-dev@openjdk.org label Oct 13, 2021
@openjdk
Copy link

openjdk bot commented Oct 13, 2021

@lawrence-andrew
The client label was successfully added.

@mrserb
Copy link
Member

mrserb commented Oct 13, 2021

I remember this test was(and is) quite stable, did you check what is the reason of the failure. Is it possible it is caused by some of the @run main/othervm option(d3d/gdi)?

@lawrence-andrew
Copy link
Contributor Author

@mrserb - I run the test with all the options as well as one by one @ main/othervm options and only the following passes.
@run main/othervm -Dsun.java2d.uiScale=1 -Dsun.java2d.d3d=false InterpolationQualityTest

All the other options fails. Only bilinear fails but other two hint passes

nearest passed.
resImage.getRGB(13, 0) = java.awt.Color[r=207,g=207,b=207] != java.awt.Color[r=211,g=211,b=211]
bilinear failed.
bicubic passed.
----------System.err:(14/884)----------
java.lang.RuntimeException: Test FAILED.
at InterpolationQualityTest.test(InterpolationQualityTest.java:158)
at InterpolationQualityTest.main(InterpolationQualityTest.java:186)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:76)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:51)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
at java.base/java.lang.Thread.run(Thread.java:833)


Display resolution is set to 1920 * 1080

Test is tested on VM

@mrserb
Copy link
Member

mrserb commented Oct 13, 2021

It looks like it fail when d3d is enabled by default(unclear why d3d is enabled by default inside of VM), so it passed only when we disable d3d explicitly. Does it fail in the mach5 headful lab or it is the new system?

@lawrence-andrew
Copy link
Contributor Author

Its a latest window on a new VM.

@mrserb
Copy link
Member

mrserb commented Oct 13, 2021

Then double check the VM graphics system configuration, version of the driver, etc. I am worried to disable it completely since this is the only one test we have for interpolation, and it was stable for one year since the last November.

@lawrence-andrew
Copy link
Contributor Author

Checking the VM's graphic system configuration.

@lawrence-andrew
Copy link
Contributor Author

I checked the VM graphics configuration

  1. DirectDraw Acceleration - Enabled
  2. Direct3D Acceleration - Enabled
  3. AGP Acceleration - Enabled
  4. Direct3D DDI - 12
  5. Driver model - WDDM 1.3
  6. HDR : not supported
  7. DirectX version - 12

@mrserb
Copy link
Member

mrserb commented Oct 13, 2021

What happens if you will disable d3d? You also mat try to update the driver or do the opposite and remove it, is the problem in this test only, or do some other tests fail as well?

@lawrence-andrew
Copy link
Contributor Author

  1. There is no enable/ disable button in dxdiag to turn on / off D3D
  2. Tried disabling Hardware acceleration and still not able to disable d3d via regedit
  3. Removed driver and and tried upgrading and still not able to disable d3d.
  4. Finally checked for "Display adapter" in device manager and its not seen.

Since I am able to disable the d3d and test I can't say whether its a test case issue. This test case fails on Windows VMs. Let me try in other hosts.

@prrace
Copy link
Contributor

prrace commented Oct 14, 2021

This VM can't possibly be reporting an AMD or Nvidia D3D card can it ??
That's the only two cases we should be enabling D3D without someone forcing it.
Also this PR has a problem. It claims to be resolving bug 8275165 but that's the bug added to the problem list ...
The bug ID in the problem list needs to be a different one - and that's why this PR is not yet ready for review (no rfr label)

@openjdk openjdk bot added the rfr Pull request is ready for review label Oct 14, 2021
@mlbridge
Copy link

mlbridge bot commented Oct 14, 2021

Webrevs

@prrace
Copy link
Contributor

prrace commented Oct 14, 2021

Yes I was also very surprised to see this stable test fail.

FWIW

  • when connecting by VNC the VM doesn't enumerate a display adapter in Device Manager
  • when connecting by RDP it lists an RDP software one
    It is quite funny actually, connecting via RDP when you were already logged in by VNC you can see it kill the VNC session and the "open" Device Manager quickly refreshes and removes the display adapter.

BOTH seem to claim D3D is supported and enabled by default for 2D
So right now I'm assuming this isn't an adapter on which we'd want to enable D3D and that's why the test fails.

It will take a debugging build to understand what we see in start up that causes 2d to enable the D3D pipeline here.
I am not sure it can be intentional as I have no recollection of that ever being something we would want to do.

This is a blocker for using available VMs for testing.
So until we figure it out then either we PL the test on windows, or we have to update all these lines
below in the test to include -Dsun.java2d.d3d=false

  • @run main/othervm -Dsun.java2d.uiScale=1 -Dsun.java2d.xrender=false InterpolationQualityTest
  • @run main/othervm -Dsun.java2d.uiScale=1 -Dsun.java2d.xrender=True InterpolationQualityTest
  • @run main/othervm -Dsun.java2d.uiScale=1 -Dsun.java2d.d3d=false InterpolationQualityTest
  • @run main/othervm -Dsun.java2d.uiScale=1 -Dsun.java2d.d3d=True InterpolationQualityTest
  • @run main/othervm -Dsun.java2d.uiScale=1 InterpolationQualityTest

BTW we probably need a better way of doing this because where a setting doesn't apply to a platform its a no-op
So on both Windows and Linux we are running this 4 times in the "default" mode and once in another in non-default and then
on Mac 5 times in the same default mode .. and not covering metal there FWIW.

@prrace
Copy link
Contributor

prrace commented Oct 14, 2021

So the way the check is done, we exclude D3D if it is known to be bad hardware. ie it is an exclude list, not an include list.
I suspect the vendorID and/or deviceID are being passed through as unknown so supported until told otherwise.

@prrace
Copy link
Contributor

prrace commented Oct 14, 2021

So it reports the Microsoft Basic Render Driver ..

@bridgekeeper
Copy link

bridgekeeper bot commented Nov 12, 2021

@lawrence-andrew This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@bridgekeeper
Copy link

bridgekeeper bot commented Dec 10, 2021

@lawrence-andrew This pull request has been inactive for more than 8 weeks and will now be automatically closed. If you would like to continue working on this pull request in the future, feel free to reopen it! This can be done using the /open pull request command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client client-libs-dev@openjdk.org rfr Pull request is ready for review
3 participants