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

Delegate striping of debug symbols to GraalVM/Mandrel when >23.0 #31294

Merged
merged 2 commits into from
Feb 21, 2023

Conversation

zakkak
Copy link
Contributor

@zakkak zakkak commented Feb 20, 2023

Starting with GraalVM/Mandrel 23.0, native-image strips debug info in a separate file by default.

Fixes #31258
Fixes Karm/mandrel-integration-tests#138

cc @jerboaa

Comment on lines 718 to 719
* contrast to Quarkus it uses absolute paths which makes debugging harder especially for
* in-container builds.
Copy link
Contributor

Choose a reason for hiding this comment

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

I was too quick, sorry. There is no proof of this container issue. Even though the paths passed to objcopy are absolute, the links in the files end up being relative. So there seems to be no issue with upstream as far as I could tell. I'm not sure what the man page of objcopy alludes to, though. Anyway, perhaps we should use GraalVM's upstream version instead if it passes the failing integration tests?

Copy link
Contributor Author

@zakkak zakkak Feb 20, 2023

Choose a reason for hiding this comment

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

Still there is another difference between the GraalVM and the Quarkus approach. The former strips more info from the image while Quarkus strips only debug info. If we want to adopt the GraalVM way (which makes sense to me) we need to update Quarkus to do the same with older versions too.

Update: on second thought that's not necessary. We can allow for that difference between the versions.

Copy link
Contributor

Choose a reason for hiding this comment

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

That's right. I agree that it should be OK to do slightly different debuginfo handling between 22.3 and 23.x.

@zakkak zakkak force-pushed the 2023-02-20-debug-strip-fix branch from 019b5ab to cf13dbe Compare February 20, 2023 13:01
@zakkak zakkak changed the title Disable debug info stripping in GraalVM/Mandrel >23.0 Delegate striping of debug symbols to GraalVM/Mandrel when >23.0 Feb 20, 2023
@zakkak zakkak requested a review from jerboaa February 20, 2023 13:01
Copy link
Contributor

@jerboaa jerboaa left a comment

Choose a reason for hiding this comment

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

Looks good. Two minor things...

@zakkak
Copy link
Contributor Author

zakkak commented Feb 20, 2023

Looks good. Two minor things...

@jerboaa I Added a new commit to address these two as well. Please have a look.

Copy link
Contributor

@jerboaa jerboaa left a comment

Choose a reason for hiding this comment

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

Looks fine to me. Thanks!

@zakkak
Copy link
Contributor Author

zakkak commented Feb 20, 2023

Once reviewed by someone else as well and the CI passes I will squash the commits and merge.

@quarkus-bot

This comment has been minimized.

@jerboaa
Copy link
Contributor

jerboaa commented Feb 21, 2023

@gsmet Could you please help get this reviewed and integrated? Thanks! This issue is causing some noise in our mandrel CI. I've verified the fix works, fwiw.

@zakkak zakkak requested a review from geoand February 21, 2023 11:41
@geoand
Copy link
Contributor

geoand commented Feb 21, 2023

We have a job failing due to one of the commits being a fixup commit. Let's address it before merging :)

Starting with GraalVM/Mandrel 23.0, native-image strips debug info in a
separate file by default.

Fixes quarkusio#31258
@zakkak zakkak force-pushed the 2023-02-20-debug-strip-fix branch from 0b48cd7 to ad468ce Compare February 21, 2023 11:49
@zakkak zakkak added the triage/waiting-for-ci Ready to merge when CI successfully finishes label Feb 21, 2023
@quarkus-bot
Copy link

quarkus-bot bot commented Feb 21, 2023

✔️ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

@gsmet gsmet merged commit 4dd144b into quarkusio:main Feb 21, 2023
@quarkus-bot quarkus-bot bot removed the triage/waiting-for-ci Ready to merge when CI successfully finishes label Feb 21, 2023
@quarkus-bot quarkus-bot bot added this to the 3.0 - main milestone Feb 21, 2023
@jerboaa
Copy link
Contributor

jerboaa commented Feb 21, 2023

Thanks all!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants