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

CI: Run tests without ASLR #162

Merged
merged 1 commit into from
Mar 20, 2024
Merged

CI: Run tests without ASLR #162

merged 1 commit into from
Mar 20, 2024

Conversation

wks
Copy link
Collaborator

@wks wks commented Mar 19, 2024

The boot images are built with the assumption that they will be loaded at a specific address. ASLR will cause some shared objects to be loaded at the addresses of the boot images, and the boot images will overwrite their sections, causing illegal instruction errors and other errors. This problem is easy to reproduce locally, and manifests very frequently when running on GitHub CI.

This PR modifies CI scripts to mitigate the problem. It adds setarch -R before executing rvm to disable ASLR.

This PR is a workaround. The proper fix is take control over the loading process and not let the system loader load shared objects in the address range of the boot image.

Related issue: #158

The boot images are built with the assumption that they will be loaded
at a specific address.  ASLR will cause some shared objects to be loaded
at the addresses of the boot images, and the boot images will overwrite
their sections, causing illegal instruction errors and other errors.

This is a workaround.  The proper fix is take control over the loading
process and not let the system loader load shared objects in the address
range of the boot image
@wks wks requested a review from qinsoon March 19, 2024 06:44
Copy link
Member

@qinsoon qinsoon left a comment

Choose a reason for hiding this comment

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

LGTM

@wks wks merged commit f449754 into mmtk:master Mar 20, 2024
3 checks passed
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