Open jkotas opened 1 week ago
Regression likely introduced by #104282
The most likely explanation of this crash is that the GC info is not right for the TLS access. @kunalspathak Could you please take a look?
cc @VSadov
GC info is likely ok, the change is not introducing much in that sense, compared to other platforms. @kunalspathak was looking at some possible issues with relocations though. Those are a bit different pattern from what we have seen so far.
May be related to. https://github.com/dotnet/runtime/issues/104441
May be related to. #104441
While investigating this, I realized that the relocation type that was getting said has a typo. I was using the one meant for "ldr" of adrp/ldr pair instead of the one meant for "add" for adrp/add pair. That prompted me to be related to this problem, because chances are the relocations wouldn't have happened correctly and hence the native memory address getting loaded here was not getting calculated correctly. However, with that fixed too, it didn't address this problem. Currently, I have a very limited windows/arm64 machine on which I can repro (by downloading the artifacts), but not incremental builds, etc. to test the changes. I have TTD traces for the failure, but need to look closely at why the native memory that is getting populated is wrong.
Edit: So I don't think the gcinfo is wrong as @VSadov mentioned, but something to do the offset after relocation are not getting calculated properly.
Hit in https://dev.azure.com/dnceng-public/public/_build/results?buildId=731138&view=ms.vss-test-web.build-test-results-tab&runId=18392824&resultId=183933&paneView=dotnet-dnceng.dnceng-build-release-tasks.helix-test-information-tab
We crash in the inlined read of
PInvokeMarshal.t_lastError
: