-
-
Notifications
You must be signed in to change notification settings - Fork 243
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
Create a debug symbols-only package #2042
Comments
@milderhc - it looks like you have made great progress on this (with #2043 merged), thanks! Are the next steps to:
Will you be taking that on? Do you need any support to move this forward? |
@smlambert Sure. I can take those. Could you tell me where the pipeline scripts are? And also, the idea in the API would be a new method that serves the debug symbols exclusively, as well as in the website? I'm not familiar with any of those repos, it would take a while. |
Thanks @milderhc! Pipeline scripts are in this repo. Though, as I look at one of the PRs that added support for debugimages for OpenJ9, I think a bunch of the work may already be in place... but defer to build team to give guidance. @andrew-m-leonard @sxa - Would one of you be able to assist @milderhc ? API work: (work is done) AdoptOpenJDK/openjdk-api-v3#130 |
Sure I can help. @smlambert @milderhc I wanted to check if the following bug I helped integrate into OpenJDK for jdk-16 is also relevant here? |
I would guess it is relevant @andrew-m-leonard - can you outline what, if any further changes are needed to produce these artifacts at the project (for hotspot builds)? |
So the change https://bugs.openjdk.java.net/browse/JDK-8252233 enabled the production of a pure debug symbols image via the target:
Which will result in a "build/*/images/symbols" image |
@andrew-m-leonard - is that make target only for jdk16+ or for all versions (is it possible for all versions, or what is the debuginfo artifact that should be produced for pre-jdk16)? perhaps you can point to the place in the code where one would make the change to enable this given #2042 (comment) |
@milderhc hi Milder, i've been having a look at what upstream openjdk supports and currently they vary by version: jdk11u & jdk8u: So both of these support make "symbols-image", however they do not have JDK-8252233, and so it does not produce an image bundle, but just places the symbols in the jdk image "lib" folder. This means we have two options here:
I see now you added a new build arg: --create-debug-symbols-package, so I think the question to ask is when do we want this set to true? always? if so it's just a matter of setting it in: https://github.com/AdoptOpenJDK/openjdk-build/blob/master/build-farm/make-adopt-build-farm.sh |
Hi @andrew-m-leonard, thanks for looking into this and for the detailed explanation. The The space in MB for jdk11u in Linux is around 230MB and around 40MB for macOS and Windows. In jdk8u is around 100MB for LInux and 5MB for Windows. Sizes for jdk16 are pretty similar to jdk11u. |
@milderhc hi, one quick question, what is the difference between the current openj9 "-debug-image" and the new "-debug-symbols" ? |
it would make sense to call Hotspot one "debug-image" as well? |
So some rough calculations on size:
Platforms that do not cache currently: "master" node archive storage for all versions x platforms:
So adding roughly an extra 1.1-2.3Gb increase in size of each new archived pipeline build on Jenkins "master" @sxa fyi |
I was asking the same myself. I think they are the same. In fact, if we call the script for openj9 along with |
yes, agree |
So I think we need to update the logic so for openj9 it uses the current "debug-image" make target as it currently does, and for the other variants uses the new logic you have added to create their "debug-image". |
Ok, I will update that first. |
@milderhc hi Milder, how is it going? |
@andrew-m-leonard hi, sorry for the late answer. I created the pull request: #2393 |
@milderhc thanks, that PR looks good. Once that is merged it's just a matter of:
|
The build output cleaning PR is now merged, and needs to propagate across the build nodes to take affect. Currently the build nodes with the most marginal space are the 2 arm nodes, with spare space of 3Gb, 4Gb respectively as of now. Introducing at this at the moment would marginalize this 2 machines by about another 1.2Gb. Having just examined build-scaleway-ubuntu1604-armv7-1, the build output cleaning should release 8Gb from it. @sxa fyi |
Submitted build pipelines for arm on jdk8/11/16/17
|
@milderhc Would you like to propose a PR to enable --create-debug-image ? |
Thanks, @andrew-m-leonard, would that be enough for the debug-images to be downloadable? |
Here it is: #2443 |
Nightly builds for hotspot with debug-image's are now available from the website: https://adoptopenjdk.net/nightly.html?variant=openjdk8&jvmVariant=hotspot |
Things remaining:
|
AIX debug symbol contributions now merged into all upstream versions, just awaiting official build levels |
@andrew-m-leonard Is this now present in the July versions? |
@sxa yes, complete |
The debug images don't seem to be available from this page anymore. |
Option to create debug symbols in a different archive than within the JDK one.
We can either create the JDK archive with or without the debug symbols but there isn't an option to create them separately.
The text was updated successfully, but these errors were encountered: