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

Run strace on jenkins Linux agents to generate list of packages we use for build #3087

Closed
zdtsw opened this issue Aug 30, 2022 · 19 comments
Closed
Assignees
Labels
jenkins Issues that enhance or fix our jenkins server reproducible-build security

Comments

@zdtsw
Copy link
Contributor

zdtsw commented Aug 30, 2022

To continue with #2813 (comment)
run the similar "strace" on jenkins Linux agents for different jdk versions , in order to generate a list of packages we use during build.

This is not needed to be run regularly at the moment, due to high disk usage for all strace output files and the extra time.

the output of this issue (the list) should be used as input for #3086 as baseline

@github-actions github-actions bot added the jenkins Issues that enhance or fix our jenkins server label Aug 30, 2022
@zdtsw zdtsw added reproducible-build and removed jenkins Issues that enhance or fix our jenkins server labels Aug 31, 2022
@github-actions github-actions bot added the jenkins Issues that enhance or fix our jenkins server label Aug 31, 2022
@zdtsw zdtsw self-assigned this Aug 31, 2022
@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 1, 2022

created test job https://ci.adoptopenjdk.net/view/work-in-progress/job/wen_strace_list_0/ to run on jdk19 linux x64

@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 1, 2022

so the basic idea of this job is to only update some flags in temurin-build and the jenkins job parameter

  • we have some hardcoded logic to build debugimage static-lib regardless the input parameter for BUILD_ARGS
  • we have some control on the jenkins job level as ENABLE_* and BUILD_ARGS
  • think the key part in jenkins job is to dump into two files: configure.txt and makeCommandArg.txt and execute them

I tried to create a freestyle job in jenkins wen_strace_list, and I want to just do the basic steps as manually done in "strace" original issue, but the difficulty is, seems by someway we are using docker container for the build and i need to find a way to run the same thing by write some script in freestyle. That's why i did not continue with that.

@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 1, 2022

strace is not installed in adoptopenjdk/centos6_build_image
I have to build one with strace (tried to install by yum in build script but that is changed to user jenkins 1000 so yum wont work)
https://quay.io/repository/wenzhou/centos6_build_image

@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 2, 2022

i am very surprised, the result from running from our pipeline https://ci.adoptopenjdk.net/view/work-in-progress/job/wen_strace_list_0/15/ with archived strace_archivefile shows a very different result
e.g

strace.51538:openat(AT_FDCWD, 0x1e0c0f0, O_RDONLY|O_NOCTTY|O_NONBLOCK|O_DIRECTORY) = 3
strace.51538:openat(4, 0x1e15730, O_RDONLY|O_NOCTTY|O_NONBLOCK|O_DIRECTORY) = 3
strace.51632:openat(AT_FDCWD, 0x23910f0, O_RDONLY|O_NOCTTY|O_NONBLOCK|O_DIRECTORY) = 3
strace.51632:openat(4, 0x239a720, O_RDONLY|O_NOCTTY|O_NONBLOCK|O_DIRECTORY) = 3
strace.51687:openat(AT_FDCWD, 0x11750f0, O_RDONLY|O_NOCTTY|O_NONBLOCK|O_DIRECTORY) = 3
strace.51716:openat(AT_FDCWD, 0x25970f0, O_RDONLY|O_NOCTTY|O_NONBLOCK|O_DIRECTORY) = 3
strace.51870:openat(AT_FDCWD, 0xaae0f0, O_RDONLY|O_NOCTTY|O_NONBLOCK|O_DIRECTORY) = 3

does not include any path of the files but only address?
same for systemcall execve

strace.9973:execve(0x20376d0, [0x203b3f0], [/* 0 vars */]) = 0
strace.9974:execve(0x2037700, [0x203b3f0], [/* 0 vars */]) = 0
strace.9975:execve(0x1b395c0, [0x1b3ace8], [/* 0 vars */]) = 0
strace.9976:execve(0x245e170, [0x2457300], [/* 0 vars */]) = 0
strace.9977:execve(0x1b3aae0, [0x1b3b1b8], [/* 0 vars */]) = 0
strace.9980:execve(0x24578f0, [0x245b530], [/* 0 vars */]) = 0

which is totally different from the same image i used locally.
even i did jdk18u>bash configure --with-source-date=version --verbose --with-vendor-name='Eclipse Adoptium' --with-vendor-url=https://adoptium.net/ --with-debug-level=release --with-native-debug-symbols=none --disable-ccache --with-build-user=temurin --with-jvm-variants=server --disable-warnings-as-errors --enable-dtrace then jdk18u>strace -o strace_result/strace -ff -e openat,execve make product-images
still i got

strace.3722976:openat(AT_FDCWD, "/home/wenzhou/GitHub/Source/jdk18u/src/hotspot/share/utilities/compilerWarnings.hpp", O_RDONLY|O_NOCTTY) = 3
strace.3722976:openat(AT_FDCWD, "/home/wenzhou/GitHub/Source/jdk18u/src/hotspot/share/gc/g1/gc/g1/g1EdenRegions.hpp", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.3722976:openat(AT_FDCWD, "/home/wenzhou/GitHub/Source/jdk18u/build/linux-x86_64-server-release/hotspot/variant-server/libjvm/objs/precompiled/gc/g1/g1EdenRegions.hpp", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.3722976:openat(AT_FDCWD, "/home/wenzhou/GitHub/Source/jdk18u/build/linux-x86_64-server-release/hotspot/variant-server/gensrc/adfiles/gc/g1/g1EdenRegions.hpp", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)

@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 2, 2022

boot jdk is also needed to set for the "configure"
because pipeline download jdk19 into $ROOT/jdk19 in the build container, if not specify this, autoconf only find jdk8 which not suitable

in my local, since i have both jdk8 and jdk18 installed, it picks jdk18

@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 2, 2022

create another job https://ci.adoptopenjdk.net/view/work-in-progress/job/wen_strace_list_alpine/1/console
this is running on the alpine image and see if we get what we want from strace file with file name

@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 2, 2022

⭐ to also sum up: ⭐
a) in the original issue #2813:

  • run on my local RHEL8
  • run in a container from alpine_build_image + manual install "strace" without mounting volumn
    both two shows file path

B)
When run in a container built from "centos6_build_image + yum install strace" + normal jenkins pipeline scripts for mounting from local workspace + start with user jenkins(1000) + env passing into container, e.g https://ci.adoptopenjdk.net/view/work-in-progress/job/wen_strace_list_0
which does not work: as only show address not file path
in job wen_strace_list_alpine
temurin-build branch: zdtsw/strace
to build jdk:19
log: https://ci.adoptopenjdk.net/view/work-in-progress/job/wen_strace_list_0/19/consoleFull (job aborted but can find all strace files from artifacts)

C)
When run in a container built from "alpin3_build_image + apk add strace" + normal jenkins pipeline scripts for mouting local workspace + start with user jenkins + env passing into container e.g https://ci.adoptopenjdk.net/view/work-in-progress/job/wen_strace_list_alpine
seems work, at least it got the list of files from strace and it does not take much longer than the standard build job
temurin-build-branch: zdtsw/strace_alpine
to build jdk:19
log: https://ci.adoptopenjdk.net/view/work-in-progress/job/wen_strace_list_alpine/5/
#3087 (comment)

D)
When run in a container build from "centos6_build_image + yum install strace" + normal jenkins pipeline script fro mounting local workspace + start with user jenkins + env passing into container e.g https://ci.adoptopenjdk.net/view/work-in-progress/job/wen_strace_list_centos6_jdk18
same as for jdk19, no file name only address
temurin-build-branch: zdtsw/strace_centos6_jdk18
to build jdk: 18
log: https://ci.adoptopenjdk.net/view/work-in-progress/job/wen_strace_list_centos6_jdk18/1/

E)
When run in local env to start build from container by "centos6_build_image + yum install strace" + with root user + git clone inside of container , seems work too
not using temurin-build script, only native build commands
to build jdk:18
log: #3087 (comment)

D) and E):

  • common part: jdk18 , same image
  • difference:
  1. user one use jenkins, one use root
  2. mount one mount to docker host's workspace , one does not
  3. certs one use cacert one does not
  4. one use config command bash ./configure --verbose --with-vendor-name="Eclipse Adoptium" --with-vendor-url=https://adoptium.net/ --with-vendor-bug-url=https://github.com/adoptium/adoptium-support/issues --with-vendor-vm-bug-url=https://github.com/adoptium/adoptium-support/issues --without-version-opt --without-version-pre --with-version-build=1 --with-vendor-version-string=Temurin-18.0.2.1+1 --with-boot-jdk=/usr/lib/jvm/jdk-17 --with-debug-level=release --with-native-debug-symbols=none --enable-ccache --with-jvm-variants=server --with-cacerts-src=/home/jenkins/workspace/wen_strace_list_centos6_jdk18/sbin/../security/certs --disable-warnings-as-errors --enable-dtrace'
    one use
    bash configure --with-source-date=version --verbose --with-vendor-name='Eclipse Adoptium' --with-vendor-url=https://adoptium.net/ --with-debug-level=release --with-native-debug-symbols=none --disable-ccache --with-build-user=temurin --with-jvm-variants=server --disable-warnings-as-errors --enable-dtrace

@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 2, 2022

some input of building inside of container locally, requires GCC ld version which is not the default one in the image:

export CC=/usr/local/gcc11/bin/gcc-11.2
export CXX=/usr/local/gcc11/bin/g++-11.2
export PATH=/usr/local/gcc11/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc11/lib:$LD_LIBRARY_PATH

@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 2, 2022

one extra findings: /home/adoptopenjdk/ is used for alpine x64, /home/jenkins is used for other builds

@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 3, 2022

from https://ci.adoptopenjdk.net/view/work-in-progress/job/wen_strace_list_alpine/4/console
12:46:36 #### list all packages installed by apk or not
12:46:36 /bin/bash is owned by bash-5.1.16-r0
12:46:36 /bin/cat symlink target is owned by busybox-1.34.1-r7
12:46:36 /bin/chmod symlink target is owned by busybox-1.34.1-r7
12:46:36 /bin/cp symlink target is owned by busybox-1.34.1-r7
12:46:36 /bin/date symlink target is owned by busybox-1.34.1-r7
12:46:36 /bin/grep is owned by grep-3.7-r0
12:46:36 /bin/ln symlink target is owned by busybox-1.34.1-r7
12:46:36 /bin/ls symlink target is owned by busybox-1.34.1-r7
12:46:36 /bin/mkdir symlink target is owned by busybox-1.34.1-r7
12:46:36 /bin/mv symlink target is owned by busybox-1.34.1-r7
12:46:36 /bin/nice symlink target is owned by busybox-1.34.1-r7
12:46:36 /bin/rm symlink target is owned by busybox-1.34.1-r7
12:46:36 /bin/sed is owned by sed-4.8-r0
12:46:36 /bin/sh is owned by busybox-1.34.1-r7
12:46:36 /bin/touch symlink target is owned by busybox-1.34.1-r7
12:46:36 ERROR: /home/adoptopenjdk/workspace/wen_strace_list_alpine/jdk-19/bin/jar: Could not find owner package
12:46:36
12:46:36 ERROR: /home/adoptopenjdk/workspace/wen_strace_list_alpine/jdk-19/bin/java: Could not find owner package
12:46:36
12:46:36 ERROR: /home/adoptopenjdk/workspace/wen_strace_list_alpine/jdk-19/lib/jspawnhelper: Could not find owner package
12:46:36
12:46:36 ERROR: /home/adoptopenjdk/workspace/wen_strace_list_alpine/workspace/build/src/build/linux-x86_64-server-release/images/jdk/bin/java: Could not find owner package
12:46:36
12:46:36 ERROR: /home/adoptopenjdk/workspace/wen_strace_list_alpine/workspace/build/src/build/linux-x86_64-server-release/jdk/bin/java: Could not find owner package
12:46:36
12:46:36 ERROR: /home/adoptopenjdk/workspace/wen_strace_list_alpine/workspace/build/src/build/linux-x86_64-server-release/jdk/bin/jlink: Could not find owner package
12:46:36
12:46:36 ERROR: /home/adoptopenjdk/workspace/wen_strace_list_alpine/workspace/build/src/build/linux-x86_64-server-release/jdk/bin/jmod: Could not find owner package
12:46:36
12:46:36 ERROR: /home/adoptopenjdk/workspace/wen_strace_list_alpine/workspace/build/src/build/linux-x86_64-server-release/support/interim-image/bin/java: Could not find owner package
12:46:36
12:46:36 ERROR: /home/adoptopenjdk/workspace/wen_strace_list_alpine/workspace/build/src/build/linux-x86_64-server-release/support/link_opt/classlist.raw: Could not find owner package
12:46:36
12:46:36 ERROR: /home/adoptopenjdk/workspace/wen_strace_list_alpine/workspace/build/src/build/linux-x86_64-server-release/support/link_opt/classlist.raw.2: Could not find owner package
12:46:36
12:46:36 /usr/bin/ar is owned by binutils-2.37-r3
12:46:36 /usr/bin/awk symlink target is owned by busybox-1.34.1-r7
12:46:36 /usr/bin/dirname symlink target is owned by busybox-1.34.1-r7
12:46:36 /usr/bin/find symlink target is owned by busybox-1.34.1-r7
12:46:36 /usr/bin/g++ is owned by g++-10.3.1_git20211027-r0
12:46:36 /usr/bin/gcc is owned by gcc-10.3.1_git20211027-r0
12:46:36 /usr/bin/gmake symlink target is owned by make-4.3-r0
12:46:36 /usr/bin/make is owned by make-4.3-r0
12:46:36 /usr/bin/nm is owned by binutils-2.37-r3
12:46:36 /usr/bin/objcopy is owned by binutils-2.37-r3
12:46:36 /usr/bin/sort symlink target is owned by busybox-1.34.1-r7
12:46:36 /usr/bin/strip is owned by binutils-2.37-r3
12:46:36 /usr/bin/tee symlink target is owned by busybox-1.34.1-r7
12:46:36 /usr/bin/tr symlink target is owned by busybox-1.34.1-r7
12:46:36 /usr/bin/xargs symlink target is owned by busybox-1.34.1-r7
12:46:36 /usr/bin/zip is owned by zip-3.0-r9
12:46:36 ERROR: /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/as: Could not find owner package
12:46:36
12:46:36 ERROR: /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: Could not find owner package
12:46:36
12:46:36 /usr/libexec/gcc/x86_64-alpine-linux-musl/10.3.1/cc1 is owned by gcc-10.3.1_git20211027-r0
12:46:36 /usr/libexec/gcc/x86_64-alpine-linux-musl/10.3.1/cc1plus is owned by g++-10.3.1_git20211027-r0
12:46:36 /usr/libexec/gcc/x86_64-alpine-linux-musl/10.3.1/collect2 is owned by gcc-10.3.1_git20211027-r0

@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 5, 2022

run: https://ci.adoptopenjdk.net/view/work-in-progress/job/wen_strace_list_alpine/5/console
result for alpine x64:
10:10:57 #### list all packages installed by apk or not
10:10:57 /bin/bash is owned by bash-5.1.16-r0
10:10:57 /bin/cat symlink target is owned by busybox-1.34.1-r7
10:10:57 /bin/chmod symlink target is owned by busybox-1.34.1-r7
10:10:57 /bin/cp symlink target is owned by busybox-1.34.1-r7
10:10:57 /bin/date symlink target is owned by busybox-1.34.1-r7
10:10:57 /bin/grep is owned by grep-3.7-r0
10:10:57 /bin/ln symlink target is owned by busybox-1.34.1-r7
10:10:57 /bin/ls symlink target is owned by busybox-1.34.1-r7
10:10:57 /bin/mkdir symlink target is owned by busybox-1.34.1-r7
10:10:57 /bin/mv symlink target is owned by busybox-1.34.1-r7
10:10:57 /bin/nice symlink target is owned by busybox-1.34.1-r7
10:10:57 /bin/rm symlink target is owned by busybox-1.34.1-r7
10:10:57 /bin/sed is owned by sed-4.8-r0
10:10:57 /bin/sh is owned by busybox-1.34.1-r7
10:10:57 /bin/touch symlink target is owned by busybox-1.34.1-r7
10:10:57 /usr/bin/ar is owned by binutils-2.37-r3
10:10:57 /usr/bin/awk symlink target is owned by busybox-1.34.1-r7
10:10:57 /usr/bin/dirname symlink target is owned by busybox-1.34.1-r7
10:10:57 /usr/bin/find symlink target is owned by busybox-1.34.1-r7
10:10:57 /usr/bin/g++ is owned by g++-10.3.1_git20211027-r0
10:10:57 /usr/bin/gcc is owned by gcc-10.3.1_git20211027-r0
10:10:57 /usr/bin/gmake symlink target is owned by make-4.3-r0
10:10:57 /usr/bin/make is owned by make-4.3-r0
10:10:57 /usr/bin/nm is owned by binutils-2.37-r3
10:10:57 /usr/bin/objcopy is owned by binutils-2.37-r3
10:10:57 /usr/bin/sort symlink target is owned by busybox-1.34.1-r7
10:10:57 /usr/bin/strip is owned by binutils-2.37-r3
10:10:57 /usr/bin/tee symlink target is owned by busybox-1.34.1-r7
10:10:57 /usr/bin/tr symlink target is owned by busybox-1.34.1-r7
10:10:57 /usr/bin/xargs symlink target is owned by busybox-1.34.1-r7
10:10:58 /usr/bin/zip is owned by zip-3.0-r9
10:10:58 ERROR: /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/as: Could not find owner package
10:10:58 ERROR: /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: Could not find owner package
10:10:58 /usr/libexec/gcc/x86_64-alpine-linux-musl/10.3.1/cc1 is owned by gcc-10.3.1_git20211027-r0
10:10:58 /usr/libexec/gcc/x86_64-alpine-linux-musl/10.3.1/cc1plus is owned by g++-10.3.1_git20211027-r0
10:10:58 /usr/libexec/gcc/x86_64-alpine-linux-musl/10.3.1/collect2 is owned by gcc-10.3.1_git20211027-r0

@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 5, 2022

run on my local: podman run -it --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --security-opt apparmor=unconfined quay.io/wenzhou/centos6_build_image bash
[root@503a57d22aaa jdk18u]# history
1 cd /tmp/
3 git clone https://github.com/adoptium/jdk18u.git
4 export CC=/usr/local/gcc11/bin/gcc-11.2
5 export CXX=/usr/local/gcc11/bin/g++-11.2
6 export PATH=/usr/local/gcc11/bin:$PATH
7 export LD_LIBRARY_PATH=/usr/local/gcc11/lib:$LD_LIBRARY_PATH
9 cd jdk18u/
10 bash configure --with-source-date=version --verbose --with-vendor-name='Eclipse Adoptium' --with-vendor-url=https://adoptium.net/ --with-debug-level=release --with-native-debug-symbols=none --disable-ccache --with-build-user=temurin --with-jvm-variants=server --disable-warnings-as-errors --enable-dtrace
11 mkdir strace_result
12 strace -o strace_result/strace -ff -e openat,execve make product-images
18 find strace_result -name strace.* -type f | xargs egrep -v '(ENOENT|SIG|exited with|linux-x86_64-server-release|unavailable|unfinished)' |cut -d'"' -f2 | sort | uniq > result.txt
19 cat result.txt | while read F; do rpm -qf "$F"; done | sort | uniq

error: file /tmp/jdk18u/java.base: No such file or directory
error: file /tmp/jdk18u/java.desktop: No such file or directory
error: file /tmp/jdk18u/java.instrument: No such file or directory
error: file /tmp/jdk18u/java.management: No such file or directory
error: file /tmp/jdk18u/java.prefs: No such file or directory
error: file /tmp/jdk18u/java.rmi: No such file or directory
error: file /tmp/jdk18u/java.security.jgss: No such file or directory
error: file /tmp/jdk18u/java.smartcardio: No such file or directory
error: file /tmp/jdk18u/jdk.attach: No such file or directory
error: file /tmp/jdk18u/jdk.crypto.cryptoki: No such file or directory
error: file /tmp/jdk18u/jdk.hotspot.agent: No such file or directory
error: file /tmp/jdk18u/jdk.incubator.foreign: No such file or directory
error: file /tmp/jdk18u/jdk.internal.vm.ci: No such file or directory
error: file /tmp/jdk18u/jdk.jfr: No such file or directory
error: file /tmp/jdk18u/jdk.management: No such file or directory
error: file /tmp/jdk18u/jdk.management.agent: No such file or directory
error: file /tmp/jdk18u/jdk.net: No such file or directory
error: file /tmp/jdk18u/jdk.sctp: No such file or directory
error: file /tmp/jdk18u/jdk.security.auth: No such file or directory
bash-4.1.2-48.el6.x86_64
coreutils-8.4-47.el6.x86_64
file /usr/lib/jvm/jdk-17.0.4.1+1/bin/jar is not owned by any package
file /usr/lib/jvm/jdk-17.0.4.1+1/bin/javac is not owned by any package
file /usr/lib/jvm/jdk-17.0.4.1+1/bin/java is not owned by any package
file /usr/lib/jvm/jdk-17.0.4.1+1/lib/jspawnhelper is not owned by any package
file /usr/local/bin/git is not owned by any package
file /usr/local/bin/gmake is not owned by any package
file /usr/local/bin/make is not owned by any package
file /usr/local/gcc11/bin/ar is not owned by any package
file /usr/local/gcc11/bin/g++-11.2 is not owned by any package
file /usr/local/gcc11/bin/gcc-11.2 is not owned by any package
file /usr/local/gcc11/bin/nm is not owned by any package
file /usr/local/gcc11/libexec/gcc/x86_64-pc-linux-gnu/11.2.0/cc1 is not owned by any package
file /usr/local/gcc11/libexec/gcc/x86_64-pc-linux-gnu/11.2.0/cc1plus is not owned by any package
file /usr/local/gcc11/libexec/gcc/x86_64-pc-linux-gnu/11.2.0/collect2 is not owned by any package
file /usr/local/gcc11/x86_64-pc-linux-gnu/bin/as is not owned by any package
file /usr/local/gcc11/x86_64-pc-linux-gnu/bin/ld is not owned by any package
findutils-4.4.2-9.el6.x86_64
gawk-3.1.7-10.el6_7.3.x86_64
grep-2.20-6.el6.x86_64
sed-4.2.1-10.el6.x86_64
systemtap-sdt-devel-2.9-9.el6.x86_64
zip-3.0-1.el6_7.1.x86_64

@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 5, 2022

above logs shows, in centos6_build_image (for jdk18 it does work with file name)

@zdtsw
Copy link
Contributor Author

zdtsw commented Sep 5, 2022

another run on my local docker run -it --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --security-opt apparmor=unconfined quay.io/wenzhou/centos6_build_image bash when disable ccache and set similar flags when configure
[root@53f5b39b4abd jdk18u]
export CXX=/usr/local/gcc10/bin/g++-10.3
export CC=/usr/local/gcc10/bin/gcc-10.3
export LD_LIBRARY_PATH=/usr/local/gcc10/lib
bash ./configure --verbose --with-vendor-name="Eclipse Adoptium" --with-vendor-url=https://adoptium.net/ --with-vendor-bug-url=https://github.com/adoptium/adoptium-support/issues --with-vendor-vm-bug-url=https://github.com/adoptium/adoptium-support/issues --without-version-opt --without-version-pre --with-version-build=1 --with-vendor-version-string=Temurin-18.0.2.1+1 --with-boot-jdk=/usr/lib/jvm/jdk-17 --with-debug-level=release --with-native-debug-symbols=none --with-jvm-variants=server --disable-warnings-as-errors --enable-dtrace
strace -o strace_result/strace -ff -e openat,execve make product-images
find strace_result -name strace.* -type f | xargs egrep -v '(ENOENT|SIG|exited with|linux-x86_64-server-release|unavailable|unfinished)' |cut -d'"' -f2 | sort | uniq > result.txt
cat result.txt | while read F; do rpm -qf "$F"; done | sort | uniq

error: file /tmp/jdk18u/java.base: No such file or directory
error: file /tmp/jdk18u/java.desktop: No such file or directory
error: file /tmp/jdk18u/java.instrument: No such file or directory
error: file /tmp/jdk18u/java.management: No such file or directory
error: file /tmp/jdk18u/java.prefs: No such file or directory
error: file /tmp/jdk18u/java.rmi: No such file or directory
error: file /tmp/jdk18u/java.security.jgss: No such file or directory
error: file /tmp/jdk18u/java.smartcardio: No such file or directory
error: file /tmp/jdk18u/jdk.attach: No such file or directory
error: file /tmp/jdk18u/jdk.crypto.cryptoki: No such file or directory
error: file /tmp/jdk18u/jdk.hotspot.agent: No such file or directory
error: file /tmp/jdk18u/jdk.incubator.foreign: No such file or directory
error: file /tmp/jdk18u/jdk.internal.vm.ci: No such file or directory
error: file /tmp/jdk18u/jdk.jfr: No such file or directory
error: file /tmp/jdk18u/jdk.management: No such file or directory
error: file /tmp/jdk18u/jdk.management.agent: No such file or directory
error: file /tmp/jdk18u/jdk.net: No such file or directory
error: file /tmp/jdk18u/jdk.sctp: No such file or directory
error: file /tmp/jdk18u/jdk.security.auth: No such file or directory
file /usr/lib/jvm/jdk-17.0.4.1+1/lib/jspawnhelper is not owned by any package
file /usr/lib/jvm/jdk-17/bin/jar is not owned by any package
file /usr/lib/jvm/jdk-17/bin/javac is not owned by any package
file /usr/lib/jvm/jdk-17/bin/java is not owned by any package
file /usr/local/bin/git is not owned by any package
file /usr/local/bin/gmake is not owned by any package
file /usr/local/bin/make is not owned by any package
file /usr/local/gcc10/bin/g++-10.3 is not owned by any package
file /usr/local/gcc10/bin/gcc-10.3 is not owned by any package
file /usr/local/gcc10/libexec/gcc/x86_64-pc-linux-gnu/10.3.0/cc1 is not owned by any package
file /usr/local/gcc10/libexec/gcc/x86_64-pc-linux-gnu/10.3.0/cc1plus is not owned by any package
file /usr/local/gcc10/libexec/gcc/x86_64-pc-linux-gnu/10.3.0/collect2 is not owned by any package
file /usr/local/gcc10/x86_64-pc-linux-gnu/bin/as is not owned by any package
file /usr/local/gcc10/x86_64-pc-linux-gnu/bin/ld is not owned by any package
file /usr/local/gcc11/bin/ar is not owned by any package
file /usr/local/gcc11/bin/ccache is not owned by any package
file /usr/local/gcc11/bin/g++-11.2 is not owned by any package
file /usr/local/gcc11/bin/gcc-11.2 is not owned by any package
file /usr/local/gcc11/bin/nm is not owned by any package
file /usr/local/gcc11/libexec/gcc/x86_64-pc-linux-gnu/11.2.0/cc1 is not owned by any package
file /usr/local/gcc11/libexec/gcc/x86_64-pc-linux-gnu/11.2.0/cc1plus is not owned by any package
file /usr/local/gcc11/libexec/gcc/x86_64-pc-linux-gnu/11.2.0/collect2 is not owned by any package
file /usr/local/gcc11/x86_64-pc-linux-gnu/bin/as is not owned by any package
file /usr/local/gcc11/x86_64-pc-linux-gnu/bin/ld is not owned by any package
bash-4.1.2-48.el6.x86_64
coreutils-8.4-47.el6.x86_64
findutils-4.4.2-9.el6.x86_64
gawk-3.1.7-10.el6_7.3.x86_64
grep-2.20-6.el6.x86_64
sed-4.2.1-10.el6.x86_64
systemtap-sdt-devel-2.9-9.el6.x86_64
zip-3.0-1.el6_7.1.x86_64

@henning410
Copy link
Contributor

I’ll take a look at this

@andrew-m-leonard
Copy link
Contributor

@henning410 As discussed, aim for the next 2 weeks:

  • Setup local Ubuntu VM temurin-build environment to build jdk-21
  • Update temurin-build sbin/build.template to run strace on the "make images" command to capture strace into a sub-directory
  • Perform basic analysis and understanding of the strace content

@henning410
Copy link
Contributor

henning410 commented Nov 14, 2023

Linux arm64 centos7: strace is not available on adoptium jenkins CI

tried with:

rpm -q strace
https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk21u/job/jdk21u-linux-x64-temurin/32/console
11:22:00 Strace is not available on system

strace -V
https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk21u/job/jdk21u-linux-x64-temurin/33/console

11:42:57  /home/jenkins/workspace/build-scripts/jobs/jdk21u/jdk21u-linux-x64-temurin/sbin/build.sh: line 651: strace: command not found 
11:42:57  Strace is not available on system

@andrew-m-leonard
Copy link
Contributor

Raised strace infra issue: adoptium/infrastructure#3251

@andrew-m-leonard
Copy link
Contributor

Completed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
jenkins Issues that enhance or fix our jenkins server reproducible-build security
Projects
Status: Done
Development

No branches or pull requests

3 participants