-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
superpmi: Linux arm collection for libraries.pmi #56156
Comments
@dotnet/jit-contrib , @BruceForstall |
impImportStaticReadOnlyField reads the data at the address returned by getFieldAddress. SuperPMI saves and replays this data, but it doesn't store it at a naturally aligned address. For int64/double (at least), this is a problem on Linux arm32, which raises a SIGBUS exception on such unaligned access. This works around the problem by copying the potentially unaligned data to a known aligned spot before reading it. This is only done under DEBUG and when we know we are replaying under SuperPMI. A proper fix would be to teach SuperPMI about alignment, but that would be a large and risky change, compared to this small and isolated workaround. The fixes the non-determinism of dotnet#56156.
This is fixed by #56375
This was actually "by design". The question is what kind of errors would it be worthwhile reporting? We still expect to see "missing data" errors (there are other GitHub issues covering that). So maybe we could report back non-missing data errors?
This is fixed by #56517 |
* Work around a Linux arm32 unaligned data issue in SuperPMI impImportStaticReadOnlyField reads the data at the address returned by getFieldAddress. SuperPMI saves and replays this data, but it doesn't store it at a naturally aligned address. For int64/double (at least), this is a problem on Linux arm32, which raises a SIGBUS exception on such unaligned access. This works around the problem by copying the potentially unaligned data to a known aligned spot before reading it. This is only done under DEBUG and when we know we are replaying under SuperPMI. A proper fix would be to teach SuperPMI about alignment, but that would be a large and risky change, compared to this small and isolated workaround. The fixes the non-determinism of #56156. * Only add alignment adjustment when required
This is basically fixed at this point, with other GitHub issues covering remaining issues. |
We have noticed several issues during libraries.pmi for Linux/arm:
Such errors are not reported back and we silently filter them out from the collection. We need to make sure that we exit with errorcode so the collection step would know that there is some failure.
There are several failures of below kind during collection and we need to address them soon:
The text was updated successfully, but these errors were encountered: