-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
BDN randomly crashes on Linux? #90691
Comments
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsFilining a tracking issue for the bug @stephentoub noticed on Linux-x64, minimal repro: using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;
BenchmarkSwitcher.FromAssembly(typeof(Tests).Assembly).Run(args);
[DisassemblyDiagnoser]
public class Tests
{
IEnumerable<int> _source = Enumerable.Repeat(0, 1024);
Random _rand = new();
[Benchmark]
public bool Any() => _rand.NextDouble() < 1.0 ?
_source.Any(i => i == 42) :
_source.Any(i => i == 43);
} Run with:
( When we run it randomly it just silently quits in the middle of benchmarking (it doesn't happen for all benchmarks, but so far it looks like it's not PGO, TieredCompilation, AVX512 and Stephen even managed to repro it on .NET 7.0). Presumably, the culprit is cc @adamsitnik
|
I have seen this too, and removing |
Yeah, but unfortunately I need it :) |
Profiling (or other knowledge of the methods of interest matter) plus a suitably crafted |
Yes, it just doesn't work well for my blog post. As written, everyone will get crashes (on Linux), which is obviously not a good experience. |
The process is seg faulting, from:
|
I've reproed that locally too. The |
The |
It looks like it is basically the same problem I've fixed for |
I am trying a fix now |
The fix worked, I'll create a PR shortly. |
Make both methods more resilient to the case of invalid MethodDesc and MethodTable with value -1. Close dotnet#90691
Make both methods more resilient to the case of invalid MethodDesc and MethodTable with value -1. Close #90691
Tagging subscribers to this area: @tommcdon Issue DetailsFiling a tracking issue for the bug @stephentoub noticed on Linux-x64, minimal repro: using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;
BenchmarkSwitcher.FromAssembly(typeof(Tests).Assembly).Run(args);
[DisassemblyDiagnoser]
public class Tests
{
IEnumerable<int> _source = Enumerable.Repeat(0, 1024);
Random _rand = new();
[Benchmark]
public bool Any() => _rand.NextDouble() < 1.0 ?
_source.Any(i => i == 42) :
_source.Any(i => i == 43);
} Run with:
( When we run - it randomly just quits silently in the middle of benchmarking (it doesn't happen for all benchmarks, but so far it looks like it's not PGO, TieredCompilation, AVX512 and Stephen even managed to repro it on .NET 7.0). Presumably, the culprit is cc @adamsitnik
|
Make both methods more resilient to the case of invalid MethodDesc and MethodTable with value -1. Close #90691 Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
Make both methods more resilient to the case of invalid MethodDesc and MethodTable with value -1. Close #90691
Should we port this to RC1? |
Filing a tracking issue for the bug @stephentoub noticed on Linux-x64, minimal repro:
Run with:
(
--iterationTime 50
is just to make crash faster, it reproduces without it as well)When we run - it randomly just quits silently in the middle of benchmarking (it doesn't happen for all benchmarks, but so far it looks like it's not PGO, TieredCompilation, AVX512 and Stephen even managed to repro it on .NET 7.0).
Presumably, the culprit is
[DisassemblyDiagnoser]
and ClrMD behind it.cc @adamsitnik
The text was updated successfully, but these errors were encountered: