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

Enable reproducable comparation in aqa-tests on windows #3778

Merged
merged 19 commits into from May 15, 2024

Conversation

sophia-guo
Copy link
Contributor

Fix #3711

Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
Set copy and delelet failonerror="false" to support original repo name
openjdk-build.

Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
@sophia-guo sophia-guo marked this pull request as draft April 29, 2024 19:53
@github-actions github-actions bot added the windows Issues that affect or relate to the WINDOWS OS label Apr 29, 2024
@sophia-guo
Copy link
Contributor Author

sophia-guo commented Apr 29, 2024

Using release build https://ci.adoptium.net/job/build-scripts/job/jobs/job/release/job/jobs/job/jdk22u/job/jdk22u-release-windows-x64-temurin/7/

Grinder https://ci.adoptium.net/view/Test_grinder/job/Grinder/9826/console

14:41:04  Make JDK Any Platform Argument List = 
14:41:04  --clean-git-repo --jdk-boot-dir /cygdrive/c/comp-jdk-build/jdk-21.0.2+13 --target-file-name OpenJDK22U-jdk_x64_windows_hotspot_22.0.1_8.zip --release --clean-libs --tag jdk-22.0.1+8_adopt --create-jre-image --create-sbom --user-openjdk-build-root-directory C:/workspace/openjdk-build/workspace/build/openjdkbuild--freetype-dir bundled --use-jep319-certs --create-debug-image --build-variant temurin --build-reproducible-date "2024-04-16 00:00:00" --configure-args "--disable-warnings-as-errors --disable-ccache --with-toolchain-version=2022 --with-ucrt-dll-dir=temporary_speech_mark_placeholderC:/PROGRA~2/WI3CF2~1/10/Redist/100226~1.0/ucrt/DLLs/x64temporary_speech_mark_placeholder " jdk22u

14:47:48  checkoutRequiredCodeToBuild:
14:47:48    workspace = /cygdrive/c/comp-jdk-build/temurin-build/workspace/./build//src
14:47:48    BUILD_VARIANT = hotspot
14:47:48    TAG = jdk-22.0.1+8_adopt
14:47:48    BRANCH = master
14:47:50  tree d1e46c26a3dc0030e6adc02f7283fc4729ec5b91
14:47:50  parent b2fbc8283e3f948ae01eb0792c46854c796565b8
14:47:50  author Aleksey Shipilev <shade@openjdk.org> 1714406553 +0000
14:47:50  committer Aleksey Shipilev <shade@openjdk.org> 1714406553 +0000
14:47:50  
14:47:50  8324121: SIGFPE in PhaseIdealLoop::extract_long_range_checks
14:47:50  8329163: C2: possible overflow in PhaseIdealLoop::extract_long_range_checks()
14:47:50  
14:47:50  Backport-of: cb2a6713596548d76c03912709656172b0bbcc76
14:47:50  look like the scm ref given is a valid sha, so treat it as a sha
14:47:50  Checking out tag jdk-22.0.1+8_adopt
14:47:50  fatal: couldn't find remote ref refs/tags/jdk-22.0.1+8_adopt

Console of release build


04:58:37  Filename will be: OpenJDK22U-jdk_x64_windows_hotspot_22.0.1_8.zip
04:58:37   /cygdrive/c/workspace/openjdk-build/build-farm/../makejdk-any-platform.sh --clean-git-repo --jdk-boot-dir /cygdrive/c/openjdk/jdk-21 --configure-args  --disable-warnings-as-errors --disable-ccache --with-toolchain-version=2022 --with-ucrt-dll-dir='C:/progra~2/wi3cf2~1/10/Redist/10.0.22621.0/ucrt/DLLs/x64' --target-file-name OpenJDK22U-jdk_x64_windows_hotspot_22.0.1_8.zip   --release --clean-libs --tag jdk-22.0.1+8_adopt --create-jre-image --create-sbom --make-exploded-image --user-openjdk-build-root-directory C:/workspace/openjdk-build/workspace/build/openjdkbuild --freetype-dir bundled --use-jep319-certs --create-debug-image --build-variant temurin jdk22u

05:03:13  checkoutRequiredCodeToBuild:
05:03:13    workspace = /cygdrive/c/workspace/openjdk-build/workspace/./build//src
05:03:13    BUILD_VARIANT = temurin
05:03:13    TAG = jdk-22.0.1+8_adopt
05:03:13    BRANCH = dev
05:03:15  fatal: Not a valid object name dev
05:03:15  Checking out tag jdk-22.0.1+8_adopt
05:03:28  Note: switching to 'jdk-22.0.1+8_adopt'.

@sophia-guo
Copy link
Contributor Author

sophia-guo commented Apr 29, 2024

Opts after C:/workspace/openjdk-build/workspace/build/openjdkbuild--freetype-dir bundled can't be parsed. Seems parse problem as there is space missing --user-openjdk-build-root-directory C:/workspace/openjdk-build/workspace/build/openjdkbuild--freetype-dir before option --freetype-dir

@sophia-guo
Copy link
Contributor Author

sophia-guo commented Apr 30, 2024

Also the other parser also feels not good? temporary_speech_mark_placeholder?

--with-ucrt-dll-dir=temporary_speech_mark_placeholderC:/PROGRA~2/WI3CF2~1/10/Redist/100226~1.0/ucrt/DLLs/x64temporary_speech_mark_placeholder

Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
@sophia-guo
Copy link
Contributor Author

sophia-guo commented Apr 30, 2024

Seem machine not supported?

https://ci.adoptium.net/view/Test_grinder/job/Grinder/9837/console

https://ci.adoptium.net/computer/test-azure-win2022-x64-3/

17:51:45  Checking Visual Studio Version Retrieved From SBOM : microsoft (Microsoft Visual Studio 2022)
17:51:45  Visual Studio Version: 2022
17:51:45  Visual Studio Base Path = /cygdrive/c/Program Files/Microsoft Visual Studio/2022
17:51:45  
17:51:45  Checking For C & C++ VS Compilers In : /cygdrive/c/Program Files/Microsoft Visual Studio/2022/
17:51:49  Found C Compiler : /cygdrive/c/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.37.32822/bin/Hostx64/x64/cl.exe : Version : 19.37.32822
17:51:49  Found C++ Compiler : /cygdrive/c/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.37.32822/bin/Hostx64/x64/cl.exe : Version : 19.37.32822
17:51:49  ---------------------------------------------
17:51:52  ---------------------------------------------
17:51:52  No Match - Set To Derived Version
17:51:52  REQ UCRT = 10.0.22621.1778 (WinBuild.160101.0800)
17:51:52  Check For UCRT DLL In : C:/Program Files (x86)/Windows Kits/10/Redist
17:51:55  ERROR - A Version Of ucrtbase.dll matching 10.0.22621.1778 (WinBuild.160101.0800)
 was not found on this system - Exiting
17:51:55  -----------------------------------
17:51:55  Rebuild_Same_JDK_Reproducibility_Test_win_0_FAILED

https://ci.adoptium.net/computer/build-azure-win2022-x64-2/ doesn't has this issue.

@sophia-guo sophia-guo force-pushed the reproWin branch 5 times, most recently from 679af32 to 486f601 Compare May 8, 2024 16:46
Manually adding delimiter need to consistently update whenever parsing
parameters changes.

Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
@sophia-guo
Copy link
Contributor Author

sophia-guo commented May 8, 2024

13:13:36  build.sh : 17:13:36 : Configuring workspace inc. clone and cacerts generation ...
13:13:36  ERROR: Existing user supplied OpenJDK build root directory C:/workspace/openjdk-build/workspace/build/openjdkbuild is not empty

https://ci.adoptium.net/view/Test_grinder/job/Grinder/9886/console
https://ci.adoptium.net/view/Test_grinder/job/Grinder/9885/

Looks like temurin build doesn't clean the directory if it's exist? BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]="C:/workspace/openjdk-build/workspace/build/openjdkbuild".

Is it safe to clean the directory on test-azure-win2019-x64-1 so I can move on testing? @steelhead31 ? Also https://ci.adoptium.net/computer/test-azure-win2022-x64-1/ no jq installed.

https://ci.adoptium.net/computer/test-azure-win2022-x64-3/ htis WIN_URCT_BASE="C:/Program Files (x86)/Windows Kits/10/Redist" issue

@steelhead31
Copy link
Contributor

steelhead31 commented May 8, 2024

Is it safe to clean the directory on test-azure-win2019-x64-1 so I can move on testing? @steelhead31 ? Also https://ci.adoptium.net/computer/test-azure-win2022-x64-1/ no jq installed.

@sophia-guo 

I've cleared the directory from test-azure-win2019-x64-1 it was safe to remove

test-azure-win2022-x64-2 definitely has jq installed , it maybe that jenkins hadn't picked up the change, please try again on that node.

test-azure-win2022-x64-3 may not have that specific version of the SDK installed as its a test machine, rather than a build machine... Its also possible its been removed or updated by windows update or similar, I'll have a look tomorrow, and try and rectify this.

@steelhead31
Copy link
Contributor

Also the other parser also feels not good? temporary_speech_mark_placeholder?

--with-ucrt-dll-dir=temporary_speech_mark_placeholderC:/PROGRA~2/WI3CF2~1/10/Redist/100226~1.0/ucrt/DLLs/x64temporary_speech_mark_placeholder

This is an existing issue in the build scripts, not much I can do about this one :)

@steelhead31
Copy link
Contributor

@sophia-guo I've tidied up the win2022-build-1 workspace directory and also fixed the issue with the SDK on test-3

@sophia-guo
Copy link
Contributor Author

@steelhead31 https://ci.adoptium.net/label/hw.arch.x86&&ci.role.test&&windows/

test-azure-win2019-x64-1 is offline
https://ci.adoptium.net/computer/test-azure-win2022-x64-1/ no jq ( not test-azure-win2022-x64-2 , both are busying right now)

The folder exists and job exit I mentioned this morning is the following

12:48:46  ERROR: Existing user supplied OpenJDK build root directory C:/workspace/openjdk-build/workspace/build/openjdkbuild is not empty

https://ci.adoptium.net/view/Test_grinder/job/Grinder/9885/console

On build-azure-win2022-x64-2. This is a build machine, and the directory is the same for build. I'm not sure if it's safe to force delete.

@steelhead31
Copy link
Contributor

@steelhead31 https://ci.adoptium.net/label/hw.arch.x86&&ci.role.test&&windows/

test-azure-win2019-x64-1 is offline https://ci.adoptium.net/computer/test-azure-win2022-x64-1/ no jq ( not test-azure-win2022-x64-2 , both are busying right now)

The folder exists and job exit I mentioned this morning is the following

12:48:46  ERROR: Existing user supplied OpenJDK build root directory C:/workspace/openjdk-build/workspace/build/openjdkbuild is not empty

https://ci.adoptium.net/view/Test_grinder/job/Grinder/9885/console

On build-azure-win2022-x64-2. This is a build machine, and the directory is the same for build. I'm not sure if it's safe to force delete.

test-azure-win2019-x64-1 is back online
jq is definitely present on both test-azure-win2022-x64-1 & test-azure-win2022-x64-2

C:/workspace/openjdk-build/workspace/build/openjdkbuild

has been removed from build-azure-win2022-x64-2

Let me know if the jq issue persists, and if there is a grinder, as I think it will need more investigation

@sophia-guo
Copy link
Contributor Author

sophia-guo commented May 9, 2024

@steelhead31 yes, grinder still available https://ci.adoptium.net/view/Test_grinder/job/Grinder/9862/console

13:00:32  WARNING: JQ is not installed. Attempting To Install Via Apt-Cyg
13:00:32  Checking If Apt-Cyg Is Already Installed
13:00:32  Installing apt-cyg
13:00:34  mv: cannot move 'apt-cyg' to '/usr/local/bin/apt-cyg': Permission denied
13:00:34  -----------------------------------

I've made it keep forever. When it's not needed please delete it. (I don't have that permission)

Interesting I rerun seem no jq issue https://ci.adoptium.net/view/Test_grinder/job/Grinder/9896/

@sophia-guo
Copy link
Contributor Author

sophia-guo commented May 9, 2024

Seems rebuild is ok, still some directory issue

12:33:36  Copying found debug symbols to jdk-22.0.1+8-debug-image
12:33:40  378794 blocks
12:33:40  Finished cleaning and moving archive files from jdk-22.0.1+8
12:33:40  PERFORM_COPYING=false
12:33:40   Skipping copying of the free font library to jdk-22.0.1+8, does not apply for this version of the JDK. 
12:33:40  PERFORM_COPYING=false
12:33:40   Skipping copying of the free font library to jdk-22.0.1+8-jre, does not apply for this version of the JDK. 
12:33:41  OpenJDK JDK path will be jdk-22.0.1+8. JRE path will be jdk-22.0.1+8-jre
12:33:41  Archiving and compressing with gzip
12:33:41  Requested to archive a dir outside of workspace
12:33:41  cp: cannot stat '/cygdrive/c/comp-jdk-build/temurin-build/workspace/target/OpenJDK22U-jdk_x64_windows_hotspot_22.0.1_8.zip': No such file or directory
12:33:41  -----------------------------------
12:33:41  Rebuild_Same_JDK_Reproducibility_Test_win_0_FAILED

https://ci.adoptium.net/view/Test_grinder/job/Grinder/9896/console

@sophia-guo
Copy link
Contributor Author

I'm hitting this issue https://ci.adoptium.net/view/Test_grinder/job/Grinder/9897/ again

BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]="C:/workspace/openjdk-build/workspace/build/openjdkbuild"

10:29:49  build.sh : 14:29:49 : Configuring workspace inc. clone and cacerts generation ...
10:29:49  ERROR: Existing user supplied OpenJDK build root directory C:/workspace/openjdk-build/workspace/build/openjdkbuild is not empty
10:29:49  cp: cannot stat '/cygdrive/c/comp-jdk-build/temurin-build/workspace/target/OpenJDK22U-jdk_x64_windows_hotspot_22.0.1_8.zip': No such file or directory
10:29:49  -----------------------------------
10:29:49  Rebuild_Same_JDK_Reproducibility_Test_win_0_FAILED
10:29:49  -----------------------------------

@andrew-m-leonard what's this parameter BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY] for? This is a directory ("C:/workspace/openjdk-build/workspace/build/openjdkbuild") outside of jenkins job workspace. I guess due to permission issue on windows it has to be out of jenkins job workspace. The problem is jenkins job cleanWS won't clean this directory. Is it safe for ci-jenkins-pipeline or temurin-build script to do the cleanup before build?

@sophia-guo sophia-guo force-pushed the reproWin branch 2 times, most recently from 97edbde to 10198a3 Compare May 13, 2024 19:44
Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
@sophia-guo sophia-guo force-pushed the reproWin branch 2 times, most recently from 1da9d47 to aabec08 Compare May 14, 2024 13:15
Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
@smlambert smlambert changed the title Enable reproduicable comparation in aqa-tests on windows Enable reproducable comparation in aqa-tests on windows May 14, 2024
Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
@sophia-guo sophia-guo marked this pull request as ready for review May 15, 2024 11:31
@sophia-guo sophia-guo marked this pull request as draft May 15, 2024 11:32
Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
@sophia-guo
Copy link
Contributor Author

@sophia-guo sophia-guo marked this pull request as ready for review May 15, 2024 11:35
@sophia-guo sophia-guo requested a review from smlambert May 15, 2024 11:35
Copy link
Contributor

@andrew-m-leonard andrew-m-leonard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Contributor

@steelhead31 steelhead31 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Signed-off-by: Sophia Guo <sophia.gwf@gmail.com>
@sophia-guo sophia-guo marked this pull request as draft May 15, 2024 14:02
@sophia-guo sophia-guo self-assigned this May 15, 2024
@sophia-guo sophia-guo marked this pull request as ready for review May 15, 2024 15:31
@sophia-guo
Copy link
Contributor Author

#3778 (comment)

@andrew-m-leonard Thanks! Very clear and helpful!

@sophia-guo sophia-guo merged commit ad4a1c3 into adoptium:master May 15, 2024
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
windows Issues that affect or relate to the WINDOWS OS
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add reproducible comparison tests on windows
3 participants