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

Crash while profiling roslyn compiler server #12235

Closed
kg opened this issue Jan 2, 2019 · 1 comment
Assignees

Comments

@kg
Copy link
Member

@kg kg commented Jan 2, 2019

Been trying to profile the compiler server but not having much luck. I get crashes like this sometimes:

* Assertion at mono-threads-state-machine.c:95, condition `suspend_count > 0' not met

Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) string.FastAllocateString (int) [0x00007] in <972dc028e30f4795ba71578315b30462>:0
  at string.Concat (string,string) [0x00029] in /home/kate/Projects/mono/external/corefx/src/Common/src/CoreLib/System/String.Manipulation.cs:276
  at string.Concat (object,object) [0x00014] in /home/kate/Projects/mono/external/corefx/src/Common/src/CoreLib/System/String.Manipulation.cs:56
  at Microsoft.CodeAnalysis.CSharp.Conversion.AssertTrivialConversion (Microsoft.CodeAnalysis.CSharp.ConversionKind) [0x00093] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Semantics/Conversions/Conversion.cs:206
  at Microsoft.CodeAnalysis.CSharp.Conversion.GetTrivialConversion (Microsoft.CodeAnalysis.CSharp.ConversionKind) [0x00001] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Semantics/Conversions/Conversion.cs:211
  at Microsoft.CodeAnalysis.CSharp.ConversionsBase.FastClassifyConversion (Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol) [0x0001e] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Semantics/Conversions/ConversionsBase.cs:378
  at Microsoft.CodeAnalysis.CSharp.ConversionsBase.ClassifyImplicitConversionFromExpression (Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.Collections.Generic.HashSet`1<Microsoft.CodeAnalysis.DiagnosticInfo>&) [0x00062] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Semantics/Conversions/ConversionsBase.cs:98
  at Microsoft.CodeAnalysis.CSharp.ConversionsBase.ClassifyConversionFromExpression (Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.Collections.Generic.HashSet`1<Microsoft.CodeAnalysis.DiagnosticInfo>&,bool) [0x00028] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Semantics/Conversions/ConversionsBase.cs:190
  at Microsoft.CodeAnalysis.CSharp.OverloadResolution.CandidateOperators (Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1<Microsoft.CodeAnalysis.CSharp.BinaryOperatorSignature>,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1<Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult>,System.Collections.Generic.HashSet`1<Microsoft.CodeAnalysis.DiagnosticInfo>&) [0x0002c] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Semantics/Operators/BinaryOperatorOverloadResolution.cs:535
  at Microsoft.CodeAnalysis.CSharp.OverloadResolution.GetAllBuiltInOperators (Microsoft.CodeAnalysis.CSharp.BinaryOperatorKind,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1<Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult>,System.Collections.Generic.HashSet`1<Microsoft.CodeAnalysis.DiagnosticInfo>&) [0x0007c] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Semantics/Operators/BinaryOperatorOverloadResolution.cs:505
  at Microsoft.CodeAnalysis.CSharp.OverloadResolution.BinaryOperatorOverloadResolution (Microsoft.CodeAnalysis.CSharp.BinaryOperatorKind,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BinaryOperatorOverloadResolutionResult,System.Collections.Generic.HashSet`1<Microsoft.CodeAnalysis.DiagnosticInfo>&) [0x0007d] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Semantics/Operators/BinaryOperatorOverloadResolution.cs:67
  at Microsoft.CodeAnalysis.CSharp.Binder.BinaryOperatorOverloadResolution (Microsoft.CodeAnalysis.CSharp.BinaryOperatorKind,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.CSharp.LookupResultKind&,System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol>&) [0x00038] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Operators.cs:1086
  at Microsoft.CodeAnalysis.CSharp.Binder.BindSimpleBinaryOperatorParts (Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BinaryOperatorKind,Microsoft.CodeAnalysis.CSharp.LookupResultKind&,System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol>&,Microsoft.CodeAnalysis.CSharp.BinaryOperatorSignature&,Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult&) [0x00001] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Operators.cs:582
  at Microsoft.CodeAnalysis.CSharp.Binder.BindSimpleBinaryOperator (Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,int&) [0x00125] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Operators.cs:516
  at Microsoft.CodeAnalysis.CSharp.Binder.BindSimpleBinaryOperator (Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x0014e] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Operators.cs:444
  at Microsoft.CodeAnalysis.CSharp.Binder.BindExpressionInternal (Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag,bool,bool) [0x00435] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Expressions.cs:425
  at Microsoft.CodeAnalysis.CSharp.Binder.BindExpression (Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag,bool,bool) [0x00001] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Expressions.cs:329
  at Microsoft.CodeAnalysis.CSharp.Binder.BindValue (Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.CSharp.Binder/BindValueKind) [0x00001] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Expressions.cs:228
  at Microsoft.CodeAnalysis.CSharp.Binder.BindConditionalLogicalOperator (Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x00085] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Operators.cs:714
  at Microsoft.CodeAnalysis.CSharp.Binder.BindExpressionInternal (Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag,bool,bool) [0x00448] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Expressions.cs:428
  at Microsoft.CodeAnalysis.CSharp.Binder.BindExpression (Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag,bool,bool) [0x00001] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Expressions.cs:329
  at Microsoft.CodeAnalysis.CSharp.Binder.BindValue (Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.CSharp.Binder/BindValueKind) [0x00001] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Expressions.cs:228
  at Microsoft.CodeAnalysis.CSharp.Binder.BindBooleanExpression (Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x00001] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:2178
  at Microsoft.CodeAnalysis.CSharp.ForLoopBinder.BindForParts (Microsoft.CodeAnalysis.CSharp.Syntax.ForStatementSyntax,Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.DiagnosticBag) [0x0005d] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/ForLoopBinder.cs:74
  at Microsoft.CodeAnalysis.CSharp.ForLoopBinder.BindForParts (Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.CSharp.Binder) [0x00001] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/ForLoopBinder.cs:50
  at Microsoft.CodeAnalysis.CSharp.Binder.BindFor (Microsoft.CodeAnalysis.CSharp.Syntax.ForStatementSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x00013] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:2328
  at Microsoft.CodeAnalysis.CSharp.Binder.BindStatement (Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x00164] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:67
  at Microsoft.CodeAnalysis.CSharp.SwitchBinder.BindSwitchSection (Microsoft.CodeAnalysis.CSharp.Syntax.SwitchSectionSyntax,Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.DiagnosticBag) [0x00089] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/SwitchBinder.cs:564
  at Microsoft.CodeAnalysis.CSharp.SwitchBinder.BindSwitchSections (Microsoft.CodeAnalysis.SyntaxList`1<Microsoft.CodeAnalysis.CSharp.Syntax.SwitchSectionSyntax>,Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.DiagnosticBag) [0x0001b] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/SwitchBinder.cs:540
  at Microsoft.CodeAnalysis.CSharp.SwitchBinder.BindSwitchExpressionAndSections (Microsoft.CodeAnalysis.CSharp.Syntax.SwitchStatementSyntax,Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.DiagnosticBag) [0x0006b] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/SwitchBinder.cs:397
  at Microsoft.CodeAnalysis.CSharp.PatternSwitchBinder.BindSwitchExpressionAndSections (Microsoft.CodeAnalysis.CSharp.Syntax.SwitchStatementSyntax,Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.DiagnosticBag) [0x00010] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/PatternSwitchBinder.cs:43
  at Microsoft.CodeAnalysis.CSharp.Binder.BindSwitchStatement (Microsoft.CodeAnalysis.CSharp.Syntax.SwitchStatementSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x00013] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:2284
  at Microsoft.CodeAnalysis.CSharp.Binder.BindStatement (Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x0012b] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:58
  at Microsoft.CodeAnalysis.CSharp.Binder.BindBlockParts (Microsoft.CodeAnalysis.CSharp.Syntax.BlockSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x0001d] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:1629
  at Microsoft.CodeAnalysis.CSharp.Binder.BindBlock (Microsoft.CodeAnalysis.CSharp.Syntax.BlockSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x00013] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:1617
  at Microsoft.CodeAnalysis.CSharp.Binder.BindStatement (Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x000cc] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:43
  at Microsoft.CodeAnalysis.CSharp.Binder.BindPossibleEmbeddedStatement (Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x001bc] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:355
  at Microsoft.CodeAnalysis.CSharp.ForLoopBinder.BindForParts (Microsoft.CodeAnalysis.CSharp.Syntax.ForStatementSyntax,Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.DiagnosticBag) [0x0014e] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/ForLoopBinder.cs:103
  at Microsoft.CodeAnalysis.CSharp.ForLoopBinder.BindForParts (Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.CSharp.Binder) [0x00001] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/ForLoopBinder.cs:50
  at Microsoft.CodeAnalysis.CSharp.Binder.BindFor (Microsoft.CodeAnalysis.CSharp.Syntax.ForStatementSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x00013] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:2328
  at Microsoft.CodeAnalysis.CSharp.Binder.BindStatement (Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x00164] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:67
  at Microsoft.CodeAnalysis.CSharp.Binder.BindBlockParts (Microsoft.CodeAnalysis.CSharp.Syntax.BlockSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x0001d] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:1629
  at Microsoft.CodeAnalysis.CSharp.Binder.BindBlock (Microsoft.CodeAnalysis.CSharp.Syntax.BlockSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x00013] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:1617
  at Microsoft.CodeAnalysis.CSharp.Binder.BindStatement (Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x000cc] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:43
  at Microsoft.CodeAnalysis.CSharp.Binder.BindMethodBody (Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Syntax.BlockSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.ArrowExpressionClauseSyntax,Microsoft.CodeAnalysis.DiagnosticBag) [0x00014] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:3135
  at Microsoft.CodeAnalysis.CSharp.Binder.BindMethodBody (Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.DiagnosticBag) [0x0005e] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Binder/Binder_Statements.cs:3083
  at Microsoft.CodeAnalysis.CSharp.MethodCompiler.BindMethodBody (Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.TypeCompilationState,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.CSharp.ImportChain&,bool&,System.ValueTuple`3<Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis.CSharp.BoundNode, Microsoft.CodeAnalysis.CSharp.ExecutableCodeBinder>&) [0x00100] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Compiler/MethodCompiler.cs:1631
  at Microsoft.CodeAnalysis.CSharp.MethodCompiler.CompileMethod (Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,int,Microsoft.CodeAnalysis.CSharp.Binder/ProcessedFieldInitializers&,Microsoft.CodeAnalysis.CSharp.SynthesizedSubmissionFields,Microsoft.CodeAnalysis.CSharp.TypeCompilationState) [0x002cd] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Compiler/MethodCompiler.cs:947
  at Microsoft.CodeAnalysis.CSharp.MethodCompiler.CompileNamedType (Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol) [0x00250] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Compiler/MethodCompiler.cs:498
  at Microsoft.CodeAnalysis.CSharp.MethodCompiler/<>c__DisplayClass21_0.<CompileNamedTypeAsTask>b__0 () [0x00002] in /home/kate/Projects/roslyn/src/Compilers/CSharp/Portable/Compiler/MethodCompiler.cs:388
  at Roslyn.Utilities.UICultureUtilities/<>c__DisplayClass5_0.<WithCurrentUICulture>b__0 () [0x0004c] in /home/kate/Projects/roslyn/src/Compilers/Core/Portable/InternalUtilities/UICultureUtilities.cs:136
  at System.Threading.Tasks.Task.InnerInvoke () [0x0000f] in /home/kate/Projects/mono/external/corert/src/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:2476
  at System.Threading.Tasks.Task.Execute () [0x00000] in /home/kate/Projects/mono/external/corert/src/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:2319
  at System.Threading.Tasks.Task.ExecutionContextCallback (object) [0x00006] in /home/kate/Projects/mono/external/corert/src/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:2463
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) [0x00071] in /home/kate/Projects/mono/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:966
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) [0x00000] in /home/kate/Projects/mono/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:908
  at System.Threading.Tasks.Task.ExecuteWithThreadLocal (System.Threading.Tasks.Task&) [0x00034] in /home/kate/Projects/mono/mcs/class/corlib/corert/Task.cs:72
  at System.Threading.Tasks.Task.ExecuteEntry (bool) [0x0004a] in /home/kate/Projects/mono/external/corert/src/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:2385
  at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00000] in /home/kate/Projects/mono/external/corert/src/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:2334
  at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00074] in /home/kate/Projects/mono/mcs/class/referencesource/mscorlib/system/threading/threadpool.cs:872
  at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in /home/kate/Projects/mono/mcs/class/referencesource/mscorlib/system/threading/threadpool.cs:1227
  at (wrapper runtime-invoke) <Module>.runtime_invoke_bool (object,intptr,intptr,intptr) [0x0002b] in <972dc028e30f4795ba71578315b30462>:0
/proc/self/maps:
4107d000-4189e000 rwxp 00000000 00:00 0 
418a1000-41921000 rwxp 00000000 00:00 0 
5650708ea000-565070d4c000 r-xp 00000000 08:01 1450796                    /home/kate/.mono/bin/mono-sgen
565070f4b000-565070f52000 r--p 00461000 08:01 1450796                    /home/kate/.mono/bin/mono-sgen
565070f52000-565070f57000 rw-p 00468000 08:01 1450796                    /home/kate/.mono/bin/mono-sgen
565070f57000-565070fe8000 rw-p 00000000 00:00 0 
565072476000-56507299d000 rw-p 00000000 00:00 0                          [heap]
7f8fd0000000-7f8fd0021000 rw-p 00000000 00:00 0 
7f8fd0021000-7f8fd4000000 ---p 00000000 00:00 0 
7f8fd8000000-7f8fd8021000 rw-p 00000000 00:00 0 
7f8fd8021000-7f8fdc000000 ---p 00000000 00:00 0 
7f8fdc000000-7f8fdc021000 rw-p 00000000 00:00 0 
7f8fdc021000-7f8fe0000000 ---p 00000000 00:00 0 
7f8fe0000000-7f8fe0021000 rw-p 00000000 00:00 0 
7f8fe0021000-7f8fe4000000 ---p 00000000 00:00 0 
7f8fe6100000-7f8fe6200000 rw-p 00000000 00:00 0 
7f8fe6300000-7f8fe6400000 rw-p 00000000 00:00 0 
7f8fe64fd000-7f8fe6506000 ---p 00000000 00:00 0 
7f8fe6506000-7f8fe66fe000 rw-p 00000000 00:00 0 
7f8fe66fe000-7f8fe6707000 ---p 00000000 00:00 0 
7f8fe6707000-7f8fe68ff000 rw-p 00000000 00:00 0 
7f8fe68ff000-7f8fe6908000 ---p 00000000 00:00 0 
7f8fe6908000-7f8fe6c00000 rw-p 00000000 00:00 0 
7f8fe6cfd000-7f8fe6d06000 ---p 00000000 00:00 0 
7f8fe6d06000-7f8fe6efe000 rw-p 00000000 00:00 0 
Memory around native instruction pointer (0x7f9085c57fff):
0x7f9085c57fef  d2 4c 89 ce bf 02 00 00 00 b8 0e 00 00 00 0f 05  .L..............
0x7f9085c57fff  48 81 c4 88 00 00 00 44 89 c0 5b c3 0f 1f 44 00  H......D..[...D.
0x7f9085c5800f  00 48 8b 15 61 5e 36 00 f7 d8 64 89 02 eb ca 66  .H..a^6...d....f
0x7f9085c5801f  90 85 ff 78 0c f7 df e9 e5 02 00 00 0f 1f 44 00  ...x..........D.

Native stacktrace:

        /home/kate/.mono/bin/mono(+0x12763a) [0x565070a1163a]
        /home/kate/.mono/bin/mono(+0x127920) [0x565070a11920]
        /home/kate/.mono/bin/mono(+0xb9255) [0x5650709a3255]
        /lib/x86_64-linux-gnu/libpthread.so.0(+0x110c0) [0x7f90861ec0c0]
        /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcf) [0x7f9085c57fff]
        /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a) [0x7f9085c5942a]
        /home/kate/.mono/bin/mono(+0x2fe764) [0x565070be8764]
        /home/kate/.mono/bin/mono(+0x316ebe) [0x565070c00ebe]
        /home/kate/.mono/bin/mono(monoeg_assertion_message+0x96) [0x565070c012c6]
        /home/kate/.mono/bin/mono(+0x30da10) [0x565070bf7a10]
        /home/kate/.mono/bin/mono(+0x30e3b0) [0x565070bf83b0]
        /home/kate/.mono/bin/mono(+0x30bca5) [0x565070bf5ca5]
        /home/kate/.mono/bin/mono(+0x2bc25f) [0x565070ba625f]
        /home/kate/.mono/bin/mono(+0x2cbc3c) [0x565070bb5c3c]
        /home/kate/.mono/bin/mono(+0x2cbdb9) [0x565070bb5db9]
        /home/kate/.mono/bin/mono(+0x2bcdc5) [0x565070ba6dc5]
        /home/kate/.mono/bin/mono(+0x2a252a) [0x565070b8c52a]
        /home/kate/.mono/bin/mono(+0x22dd0a) [0x565070b17d0a]
        /home/kate/.mono/bin/mono(+0x242511) [0x565070b2c511]
        [0x4108016d]
* Assertion at mono-threads.c:1513, condition `!async_context || !info->is_async_context' not met

Aborted
kate@reeir-debian:~/Projects/roslyn$ Crash Reporter has timed out, sending SIGSEGV

Mono log profiler data
        Profiler version: 3.0
        Data version: 17
        Arguments: log:noalloc,sample,report
        Architecture: x86-64
        Operating system: linux
        Mean timer overhead: 33 nanoseconds
        Program startup: Tue Jan  1 18:56:35 2019
        Program ID: 4530
        Server listening on: 54595

JIT summary
        Compiled methods: 27201
        Generated code size: 8714084
        JIT helpers: 0
        JIT helpers code size: 0

GC summary
        GC resizes: 0
        Max heap size: 0
        Object moves: 0
@lambdageek

This comment has been minimized.

Copy link
Member

@lambdageek lambdageek commented Jan 2, 2019

Hand-auditing all the places that enter into one of the states that fall into that assert in check_thread_state(), I see:

  • mono_threads_transition_request_pulse creates a STATE_BLOCKING_SUSPEND_REQUESTED with suspend_count not set.
  • mono_threads_transition_finish_async_suspend doesn't have suspend_count > 0 asserts in STATE_ASYNC_SUSPEND_REQUESTED and STATE_BLOCKING_SUSPEND_REQUESTED states.

The former is probably why we get the assertion (assuming this is a recent mono that's using hybrid suspend by default).

PR shortly.

lambdageek added a commit to lambdageek/mono that referenced this issue Jan 2, 2019
* Fix bug in pulse transition - the suspend count was lost and incorrectly
  swapped to 0.
* finish_async_suspend transitino - add assertions that the suspend count is
  positive. Try to catch incorrect states sooner.

Fixes mono#12235
lambdageek added a commit to lambdageek/mono that referenced this issue Jan 2, 2019
* Fix bug in pulse transition - the suspend count was lost and incorrectly
  swapped to 0.
* finish_async_suspend transition - add assertions that the suspend count is
  positive. Try to catch incorrect states sooner.

Fixes mono#12235
monojenkins added a commit to monojenkins/mono that referenced this issue Jan 2, 2019
* Fix bug in pulse transition - the suspend count was lost and incorrectly
  swapped to 0.
* finish_async_suspend transition - add assertions that the suspend count is
  positive. Try to catch incorrect states sooner.

Fixes mono#12235
lambdageek added a commit to lambdageek/mono that referenced this issue Jan 2, 2019
* Fix bug in pulse transition - the suspend count was lost and incorrectly
  swapped to 0.
* finish_async_suspend transition - add assertions that the suspend count is
  positive. Try to catch incorrect states sooner.

Fixes mono#12235
lambdageek added a commit that referenced this issue Jan 3, 2019
…12241)

* Fix bug in pulse transition - the suspend count was lost and incorrectly
  swapped to 0.
* finish_async_suspend transition - add assertions that the suspend count is
  positive. Try to catch incorrect states sooner.

Fixes #12235
lambdageek added a commit that referenced this issue Jan 3, 2019
…12245)

* Fix bug in pulse transition - the suspend count was lost and incorrectly
  swapped to 0.
* finish_async_suspend transition - add assertions that the suspend count is
  positive. Try to catch incorrect states sooner.

Fixes #12235
luhenry added a commit that referenced this issue Jan 11, 2019
…12244)

* Fix bug in pulse transition - the suspend count was lost and incorrectly
  swapped to 0.
* finish_async_suspend transition - add assertions that the suspend count is
  positive. Try to catch incorrect states sooner.

Fixes #12235
jonpryor added a commit to xamarin/xamarin-android that referenced this issue Apr 24, 2019
Bumps to mono/api-snapshot@ae01378
Bumps to mono/reference-assemblies@e5173a5
Bumps to mono/bockbuild@d30329d
Bumps to mono/boringssl@3d87996
Bumps to mono/corefx@72f7d76
Bumps to mono/corert@1b7d4a1
Bumps to mono/helix-binaries@7e893ea
Bumps to mono/illinker-test-assets@f21ff68
Bumps to mono/linker@13d864e
Bumps to mono/llvm@1aaaaa5 [mono]
Bumps to mono/llvm@2c2cffe [xamarin-android]
Bumps to mono/NUnitLite@0029561
Bumps to mono/roslyn-binaries@0bbc9b4
Bumps to mono/xunit-binaries@8f6e62e

	$ git diff --shortstat 886c4901..e66c7667      # mono
        3597 files changed, 350850 insertions(+), 91128 deletions(-)
	$ git diff --shortstat 349752c464c5fc93b32e7d45825f2890c85c8b7d..2c2cffedf01e0fe266b9aaad2c2563e05b750ff4
	 240 files changed, 18562 insertions(+), 6581 deletions(-)

Context: dotnet/coreclr#22046

Fixes: CVE 2018-8292 on macOS
Fixes: http://work.devdiv.io/737323
Fixes: dotnet/corefx#33965
Fixes: dotnet/standard#642
Fixes: mono/mono#6997
Fixes: mono/mono#7326
Fixes: mono/mono#7517
Fixes: mono/mono#7750
Fixes: mono/mono#7859
Fixes: mono/mono#8360
Fixes: mono/mono#8460
Fixes: mono/mono#8766
Fixes: mono/mono#8922
Fixes: mono/mono#9418
Fixes: mono/mono#9507
Fixes: mono/mono#9951
Fixes: mono/mono#10024
Fixes: mono/mono#10030
Fixes: mono/mono#10038
Fixes: mono/mono#10448
Fixes: mono/mono#10735
Fixes: mono/mono#10735
Fixes: mono/mono#10737
Fixes: mono/mono#10743
Fixes: mono/mono#10834
Fixes: mono/mono#10837
Fixes: mono/mono#10838
Fixes: mono/mono#10863
Fixes: mono/mono#10945
Fixes: mono/mono#11020
Fixes: mono/mono#11021
Fixes: mono/mono#11021
Fixes: mono/mono#11049
Fixes: mono/mono#11091
Fixes: mono/mono#11095
Fixes: mono/mono#11123
Fixes: mono/mono#11138
Fixes: mono/mono#11146
Fixes: mono/mono#11202
Fixes: mono/mono#11214
Fixes: mono/mono#11317
Fixes: mono/mono#11326
Fixes: mono/mono#11378
Fixes: mono/mono#11385
Fixes: mono/mono#11478
Fixes: mono/mono#11479
Fixes: mono/mono#11488
Fixes: mono/mono#11489
Fixes: mono/mono#11527
Fixes: mono/mono#11529
Fixes: mono/mono#11596
Fixes: mono/mono#11603
Fixes: mono/mono#11613
Fixes: mono/mono#11623
Fixes: mono/mono#11663
Fixes: mono/mono#11681
Fixes: mono/mono#11684
Fixes: mono/mono#11693
Fixes: mono/mono#11697
Fixes: mono/mono#11779
Fixes: mono/mono#11809
Fixes: mono/mono#11858
Fixes: mono/mono#11895
Fixes: mono/mono#11898
Fixes: mono/mono#11898
Fixes: mono/mono#11965
Fixes: mono/mono#12182
Fixes: mono/mono#12193
Fixes: mono/mono#12218
Fixes: mono/mono#12235
Fixes: mono/mono#12263
Fixes: mono/mono#12307
Fixes: mono/mono#12331
Fixes: mono/mono#12362
Fixes: mono/mono#12374
Fixes: mono/mono#12402
Fixes: mono/mono#12421
Fixes: mono/mono#12461
Fixes: mono/mono#12479
Fixes: mono/mono#12479
Fixes: mono/mono#12552
Fixes: mono/mono#12603
Fixes: mono/mono#12747
Fixes: mono/mono#12831
Fixes: mono/mono#12843
Fixes: mono/mono#12881
Fixes: mono/mono#13030
Fixes: mono/mono#13284
Fixes: mono/mono#13297
Fixes: mono/mono#13455
Fixes: mono/mono#13460
Fixes: mono/mono#13478
Fixes: mono/mono#13479
Fixes: mono/mono#13522
Fixes: mono/mono#13607
Fixes: mono/mono#13610
Fixes: mono/mono#13610
Fixes: mono/mono#13639
Fixes: mono/mono#13672
Fixes: mono/mono#13834
Fixes: mono/mono#13878
Fixes: mono/mono#6352
Fixes: mono/monodevelop#6898
Fixes: xamarin/maccore#1069
Fixes: xamarin/maccore#1407
Fixes: xamarin/maccore#604
Fixes: xamarin/xamarin-macios#4984
Fixes: xamarin/xamarin-macios#5289
Fixes: xamarin/xamarin-macios#5363
Fixes: xamarin/xamarin-macios#5381
Fixes: https://issuetracker.unity3d.com/issues/editor-crashes-with-g-logv-when-entering-play-mode-with-active-flowcanvas-script
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.