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

DeflateStream leaks native memory if not explicitly disposed #15825

Closed
curia-damiano opened this issue Jul 25, 2019 · 8 comments · Fixed by #15879 or xamarin/xamarin-android#3443
Assignees

Comments

@curia-damiano
Copy link

@curia-damiano curia-damiano commented Jul 25, 2019

I have a small console application, that uses a managed library to create PDF.
The PDF generation is run in a loop.

In Windows, with .NET Framework, the memory stays constant.

In Mac, with Mono latest version, the same application continues to grow memory.

My suspect is that the garbage collector has some bug and is not releasing the memory.

I've also tried to allow at the end of each loop the following instructions:
GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced, true, true);
Console.WriteLine(GC.GetTotalMemory(true));
And while in .NET Framework the total memory is absolutely constant, in Mono it is contantly growing.

FYI this issue is very similar to #15751, but in this case I have a simpler repro project.

Steps to Reproduce

  1. Run in Visual Studio for Mac the attached application
  2. In Activity Monitor check the used memory

Current Behavior

Bug in Mono, it is not correctly tracking the allocated memory and because of this it is constantly growing.

Expected Behavior

In Mono the total memory stays contant like in Windows.

On which platforms did you notice this

[X] macOS
[X] Linux
[ ] Windows

Version Used:
Mono 6.0.0.311
Visual Studio for Mac 8.2

@curia-damiano

This comment has been minimized.

Copy link
Author

@curia-damiano curia-damiano commented Jul 25, 2019

This is the repro project, to be tested on .NET Framework (Windows) and Mono (Mac/Linux)
MemoryLeakTest.zip

@marek-safar

This comment has been minimized.

Copy link
Member

@marek-safar marek-safar commented Jul 25, 2019

Mono does not have precise stack scanning and unless you extract the tight loop into method call this is expected

@curia-damiano

This comment has been minimized.

Copy link
Author

@curia-damiano curia-damiano commented Jul 25, 2019

Hi Marek,
Thank you for your quick reply.
I would need a clarification: "unless you extract the tight loop into method call this is expected" -> does this mean that if I place the loop in a method call, this will fix the memory issue? Or do I need to place the content of the loop (and not the loop itself) in a method?

Do you have any reference about this topic?

@Suchiman

This comment has been minimized.

Copy link
Contributor

@Suchiman Suchiman commented Jul 26, 2019

in Mono it is contantly growing

How does not having precise GC faciliate constant growing? While this will cause the stack roots to stay alive for the duration of the method (and anything looking like a pointer to the heap be considered a stack root), the actual variables will be rewritten on each iteration of the loop, so this should only have a constantly higher memory comsumption, not constantly growing memory consumption.

I would imagine that .NET would exhibit the same behavior then when running in debug since that disables eager root collection and thus keeping variables alive until the end of the method.

@curia-damiano

This comment has been minimized.

Copy link
Author

@curia-damiano curia-damiano commented Jul 27, 2019

Hi Marek,
I attach the revised sample project where I moved the pdf generation in an inner method.
The memory leak in Mono is still there...
MemoryLeakTest.zip

@BrzVlad

This comment has been minimized.

Copy link
Member

@BrzVlad BrzVlad commented Jul 27, 2019

@curia-damiano Thanks for the report.

This is a bug in Mono's DeflateStream. A DeflateStream makes use of a DeflateStreamNative. The DeflateStreamNative object allocates a gchandle to itself, which makes the object live forever unless it is explicitly disposed. The parent DeflateStream explicitly disposes of the DeflateStreamNative only if it is explicitly disposed itself, and, because it doesn't have a finalizer, it will leak if the user code doesn't call Dispose.

Here is an even easier and clearer repro : https://gist.github.com/BrzVlad/33a5eb6f0fd004eaf91f8d80eb0cf9ec . Make sure to have an .xml file in the current folder so the there is stuff to compress/decompress.

@steveisok I'll leave it up to your team to produce a fix. I guess the easiest is to add a finalizer to DeflateStream, but maybe other ways can be explored for perf sake.

@BrzVlad BrzVlad reopened this Jul 27, 2019
@BrzVlad BrzVlad added area-BCL: System and removed question labels Jul 27, 2019
@steveisok

This comment has been minimized.

Copy link
Contributor

@steveisok steveisok commented Jul 27, 2019

/cc @EgorBo

@EgorBo EgorBo self-assigned this Jul 29, 2019
@marek-safar marek-safar changed the title Garbage Collector doesn't recover memory DeflateStream leaks native memory if not explicitly disposed Jul 29, 2019
@marek-safar marek-safar added this to the 2019-02 (6.0.xx) milestone Jul 29, 2019
@curia-damiano

This comment has been minimized.

Copy link
Author

@curia-damiano curia-damiano commented Jul 30, 2019

Thank you guys for your help!

akoeplinger added a commit that referenced this issue Aug 5, 2019
Fixes #15825
akoeplinger added a commit that referenced this issue Aug 5, 2019
Fixes #15825

Backport of #15879.
akoeplinger added a commit that referenced this issue Aug 5, 2019
Fixes #15825

Backport of #15879.
jonpryor added a commit to jonpryor/xamarin-android that referenced this issue Aug 5, 2019
Changes: mono/mono@761220d...6fbdb37

Fixes: mono/mono#15751
Fixes: mono/mono#15825
Fixes: mono/mono#15878
Fixes: mono/mono#15887

Fix `Socket.ConnectAsync(SocketAsyncEventArgs)` behavior
jonpryor added a commit to xamarin/xamarin-android that referenced this issue Aug 9, 2019
Fixes: mono/mono#15261
Fixes: mono/mono#15262
Fixes: mono/mono#15263
Fixes: mono/mono#15307
Fixes: mono/mono#15751
Fixes: mono/mono#15825
Fixes: mono/mono#15878
Fixes: mono/mono#15887

[w32socket] Translate ELOOP and ENAMETOOLONG

[corlib] Ignore TimeZoneTest.TestCtors on Android GMT
jonpryor added a commit to xamarin/xamarin-android that referenced this issue Aug 10, 2019
Context: mono/mono#9621
Context: http://build.azdo.io/2927809

Fixes: mono/mono#15261
Fixes: mono/mono#15262
Fixes: mono/mono#15263
Fixes: mono/mono#15307
Fixes: mono/mono#15751
Fixes: mono/mono#15825
Fixes: mono/mono#15878
Fixes: mono/mono#15887

[w32socket] Translate ELOOP and ENAMETOOLONG

[corlib] Ignore TimeZoneTest.TestCtors on Android GMT

Additionally, mono cross compilers are now always 64-bit, as are the
LLVM runtimes.  64-bit cross-compilers broke the xamarin-android
build, as it was using a 32-bit `strip` on them, which failed.

Use the correct `strip` utility, and remove the reference to a
Windows 32bit LLVM runtime which no longer exists.

The mono archive also no longer contains any `llvmwin32` content,
so ensure that the correct LLVM runtimes are installed.
jonpryor added a commit to xamarin/xamarin-android that referenced this issue Aug 14, 2019
Changes: mono/mono@761220d...a791989

Fixes: mono/mono#15261
Fixes: mono/mono#15262
Fixes: mono/mono#15263
Fixes: mono/mono#15307
Fixes: mono/mono#15575
Fixes: mono/mono#15751
Fixes: mono/mono#15825
Fixes: mono/mono#15878
Fixes: mono/mono#15887
Fixes: mono/mono#16010

Context: mono/mono#9621
Context: http://build.azdo.io/2927809

Fix `Socket.ConnectAsync(SocketAsyncEventArgs)` behavior

Ignores `TimeZoneTest.TestCtors` on Android GMT, as
`TimeZone.CurrentTimeZone.DaylightName` is an empty value.

[w32socket] Translate ELOOP and ENAMETOOLONG

Additionally, mono cross compilers are now always 64-bit, as are the
LLVM runtimes.  64-bit cross-compilers broke the xamarin-android
build, as it was using a 32-bit `strip` on them, which failed.

Use the correct `strip` utility, and remove the reference to a
Windows 32bit LLVM runtime which no longer exists.

The mono archive also no longer contains any `llvmwin32` content,
so ensure that the correct LLVM runtimes are installed.
jonpryor added a commit to xamarin/xamarin-android that referenced this issue Sep 4, 2019
Changes: mono/mono@e6f5369...6256b82

Upstream-Fixes: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/976811
Upstream-Fixes: mono/mono#15751
Upstream-Fixes: mono/mono#15825
Upstream-Fixes: mono/mono#16032
Upstream-Fixes: mono/mono#16122
Upstream-Fixes: mono/mono#16486
jonpryor added a commit to xamarin/xamarin-android that referenced this issue Sep 4, 2019
Changes: mono/mono@e6f5369...6256b82

Upstream-Fixes: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/976811
Upstream-Fixes: mono/mono#15751
Upstream-Fixes: mono/mono#15825
Upstream-Fixes: mono/mono#16032
Upstream-Fixes: mono/mono#16122
Upstream-Fixes: mono/mono#16486
jonpryor added a commit to xamarin/xamarin-android that referenced this issue Sep 6, 2019
Changes: http://github.com/mono/mono/compare/2c3aeaf3780de7392a0d3cbe4dcf86846eb4dffa...29b1ac19c961b959a09097dbc0fe4cd567cc5298

	$ git diff --shortstat 2c3aeaf3..29b1ac19
	 1528 files changed, 45421 insertions(+), 21967 deletions(-)

Changes: mono/api-doc-tools@d03e819...5da8127

	$ git diff --shortstat d03e8198..5da8127a
	 1001 files changed, 86168 insertions(+), 11863 deletions(-)

Changes: mono/api-snapshot@e09042d...1ca8e82

	$ git diff --shortstat e09042da..1ca8e82f
        28 files changed, 612 insertions(+), 217 deletions(-)

Changes: mono/cecil@a6c8f5e...cb6c1ca

	$ git diff --shortstat a6c8f5e1..cb6c1ca9
	 13 files changed, 233 insertions(+), 88 deletions(-)

Changes: mono/corefx@4806207...470e0e1

	$ git diff --shortstat 4806207f...470e0e10
	 4 files changed, 31 insertions(+), 12 deletions(-)

Changes: mono/linker@ebe2a1f...1f87de3

	$ git diff --shortstat ebe2a1f4...1f87de35
        90 files changed, 3219 insertions(+), 1224 deletions(-)

Changes: xamarin/java.interop@befdbc0...be6048e

	$ git diff --shortstat befdbc03...be6048ed
        3 files changed, 3 insertions(+), 3 deletions(-)

Upstream-Fixes: https://bugs.winehq.org/show_bug.cgi?id=47561
Upstream-Fixes: https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/967582
Upstream-Fixes: dotnet/coreclr#25071
Upstream-Fixes: dotnet/coreclr#25242
Upstream-Fixes: dotnet/coreclr#25632
Upstream-Fixes: dotnet/coreclr#25709
Upstream-Fixes: dotnet/corefx#37955
Upstream-Fixes: dotnet/corefx#38455
Upstream-Fixes: mono/mono#7377
Upstream-Fixes: mono/mono#8747
Upstream-Fixes: mono/mono#9621
Upstream-Fixes: mono/mono#9664
Upstream-Fixes: mono/mono#9706
Upstream-Fixes: mono/mono#10201
Upstream-Fixes: mono/mono#10645
Upstream-Fixes: mono/mono#10748
Upstream-Fixes: mono/mono#10848
Upstream-Fixes: mono/mono#12141
Upstream-Fixes: mono/mono#13311
Upstream-Fixes: mono/mono#13408
Upstream-Fixes: mono/mono#13412
Upstream-Fixes: mono/mono#13891
Upstream-Fixes: mono/mono#13923
Upstream-Fixes: mono/mono#13945
Upstream-Fixes: mono/mono#14170
Upstream-Fixes: mono/mono#14214
Upstream-Fixes: mono/mono#14214
Upstream-Fixes: mono/mono#14215
Upstream-Fixes: mono/mono#14243
Upstream-Fixes: mono/mono#14377
Upstream-Fixes: mono/mono#14495
Upstream-Fixes: mono/mono#14555
Upstream-Fixes: mono/mono#14724
Upstream-Fixes: mono/mono#14729
Upstream-Fixes: mono/mono#14772
Upstream-Fixes: mono/mono#14792
Upstream-Fixes: mono/mono#14793
Upstream-Fixes: mono/mono#14809
Upstream-Fixes: mono/mono#14830
Upstream-Fixes: mono/mono#14839
Upstream-Fixes: mono/mono#14841
Upstream-Fixes: mono/mono#14847
Upstream-Fixes: mono/mono#14864
Upstream-Fixes: mono/mono#14871
Upstream-Fixes: mono/mono#14917
Upstream-Fixes: mono/mono#14945
Upstream-Fixes: mono/mono#14946
Upstream-Fixes: mono/mono#14948
Upstream-Fixes: mono/mono#14957
Upstream-Fixes: mono/mono#14959
Upstream-Fixes: mono/mono#14960
Upstream-Fixes: mono/mono#14961
Upstream-Fixes: mono/mono#14963
Upstream-Fixes: mono/mono#14971
Upstream-Fixes: mono/mono#14972
Upstream-Fixes: mono/mono#14975
Upstream-Fixes: mono/mono#15023
Upstream-Fixes: mono/mono#15048
Upstream-Fixes: mono/mono#15058
Upstream-Fixes: mono/mono#15080
Upstream-Fixes: mono/mono#15182
Upstream-Fixes: mono/mono#15188
Upstream-Fixes: mono/mono#15189
Upstream-Fixes: mono/mono#15261
Upstream-Fixes: mono/mono#15262
Upstream-Fixes: mono/mono#15263
Upstream-Fixes: mono/mono#15265
Upstream-Fixes: mono/mono#15268
Upstream-Fixes: mono/mono#15307
Upstream-Fixes: mono/mono#15324
Upstream-Fixes: mono/mono#15329
Upstream-Fixes: mono/mono#15330
Upstream-Fixes: mono/mono#15441
Upstream-Fixes: mono/mono#15446
Upstream-Fixes: mono/mono#15503
Upstream-Fixes: mono/mono#15541
Upstream-Fixes: mono/mono#15551
Upstream-Fixes: mono/mono#15556
Upstream-Fixes: mono/mono#15596
Upstream-Fixes: mono/mono#15691
Upstream-Fixes: mono/mono#15692
Upstream-Fixes: mono/mono#15740
Upstream-Fixes: mono/mono#15751
Upstream-Fixes: mono/mono#15760
Upstream-Fixes: mono/mono#15781
Upstream-Fixes: mono/mono#15794
Upstream-Fixes: mono/mono#15825
Upstream-Fixes: mono/mono#15853
Upstream-Fixes: mono/mono#15878
Upstream-Fixes: mono/mono#15887
Upstream-Fixes: mono/mono#15990
Upstream-Fixes: mono/mono#16032
Upstream-Fixes: mono/mono#16411
Upstream-Fixes: mono/mono#16486
Upstream-Fixes: https://github.com/mono/mono/issues/25709
Upstream-Fixes: https://github.com/mono/mono/issues/38821
Upstream-Fixes: #3112
Upstream-Fixes: #3168

Update `build-tools/automation/build.groovy` so that it fully cleans
the build tree before starting the build, so that the vestigial mono
submodule (removed in 0c9f83b) is *actually* removed from the build
tree, so that we don't inadvertently use *ancient* submodule contents.
jonpryor added a commit to jonpryor/xamarin-android that referenced this issue Sep 6, 2019
Changes: http://github.com/mono/mono/compare/2c3aeaf3780de7392a0d3cbe4dcf86846eb4dffa...29b1ac19c961b959a09097dbc0fe4cd567cc5298

	$ git diff --shortstat 2c3aeaf3..29b1ac19
	 1528 files changed, 45421 insertions(+), 21967 deletions(-)

Changes: mono/api-doc-tools@d03e819...5da8127

	$ git diff --shortstat d03e8198..5da8127a
	 1001 files changed, 86168 insertions(+), 11863 deletions(-)

Changes: mono/api-snapshot@e09042d...1ca8e82

	$ git diff --shortstat e09042da..1ca8e82f
        28 files changed, 612 insertions(+), 217 deletions(-)

Changes: mono/cecil@a6c8f5e...cb6c1ca

	$ git diff --shortstat a6c8f5e1..cb6c1ca9
	 13 files changed, 233 insertions(+), 88 deletions(-)

Changes: mono/corefx@4806207...470e0e1

	$ git diff --shortstat 4806207f...470e0e10
	 4 files changed, 31 insertions(+), 12 deletions(-)

Changes: mono/linker@ebe2a1f...1f87de3

	$ git diff --shortstat ebe2a1f4...1f87de35
	 90 files changed, 3219 insertions(+), 1224 deletions(-)

Changes: xamarin/java.interop@75b1189...4fd3539

	$ git diff --shortstat 75b11891...4fd35393
	 34 files changed, 448 insertions(+), 52 deletions(-)

Upstream-Fixes: https://bugs.winehq.org/show_bug.cgi?id=47561
Upstream-Fixes: https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/967582
Upstream-Fixes: dotnet/coreclr#25071
Upstream-Fixes: dotnet/coreclr#25242
Upstream-Fixes: dotnet/coreclr#25632
Upstream-Fixes: dotnet/coreclr#25709
Upstream-Fixes: dotnet/corefx#37955
Upstream-Fixes: dotnet/corefx#38455
Upstream-Fixes: mono/mono#7377
Upstream-Fixes: mono/mono#8747
Upstream-Fixes: mono/mono#9621
Upstream-Fixes: mono/mono#9664
Upstream-Fixes: mono/mono#9706
Upstream-Fixes: mono/mono#10201
Upstream-Fixes: mono/mono#10645
Upstream-Fixes: mono/mono#10748
Upstream-Fixes: mono/mono#10848
Upstream-Fixes: mono/mono#12141
Upstream-Fixes: mono/mono#13311
Upstream-Fixes: mono/mono#13408
Upstream-Fixes: mono/mono#13412
Upstream-Fixes: mono/mono#13891
Upstream-Fixes: mono/mono#13923
Upstream-Fixes: mono/mono#13945
Upstream-Fixes: mono/mono#14170
Upstream-Fixes: mono/mono#14214
Upstream-Fixes: mono/mono#14214
Upstream-Fixes: mono/mono#14215
Upstream-Fixes: mono/mono#14243
Upstream-Fixes: mono/mono#14377
Upstream-Fixes: mono/mono#14495
Upstream-Fixes: mono/mono#14555
Upstream-Fixes: mono/mono#14724
Upstream-Fixes: mono/mono#14729
Upstream-Fixes: mono/mono#14772
Upstream-Fixes: mono/mono#14792
Upstream-Fixes: mono/mono#14793
Upstream-Fixes: mono/mono#14809
Upstream-Fixes: mono/mono#14830
Upstream-Fixes: mono/mono#14839
Upstream-Fixes: mono/mono#14841
Upstream-Fixes: mono/mono#14847
Upstream-Fixes: mono/mono#14864
Upstream-Fixes: mono/mono#14871
Upstream-Fixes: mono/mono#14917
Upstream-Fixes: mono/mono#14945
Upstream-Fixes: mono/mono#14946
Upstream-Fixes: mono/mono#14948
Upstream-Fixes: mono/mono#14957
Upstream-Fixes: mono/mono#14959
Upstream-Fixes: mono/mono#14960
Upstream-Fixes: mono/mono#14961
Upstream-Fixes: mono/mono#14963
Upstream-Fixes: mono/mono#14971
Upstream-Fixes: mono/mono#14972
Upstream-Fixes: mono/mono#14975
Upstream-Fixes: mono/mono#15023
Upstream-Fixes: mono/mono#15048
Upstream-Fixes: mono/mono#15058
Upstream-Fixes: mono/mono#15080
Upstream-Fixes: mono/mono#15182
Upstream-Fixes: mono/mono#15188
Upstream-Fixes: mono/mono#15189
Upstream-Fixes: mono/mono#15261
Upstream-Fixes: mono/mono#15262
Upstream-Fixes: mono/mono#15263
Upstream-Fixes: mono/mono#15265
Upstream-Fixes: mono/mono#15268
Upstream-Fixes: mono/mono#15307
Upstream-Fixes: mono/mono#15324
Upstream-Fixes: mono/mono#15329
Upstream-Fixes: mono/mono#15330
Upstream-Fixes: mono/mono#15441
Upstream-Fixes: mono/mono#15446
Upstream-Fixes: mono/mono#15503
Upstream-Fixes: mono/mono#15541
Upstream-Fixes: mono/mono#15551
Upstream-Fixes: mono/mono#15556
Upstream-Fixes: mono/mono#15596
Upstream-Fixes: mono/mono#15691
Upstream-Fixes: mono/mono#15692
Upstream-Fixes: mono/mono#15740
Upstream-Fixes: mono/mono#15751
Upstream-Fixes: mono/mono#15760
Upstream-Fixes: mono/mono#15781
Upstream-Fixes: mono/mono#15794
Upstream-Fixes: mono/mono#15825
Upstream-Fixes: mono/mono#15853
Upstream-Fixes: mono/mono#15878
Upstream-Fixes: mono/mono#15887
Upstream-Fixes: mono/mono#15990
Upstream-Fixes: mono/mono#16032
Upstream-Fixes: mono/mono#16411
Upstream-Fixes: mono/mono#16486
Upstream-Fixes: https://github.com/mono/mono/issues/25709
Upstream-Fixes: https://github.com/mono/mono/issues/38821
Upstream-Fixes: xamarin#3112
Upstream-Fixes: xamarin#3168

Update `build-tools/automation/build.groovy` so that it fully cleans
the build tree before starting the build, so that the vestigial mono
submodule (removed in 0c9f83b) is *actually* removed from the build
tree, so that we don't inadvertently use *ancient* submodule contents.
jonpryor added a commit to xamarin/xamarin-android that referenced this issue Sep 7, 2019
Changes: http://github.com/mono/mono/compare/2c3aeaf3780de7392a0d3cbe4dcf86846eb4dffa...29b1ac19c961b959a09097dbc0fe4cd567cc5298

	$ git diff --shortstat 2c3aeaf3..29b1ac19
	 1528 files changed, 45421 insertions(+), 21967 deletions(-)

Changes: mono/api-doc-tools@d03e819...5da8127

	$ git diff --shortstat d03e8198..5da8127a
	 1001 files changed, 86168 insertions(+), 11863 deletions(-)

Changes: mono/api-snapshot@e09042d...1ca8e82

	$ git diff --shortstat e09042da..1ca8e82f
        28 files changed, 612 insertions(+), 217 deletions(-)

Changes: mono/cecil@a6c8f5e...cb6c1ca

	$ git diff --shortstat a6c8f5e1..cb6c1ca9
	 13 files changed, 233 insertions(+), 88 deletions(-)

Changes: mono/corefx@4806207...470e0e1

	$ git diff --shortstat 4806207f...470e0e10
	 4 files changed, 31 insertions(+), 12 deletions(-)

Changes: mono/linker@ebe2a1f...1f87de3

	$ git diff --shortstat ebe2a1f4...1f87de35
	 90 files changed, 3219 insertions(+), 1224 deletions(-)

Changes: xamarin/java.interop@75b1189...4fd3539

	$ git diff --shortstat 75b11891...4fd35393
	 34 files changed, 448 insertions(+), 52 deletions(-)

Fixes: #3112
Fixes: #3168

Context: https://bugs.winehq.org/show_bug.cgi?id=47561
Context: https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/967582
Context: dotnet/coreclr#25071
Context: dotnet/coreclr#25242
Context: dotnet/coreclr#25632
Context: dotnet/coreclr#25709
Context: dotnet/corefx#37955
Context: dotnet/corefx#38455
Context: mono/mono#7377
Context: mono/mono#8747
Context: mono/mono#9621
Context: mono/mono#9664
Context: mono/mono#9706
Context: mono/mono#10201
Context: mono/mono#10645
Context: mono/mono#10748
Context: mono/mono#10848
Context: mono/mono#12141
Context: mono/mono#13311
Context: mono/mono#13408
Context: mono/mono#13412
Context: mono/mono#13891
Context: mono/mono#13923
Context: mono/mono#13945
Context: mono/mono#14170
Context: mono/mono#14214
Context: mono/mono#14214
Context: mono/mono#14215
Context: mono/mono#14243
Context: mono/mono#14377
Context: mono/mono#14495
Context: mono/mono#14555
Context: mono/mono#14724
Context: mono/mono#14729
Context: mono/mono#14772
Context: mono/mono#14792
Context: mono/mono#14793
Context: mono/mono#14809
Context: mono/mono#14830
Context: mono/mono#14839
Context: mono/mono#14841
Context: mono/mono#14847
Context: mono/mono#14864
Context: mono/mono#14871
Context: mono/mono#14917
Context: mono/mono#14945
Context: mono/mono#14946
Context: mono/mono#14948
Context: mono/mono#14957
Context: mono/mono#14959
Context: mono/mono#14960
Context: mono/mono#14961
Context: mono/mono#14963
Context: mono/mono#14971
Context: mono/mono#14972
Context: mono/mono#14975
Context: mono/mono#15023
Context: mono/mono#15048
Context: mono/mono#15058
Context: mono/mono#15080
Context: mono/mono#15182
Context: mono/mono#15188
Context: mono/mono#15189
Context: mono/mono#15261
Context: mono/mono#15262
Context: mono/mono#15263
Context: mono/mono#15265
Context: mono/mono#15268
Context: mono/mono#15307
Context: mono/mono#15324
Context: mono/mono#15329
Context: mono/mono#15330
Context: mono/mono#15441
Context: mono/mono#15446
Context: mono/mono#15503
Context: mono/mono#15541
Context: mono/mono#15551
Context: mono/mono#15556
Context: mono/mono#15596
Context: mono/mono#15691
Context: mono/mono#15692
Context: mono/mono#15740
Context: mono/mono#15751
Context: mono/mono#15760
Context: mono/mono#15781
Context: mono/mono#15794
Context: mono/mono#15825
Context: mono/mono#15853
Context: mono/mono#15878
Context: mono/mono#15887
Context: mono/mono#15990
Context: mono/mono#16032
Context: mono/mono#16411
Context: mono/mono#16486
Context: https://github.com/mono/mono/issues/25709
Context: https://github.com/mono/mono/issues/38821

Update `build-tools/automation/build.groovy` so that it fully cleans
the build tree before starting the build, so that the vestigial mono
submodule (removed in 0c9f83b) is *actually* removed from the build
tree, so that we don't inadvertently use *ancient* submodule contents.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.