-
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
MonoTests.System.Drawing.TestBitmap fail on Linux arm on checked coreclr #37082
Comments
Tagging subscribers to this area: @safern, @tannergooding |
I'm disabling these on: #36910 |
I've seen this failure with many tests in #36486. I haven't had the chance to investigate / disable them yet. |
@janvorli I haven't investigated this yet. The assert makes it seem like a VM, not codegen, issue. |
Another failure: System.Memory.Tests, net5.0-Linux-Release-arm-CoreCLR_checked-jitstress2_jitstressregs1 |
I ran the System.Memory.Tests case over 450 times and didn't see this assert. |
I remember thin being reproing pretty consistently on TestBitmap tests. |
Unfortunately, due to dotnet/arcade#5786, we aren't getting any Kusto data about Linux arm failures, so we can't look historically and see what the failure rate is. |
@BruceForstall I might poach this one from you... |
@AndyAyersMS Yes, feel free. Note that #40126 showed this still repros. |
Yep, readily repros at 664d9f8. This seems to be a gc or runtime issue (or perhaps some kind of heap corruption). Assert fires here:
which I think is checking if underlying heap object storage was properly initially zeroed. Re-labelling as a VM issue for now. I'll try check for heap corruption, but having issues getting the right SOS currently... (dotnet/diagnostics#1418). |
Got the right SOS, and there is heap corruption.
Let me see if I can track this down. |
I'll keep looking but it might also help to have somebody on the VM side looking too. cc @mangod9 |
Is this still Linux arm32 specific failure, or repros on other platforms? |
Linux arm32 only. |
Ok, thx. + @AntonLapounov |
Seeing if I can pin this down to a particular test case. Running serially I get an assert during |
Running two tests I can repro:
Not sure if it matters what the upstream test is, checking (yes, seems to matter; not sure exactly on what just yet -- seems likely it is bitmap locking). |
@safern do we know if this is a regression, or a test that we just started running? Also suspect my local libgdiplus is perhaps not up to date; some other tests fail with libgdiplus errors. I have
|
Corrupt heap location is just past the end of a
|
I can get this extracted repro to crash intermittently when run with GCStress=3 HeapVerify=1.
So far this does not repro when run under a debugger. Guessing there's memory corruption introduced by libgdiplus's |
The LLDB I'm using can't backtrace from a crashudmp, but gdb can...
Via lldb we can see that last method on the stack is |
@jeffhandley @safern pretty sure the issue here lies in libgdiplus for linux arm32, can you re-label & reassign? |
Tagging subscribers to this area: @safern, @tannergooding |
Thanks @AndyAyersMS for investigating. |
Since #64084 got merged, |
Some tests from
TestBitmap
fail with:when running on checked coreclr. Some of these tests are:
Helix queue: Ubuntu.1804.Armarch.Open
Docker image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-bfcd90a-20200121150440
cc: @BruceForstall @jashook
category:correctness
theme:gc-stress
skill-level:expert
cost:medium
The text was updated successfully, but these errors were encountered: