-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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 tool crashing with "Heap contamination detected!" #101708
Comments
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
@jkotas - can you please point to the run that failed with this error? I was going through some of the recent runs on Are they happening in different runs? |
This was originally reported by @JulieLeeMSFT at #55517 (comment) . I just moved it to a new fresh issue to avoid confusion. @JulieLeeMSFT Could you please point @kunalspathak to the runs where this is happening? (I am not able to access any superpmi logs from last week currently to point you to the exact run.) |
Ok, I found it now. They were under the |
stack trace: * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=1, subcode=0x1000f6bbc)
* frame #0: 0x00000001000f6bbc superpmi`DBG_DebugBreak
frame #1: 0x000000010009904c superpmi`DebugBreak + 820
frame #2: 0x0000000100094cc8 superpmi`DbgAssertDialog + 160
frame #3: 0x00000001000806f4 superpmi`operator delete(void*) + 64
frame #4: 0x0000000100078504 superpmi`MethodContextReader::CheckForPairedFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) + 840
frame #5: 0x00000001000787d8 superpmi`MethodContextReader::MethodContextReader(char const*, int const*, int, char*, int, int) + 288
frame #6: 0x000000010000f310 superpmi`main + 1224
frame #7: 0x000000018c6be0e0 dyld`start + 2360 |
When using @jkotas or @davidwrighton - any idea on how to proceed with this and assign to the right owner? PS: It is surprising why we don't see this failure for every test running on osx/arm64. Superpmi-collect still gathers the collection except some of the failing tests, so this is not totally a blocking issue. |
We use custom operator new to make it possible for our EH infrastructure to catch our custom our of memory exceptions. If we were to switch to standard operator new, we would need to update our EH infrastructure to do the same for the std out of memory exceptions. I am not sure what it would take. To fix the immediate problem with superpmi, you may want to build a custom utilcode without the operator new or stop linking utilcode into superpmi completely (how much utilcode is used by superpmi?). |
Is removing |
I think so - if it builds. |
yes, it build on windows and as expected not on linux. I will see if i can pull the dependencies out. |
There are quite a bit of code that I tried bring in superpmi starting from |
This assert happened in runtime-coreclr superpmi-collect pipeline
The text was updated successfully, but these errors were encountered: