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

[x86/Linux] GC Stress Test with level 4 #7899

Open
wateret opened this issue Apr 18, 2017 · 6 comments
Open

[x86/Linux] GC Stress Test with level 4 #7899

wateret opened this issue Apr 18, 2017 · 6 comments
Labels
arch-x86 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI GCStress os-linux Linux OS (any supported distro) os-mac-os-x macOS aka OSX test-bug Problem in test source code (most likely)
Milestone

Comments

@wateret
Copy link
Member

wateret commented Apr 18, 2017

GC Stress test with level less than 4 are fine but with level 4 looks like CLR requires CoreDisTools.

$ COMPlus_GCStress=4 /work/nfs/dotnet/t2/corerun /work/nfs/dotnet/unittest-p0/Windows_NT.x86.Release/GC/API/GC/RemoveMemoryPressureTest/RemoveMemoryPressureTest.exe
LoadLibrary failed for '/work/nfs/dotnet/t2/libcoredistools.so': error 126
External disassembler is not available.
coreclr_initialize failed - status: 0x80004005

category:reach
theme:testing
skill-level:intermediate
cost:medium

@wateret
Copy link
Member Author

wateret commented Apr 18, 2017

On my x64/Linux machine, I was able to get libcoredistools.so with tests/setup-runtime-dependencies.sh. Is there a same file for x86/Linux?

In the script file, I've tried to change the $rid from ubuntu.14.04-x64 to ubuntu.14.04-x86 but I still get the x64 version.

@wateret
Copy link
Member Author

wateret commented Apr 18, 2017

I also tried to build LLILC but it is not easy to build it on x86. Is LLILC is the right source for CoreDisTools?

@janvorli
Copy link
Member

Yes, it requires the libcoredistools.so - a disassembler - to figure out sizes of instructions so that it can insert an invalid instruction after each generated asm instruction to invoke a signal handler and trigger a GC. I think that llilc is the right source of the coredistools stuff.
But most of the GC related issues can be discovered with GC modes 1, 2 and 3, so if you want to use it now just as a tool for verifying the changes you are working on, then I'd recommend using just those three modes and leaving the support for the modes >=4 for later.

@RussKeldorph
Copy link
Contributor

Yeah, we need to produce libcoredistools.so for Linux/x86.

@dotnet/jit-contrib @swaroop-sridhar FYI

@BruceForstall
Copy link
Member

@zamont I was talking to you yesterday about how we need coredistools for more platforms; here's an issue related to Linux/x86, and @sergign60 has a need for this in the referenced issue.

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@BruceForstall BruceForstall added the JitUntriaged CLR JIT issues needing additional triage label Oct 28, 2020
@TIHan
Copy link
Member

TIHan commented Nov 1, 2023

This is still an issue, but I don't think it is a priority right now. The solution seems to just be to build the coredistools for linux/x86.

@TIHan TIHan removed the JitUntriaged CLR JIT issues needing additional triage label Nov 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-x86 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI GCStress os-linux Linux OS (any supported distro) os-mac-os-x macOS aka OSX test-bug Problem in test source code (most likely)
Projects
None yet
Development

No branches or pull requests

6 participants