Bug 56546 - [arm64] NRE in Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode:ComputeSyntaxTree (roslyn)
Summary: [arm64] NRE in Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode:ComputeSyntaxTr...
Status: CONFIRMED
Alias: None
Product: Runtime
Classification: Mono
Component: JIT (show other bugs)
Version: master
Hardware: PC Linux
: --- normal
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2017-05-17 09:02 UTC by Bernhard Urban
Modified: 2018-04-11 12:24 UTC (History)
7 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description Bernhard Urban 2017-05-17 09:02:25 UTC
not sure yet if it's device specific or caused by the versions of the tools.

=== DEVICE ===
Samsung Chromebook Plus, that comes with an OP1 chip (http://whatisop.com/) which appears to be a rebranded version of Rockchip RK3399.

=== ENVIRONMENT ===

Linux 4.4
Ubuntu 16.04.2 LTS
GCC 5.4.0

=== CRASH ===

It's 100% reproducible and happens on the first roslyn invocation. The NRE is thrown at a place where it shouldn't be possible; looking at the C# code, `nodes` should never have `null` in it: http://source.roslyn.io/#Microsoft.CodeAnalysis.CSharp/Syntax/CSharpSyntaxNode.cs,110

here is an output from a GDB session:
https://gist.github.com/lewurm/4a6762a9249c904455494ad04b4f786c

It also crahses with '-O=-gshared'.

mono/mini regression and mono/tests runs fine.
Comment 1 Bernhard Urban 2017-05-17 10:57:19 UTC
tried with Debian Sid

$ gcc --version
gcc (Debian 6.3.0-17) 6.3.0 20170510
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

same issue.  BTW, here the managed stack trace:


Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object
  at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode.ComputeSyntaxTree (Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode node) [0x00073] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode.get_SyntaxTree () [0x0000a] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode.get_SyntaxTreeCore () [0x00000] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.SyntaxNode.get_SyntaxTree () [0x00000] in <f2b6b0c7232c492ab0977c92b758d591>:0 
  at Microsoft.CodeAnalysis.SyntaxToken.get_SyntaxTree () [0x0000b] in <f2b6b0c7232c492ab0977c92b758d591>:0 
  at Microsoft.CodeAnalysis.SourceLocation..ctor (Microsoft.CodeAnalysis.SyntaxToken token) [0x00000] in <f2b6b0c7232c492ab0977c92b758d591>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberFieldSymbol.MakeModifiers (Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol containingType, Microsoft.CodeAnalysis.SyntaxToken firstIdentifier, Microsoft.CodeAnalysis.SyntaxTokenList modifiers, Microsoft.CodeAnalysis.DiagnosticBag diagnostics, System.Boolean& modifierErrors) [0x00018] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.AddNonTypeMembers (Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+MembersAndInitializersBuilder builder, Microsoft.CodeAnalysis.SyntaxList`1[TNode] members, Microsoft.CodeAnalysis.DiagnosticBag diagnostics) [0x00112] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.AddDeclaredNontypeMembers (Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol+MembersAndInitializersBuilder builder, Microsoft.CodeAnalysis.DiagnosticBag diagnostics) [0x000f1] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.BuildMembersAndInitializers (Microsoft.CodeAnalysis.DiagnosticBag diagnostics) [0x00006] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.GetMembersAndInitializers () [0x00012] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.MakeAllMembers (Microsoft.CodeAnalysis.DiagnosticBag diagnostics) [0x00000] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.GetMembersByNameSlow () [0x0000e] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.GetMembersByName () [0x00019] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.ForceComplete (Microsoft.CodeAnalysis.SourceLocation locationOpt, System.Threading.CancellationToken cancellationToken) [0x001d7] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberByLocation (Microsoft.CodeAnalysis.SourceLocation locationOpt, Microsoft.CodeAnalysis.CSharp.Symbol member, System.Threading.CancellationToken cancellationToken) [0x0002a] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+<>c__DisplayClass47_0.<ForceComplete>b__0 (System.Int32 i) [0x0000d] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Roslyn.Utilities.UICultureUtilities+<>c__DisplayClass6_0`1[T].<WithCurrentUICulture>b__0 (T param) [0x00039] in <f2b6b0c7232c492ab0977c92b758d591>:0 
  at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[TLocal].<ForWorker>b__1 () [0x0020b] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task.InnerInvoke () [0x0000f] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task.InnerInvokeWithArg (System.Threading.Tasks.Task childTask) [0x00000] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task+<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0 (System.Object <p0>) [0x00086] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
   --- End of inner exception stack trace ---
  at System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00011] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken) [0x00043] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task.Wait () [0x00000] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Parallel.ForWorker[TLocal] (System.Int32 fromInclusive, System.Int32 toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1[T] body, System.Action`2[T1,T2] bodyWithState, System.Func`4[T1,T2,T3,TResult] bodyWithLocal, System.Func`1[TResult] localInit, System.Action`1[T] localFinally) [0x001ab] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Parallel.For (System.Int32 fromInclusive, System.Int32 toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1[T] body) [0x0001c] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol.ForceComplete (Microsoft.CodeAnalysis.SourceLocation locationOpt, System.Threading.CancellationToken cancellationToken) [0x0015d] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberByLocation (Microsoft.CodeAnalysis.SourceLocation locationOpt, Microsoft.CodeAnalysis.CSharp.Symbol member, System.Threading.CancellationToken cancellationToken) [0x0002a] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+<>c__DisplayClass47_0.<ForceComplete>b__0 (System.Int32 i) [0x0000d] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Roslyn.Utilities.UICultureUtilities+<>c__DisplayClass6_0`1[T].<WithCurrentUICulture>b__0 (T param) [0x00039] in <f2b6b0c7232c492ab0977c92b758d591>:0 
  at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[TLocal].<ForWorker>b__1 () [0x0020b] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task.InnerInvoke () [0x0000f] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task.InnerInvokeWithArg (System.Threading.Tasks.Task childTask) [0x00000] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task+<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0 (System.Object <p0>) [0x00086] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
   --- End of inner exception stack trace ---
  at System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00011] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken) [0x00043] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task.Wait () [0x00000] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Parallel.ForWorker[TLocal] (System.Int32 fromInclusive, System.Int32 toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1[T] body, System.Action`2[T1,T2] bodyWithState, System.Func`4[T1,T2,T3,TResult] bodyWithLocal, System.Func`1[TResult] localInit, System.Action`1[T] localFinally) [0x001ab] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Parallel.For (System.Int32 fromInclusive, System.Int32 toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1[T] body) [0x0001c] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol.ForceComplete (Microsoft.CodeAnalysis.SourceLocation locationOpt, System.Threading.CancellationToken cancellationToken) [0x0015d] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberByLocation (Microsoft.CodeAnalysis.SourceLocation locationOpt, Microsoft.CodeAnalysis.CSharp.Symbol member, System.Threading.CancellationToken cancellationToken) [0x0002a] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+<>c__DisplayClass47_0.<ForceComplete>b__0 (System.Int32 i) [0x0000d] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Roslyn.Utilities.UICultureUtilities+<>c__DisplayClass6_0`1[T].<WithCurrentUICulture>b__0 (T param) [0x00039] in <f2b6b0c7232c492ab0977c92b758d591>:0 
  at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[TLocal].<ForWorker>b__1 () [0x0020b] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task.InnerInvoke () [0x0000f] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task.InnerInvokeWithArg (System.Threading.Tasks.Task childTask) [0x00000] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task+<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0 (System.Object <p0>) [0x00086] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
   --- End of inner exception stack trace ---
  at System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00011] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken) [0x00043] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Task.Wait () [0x00000] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Parallel.ForWorker[TLocal] (System.Int32 fromInclusive, System.Int32 toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1[T] body, System.Action`2[T1,T2] bodyWithState, System.Func`4[T1,T2,T3,TResult] bodyWithLocal, System.Func`1[TResult] localInit, System.Action`1[T] localFinally) [0x001ab] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at System.Threading.Tasks.Parallel.For (System.Int32 fromInclusive, System.Int32 toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1[T] body) [0x0001c] in <0cc1ce5d6d5e4444b8b8eefeddcd90cd>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol.ForceComplete (Microsoft.CodeAnalysis.SourceLocation locationOpt, System.Threading.CancellationToken cancellationToken) [0x0015d] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceModuleSymbol.ForceComplete (Microsoft.CodeAnalysis.SourceLocation locationOpt, System.Threading.CancellationToken cancellationToken) [0x000b8] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol.ForceComplete (Microsoft.CodeAnalysis.SourceLocation locationOpt, System.Threading.CancellationToken cancellationToken) [0x000a5] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetSourceDeclarationDiagnostics (Microsoft.CodeAnalysis.SyntaxTree syntaxTree, System.Nullable`1[T] filterSpanWithinTree, System.Func`4[T1,T2,T3,TResult] locationFilterOpt, System.Threading.CancellationToken cancellationToken) [0x00040] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetDiagnostics (Microsoft.CodeAnalysis.CompilationStage stage, System.Boolean includeEarlierStages, System.Threading.CancellationToken cancellationToken) [0x00182] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetDeclarationDiagnostics (System.Threading.CancellationToken cancellationToken) [0x00000] in <1ba4bb5c0a5a4763b0a42e5d26d8945c>:0 
  at Microsoft.CodeAnalysis.CommonCompiler.RunCore (System.IO.TextWriter consoleOutput, Microsoft.CodeAnalysis.ErrorLogger errorLogger, System.Threading.CancellationToken cancellationToken) [0x001ab] in <f2b6b0c7232c492ab0977c92b758d591>:0 
  at Microsoft.CodeAnalysis.CommonCompiler.Run (System.IO.TextWriter consoleOutput, System.Threading.CancellationToken cancellationToken) [0x00035] in <f2b6b0c7232c492ab0977c92b758d591>:0 
  at Microsoft.CodeAnalysis.CSharp.CommandLine.Csc+<>c__DisplayClass1_0.<Run>b__0 (System.IO.TextWriter tw) [0x00000] in <d4f1b5eaa9f64f48b5b8f52764f8d11f>:0 
  at Microsoft.CodeAnalysis.CommandLine.ConsoleUtil.RunWithUtf8Output[T] (System.Boolean utf8Output, System.IO.TextWriter textWriter, System.Func`2[T,TResult] func) [0x0001d] in <d4f1b5eaa9f64f48b5b8f52764f8d11f>:0 
  at Microsoft.CodeAnalysis.CSharp.CommandLine.Csc.Run (System.String[] args, Microsoft.CodeAnalysis.BuildPaths buildPaths, System.IO.TextWriter textWriter, Microsoft.CodeAnalysis.IAnalyzerAssemblyLoader analyzerLoader) [0x00048] in <d4f1b5eaa9f64f48b5b8f52764f8d11f>:0 
  at (wrapper delegate-invoke) <Module>:invoke_int_string[]_BuildPaths_TextWriter_IAnalyzerAssemblyLoader (string[],Microsoft.CodeAnalysis.BuildPaths,System.IO.TextWriter,Microsoft.CodeAnalysis.IAnalyzerAssemblyLoader)
  at Microsoft.CodeAnalysis.CommandLine.DesktopBuildClient.RunLocalCompilation (System.String[] arguments, Microsoft.CodeAnalysis.BuildPaths buildPaths, System.IO.TextWriter textWriter) [0x00000] in <d4f1b5eaa9f64f48b5b8f52764f8d11f>:0 
  at Microsoft.CodeAnalysis.CommandLine.BuildClient.RunCompilation (System.Collections.Generic.IEnumerable`1[T] originalArguments, Microsoft.CodeAnalysis.BuildPaths buildPaths, System.IO.TextWriter textWriter) [0x0009d] in <d4f1b5eaa9f64f48b5b8f52764f8d11f>:0 
  at Microsoft.CodeAnalysis.CommandLine.DesktopBuildClient.Run (System.Collections.Generic.IEnumerable`1[T] arguments, System.Collections.Generic.IEnumerable`1[T] extraArguments, Microsoft.CodeAnalysis.CommandLine.RequestLanguage language, Microsoft.CodeAnalysis.CommandLine.CompileFunc compileFunc, Microsoft.CodeAnalysis.IAnalyzerAssemblyLoader analyzerAssemblyLoader) [0x0003e] in <d4f1b5eaa9f64f48b5b8f52764f8d11f>:0 
  at Microsoft.CodeAnalysis.CSharp.CommandLine.Program.Main (System.String[] args, System.String[] extraArgs) [0x00018] in <d4f1b5eaa9f64f48b5b8f52764f8d11f>:0 
  at Microsoft.CodeAnalysis.CSharp.CommandLine.Program.Main (System.String[] args) [0x00006] in <d4f1b5eaa9f64f48b5b8f52764f8d11f>:0
Comment 2 Bernhard Urban 2017-05-24 10:46:40 UTC
here is a workaround (passing `/parallel-` to rosyln)

https://gist.github.com/lewurm/8b08a75475ae8484a5df0ba293669326
Comment 3 Rodrigo Kumpera 2017-10-11 00:31:01 UTC
Zoltan, couldn't this be a similar issue to the one you fixed on amd64?
Comment 4 Bernhard Urban 2017-10-11 07:55:02 UTC
output of  MONO_VERBOSE_METHOD=Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode:ComputeSyntaxTree

https://gist.github.com/152bd288cf77f8b811b36fc717b64317
Comment 5 Bernhard Urban 2017-10-12 10:16:38 UTC
Current state of affairs:

First off: The statement in the first comment ("100% reproducible") is not true. I would say it somewhere about 90% though. Still, it crashes always at the same instruction, so that's "good".

Second: NRE is _not_ caused by `nodes` being `null`, but by the first element of `nodes` being `null`; the first element is returned by the enumerator generated due to the for each loop: http://source.roslyn.io/#Microsoft.CodeAnalysis.CSharp/Syntax/CSharpSyntaxNode.cs,109
Looking at the method that cannot be the case for the first element; if the `node` would be indeed `null`, then we would see a crash further up in the method.

The next thought is: Where is `nodes` coming from? It's an `ArrayBuilder` instance, and, following `GetInstance()` you will see that ObjectPools are used to allocate such `ArrayBuilder`s. That's the `Allocate` method: http://source.roslyn.io/#Microsoft.CodeAnalysis/ObjectPool%25601.cs,034674a449b3a226

Given my trust issues with racy code, I came up with a "clever" hack in the runtime, that makes `ObjectPool:Allocate()` always synchronized: https://gist.github.com/lewurm/ad8a114e41926e1d65d4666425b3cd63

And indeed, the crash goes away, but others pop up now. I haven't gotten a crash twice yet, so the variety is kinda big; it ranges from SIGSEGV to strange C# compiler errors that don't make sense (so not really a crash, but something definitely goes wrong).

My current bet: Our `Interlocked.CompareExchange<T>(ref T location1, T value, T comparand)` implementation is broken, at least for that device/environment.
Comment 6 Ludovic Henry 2017-10-12 13:15:21 UTC
In have already witnessed `Interlocked.CompareExchange<T>(ref T location1, T value, T comparand)` breaking things because it would use the "red zone" on x86_64 and we would spend the thread right at the wrong instruction.
Comment 7 Ludovic Henry 2017-10-13 14:21:34 UTC
For reference to https://bugzilla.xamarin.com/show_bug.cgi?id=56546#c6 , the bug which hit the Interlocked.CompareExchange bug is https://bugzilla.xamarin.com/show_bug.cgi?id=38012
Comment 8 Bernhard Urban 2017-10-16 11:30:59 UTC
I was hoping that with https://github.com/mono/mono/pull/5780 I was onto something regarding this bug, but alas it didn't help. I'm still clueless what the cause of this bug could be.
Comment 9 Alexander Köplinger [MSFT] 2018-02-20 14:07:33 UTC
Cross-linking this bug with https://github.com/mono/mono/issues/7017

Note You need to log in before you can comment on or make changes to this bug.