Skip to content

build-and-deploy(i686): address the dreaded .dll base address problem #6

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

Merged
merged 1 commit into from
Dec 21, 2022

Conversation

dscho
Copy link
Member

@dscho dscho commented Dec 21, 2022

I just tried to deploy the i686 version of the MSYS variant of curl, but ran into problems.

This PR hopefully fixes those problems.

@dscho dscho requested a review from rimrul December 21, 2022 09:45
@dscho dscho self-assigned this Dec 21, 2022
@dscho
Copy link
Member Author

dscho commented Dec 21, 2022

Let's see whether this run (with the proposed fixes in effect) succeeds...

@dscho dscho force-pushed the rebaseall-in-i686-msys-builds branch from 8b070ef to de7a123 Compare December 21, 2022 09:57
@dscho
Copy link
Member Author

dscho commented Dec 21, 2022

Let's see whether this run (with the proposed fixes in effect) succeeds...

Didn't. I got the wrong path for the Git for Windows SDK. Here is the next attempt.

@dscho
Copy link
Member Author

dscho commented Dec 21, 2022

Here is the next attempt.

That failed, too, with the same Cwd.dll problem. I kicked off a re-run in the hopes that it will "magically" be resolved. If it is not, I will have to use action-tmate and play with the base address to find one that works. This is so tedious, I really look forward to dropping i686 support.

@dscho
Copy link
Member Author

dscho commented Dec 21, 2022

I kicked off a re-run in the hopes that it will "magically" be resolved.

Nope.

@dscho
Copy link
Member Author

dscho commented Dec 21, 2022

I will have to use action-tmate and play with the base address to find one that works.

Nope.. Apparently the Gods are not with me today.

@dscho dscho marked this pull request as draft December 21, 2022 12:06
@dscho
Copy link
Member Author

dscho commented Dec 21, 2022

I finally think that I know what is going on. Something lets pacman.exe think that it should run rebase.exe after installing the packages. And that rebase messes things up that would otherwise have worked. Will keep digging.

This is necessary to avoid the dreaded i686 problems described in
https://github.com/git-for-windows/git/wiki/32-bit-issues whose symptoms
can look like this:

      1 [main] perl 5307 child_info_fork::abort: address space needed by 'Cwd.dll' (0x1F0000) is already occupied

For an example where this symptom raises its ugly head see e.g.
https://github.com/git-for-windows/git-for-windows-automation/actions/runs/3747937026/jobs/6364819440

Let's use the common strategy to run the `rebaseall` script. This is a
slightly edited copy of the same step in MSYS2-packages'
`build-and-deploy` workflow:
https://github.com/git-for-windows/MSYS2-packages/blob/6628f78d1359/.github/workflows/build-and-deploy.yml#L60-L76

Signed-off-by: Johannes Schindelin <[email protected]>
@dscho dscho force-pushed the rebaseall-in-i686-msys-builds branch from 7a8a04d to fbf453b Compare December 21, 2022 12:22
@dscho
Copy link
Member Author

dscho commented Dec 21, 2022

We finally seem to have successfully jumped the autoreconf hurdle.

@dscho dscho force-pushed the rebaseall-in-i686-msys-builds branch from fbf453b to a0dda02 Compare December 21, 2022 12:46
@dscho
Copy link
Member Author

dscho commented Dec 21, 2022

The build worked, at long last, and the i686 flavor of the curl package is successfully deployed.

So I force-pushed away the debug commits and will mark this as ready for review.

@dscho dscho marked this pull request as ready for review December 21, 2022 12:46
@rimrul
Copy link
Member

rimrul commented Dec 21, 2022

Hopefully we won't need to do this anymore after the issues with Cygwin 3.4 get worked out.

@dscho
Copy link
Member Author

dscho commented Dec 21, 2022

Hopefully we won't need to do this anymore after the issues with Cygwin 3.4 get worked out.

Well, Cygwin v3.4.x does not even support i686 anymore... So git-sdk-32 will be stuck with Cygwin v3.3.x forever ;-)

@dscho dscho merged commit ba35cb9 into main Dec 21, 2022
@dscho dscho deleted the rebaseall-in-i686-msys-builds branch December 21, 2022 15:02
@rimrul
Copy link
Member

rimrul commented Dec 21, 2022

Right. I've somehow missed that. So the whole dynamicbase support doesn't help us at all. Damn.

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

Successfully merging this pull request may close these issues.

2 participants