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

Fix SOS clrstack w^x issues on osx-arm64 #45849

Merged
merged 2 commits into from
Dec 10, 2020
Merged

Conversation

sdmaclea
Copy link
Contributor

@sdmaclea sdmaclea commented Dec 9, 2020

No description provided.

@ghost
Copy link

ghost commented Dec 9, 2020

Tagging subscribers to this area: @tommcdon
See info in area-owners.md if you want to be subscribed.

Issue Details
Author: sdmaclea
Assignees: sdmaclea
Labels:

arch-arm64, area-Diagnostics-coreclr, os-mac-os-x-big-sur

Milestone: -

Copy link
Member

@janvorli janvorli left a comment

Choose a reason for hiding this comment

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

LGTM, thank you!

src/coreclr/vm/dllimportcallback.cpp Outdated Show resolved Hide resolved
@sdmaclea
Copy link
Contributor Author

sdmaclea commented Dec 9, 2020

For future reference these were the callstack for the W^X errors occurred.

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libcoreclr.dylib                       0x00000001145851a4 UMEntryThunkCache::GetUMEntryThunk(MethodDesc*) + 364
1   libcoreclr.dylib                       0x000000011458519c UMEntryThunkCache::GetUMEntryThunk(MethodDesc*) + 356
2   libcoreclr.dylib                       0x000000011448d6d0 CorHost2::CreateDelegate(unsigned int, char16_t const*, char16_t const*, char16_t const*, long*) + 800
3   libcoreclr.dylib                       0x00000001144408d8 coreclr_create_delegate + 112
4   libsos.dylib                           0x000000010f5e1894 InitializeHosting() + 3048
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address
=0x311294188)                                                                              
  * frame #0: 0x00000001117004d8 libcoreclr.dylib`InterlockedCompareExchange64 + 36       
    frame #1: 0x0000000111833758 libcoreclr.dylib`UtilCode::InterlockedCompareExchangeHelpe
r<unsigned long, 8>::InterlockedCompareExchange(unsigned long volatile*, unsigned long, uns
igned long) + 48                             
    frame #2: 0x000000011182bfd4 libcoreclr.dylib`unsigned long InterlockedCompareExchangeT
<unsigned long>(unsigned long volatile*, unsigned long, unsigned long) + 60
    frame #3: 0x0000000111a54f74 libcoreclr.dylib`UMThunkMarshInfo::RunTimeInit() + 392
    frame #4: 0x0000000111a54710 libcoreclr.dylib`UMEntryThunk::RunTimeInit() + 44
    frame #5: 0x0000000111a544d4 libcoreclr.dylib`UMEntryThunk::DoRunTimeInit(UMEntryThunk*
) + 128                                      
    frame #6: 0x0000000111a543fc libcoreclr.dylib`TheUMEntryPrestubWorker + 132
    frame #7: 0x0000000111d0faf4 libcoreclr.dylib`TheUMEntryPrestub + 52

@janvorli
Copy link
Member

janvorli commented Dec 9, 2020

Thanks for the call stacks Steve. These both make sense. I am surprised though that we haven't hit them in the coreclr tests.

@sdmaclea
Copy link
Contributor Author

sdmaclea commented Dec 9, 2020

Ack. We may hit a few more when we run the corefx and diagnostics tests

@janvorli
Copy link
Member

janvorli commented Dec 9, 2020

Maybe it is just hidden behind other issues in coreclr tests.

@sdmaclea sdmaclea merged commit f6949e4 into dotnet:master Dec 10, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Jan 9, 2021
@sdmaclea sdmaclea deleted the clrstackWnoX branch June 10, 2021 00:31
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants