RFR: 8320931: [REDO] dsymutil command leaves around temporary directories

Magnus Ihse Bursie ihse at openjdk.org
Wed Nov 29 07:11:03 UTC 2023


On Wed, 29 Nov 2023 06:45:17 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:

> Can I please get a review of this change will attempts to workaround an issue in dsymutil?
> 
> The previous attempt to use `--reproducer Off` has shown that it fails to build on some other Xcode versions other than 14.3.1. Users have reported it to fail on  Xcode 15.0.1 and Xcode from a 12.4 devkit. The `--reproducer` option isn't being recognized on those versions.
> 
> This current PR proposes to use an alternate workaround, one which just sets an environment variable that Xcode 14.3.1 recognizes and prevents the creation of the leftover `dsymutil-*` temporary directories. Since this new approach uses an environment variable to workaround the issue, the command itself shouldn't ideally run into any usage issues. Once we agree upon this change, before integrating, I'll ask for inputs from those who had run into build issues to verify this alternate approach doesn't cause problems.
> 
> I have locally verified that this new approach continues to work and doesn't create those temporary directories. Additionally tier1, tier2, tier3 has completed successfully in our CI environment with this change.
> 
> Magnus, Erik, I looked around to see if there's any convention in setting such environment variables that will be used when invoking external tools during the build. I didn't find any similar usage. Although the current change in this PR is working, if there's a different and better way to do this, please do let me know.

Hm, I'm not entirely sure about this. It looks quite ugly, and we'll be stuck with it like forever. :-(

First of all, I think you should add the env var prefix to the DSYMUTIL variable itself, in configure. This is not only to make the makefile less ugly, but since you'd want the same workaround if we were to execute dsymutil elsewhere. (I actually missed this in the previous version of the fix.)

Then, I think it might be worth adding a version check of dsymutil, before prepending this variable, so that we can eventually get rid of this.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/16876#issuecomment-1831330866


More information about the build-dev mailing list