[build] Use a system mono/2018-06 debug build (#2440)
Context: https://github.com/mono/mono/pull/11706 Context: https://github.com/xamarin/xamarin-android/pull/2357 Context: https://jenkins.mono-project.com/view/Xamarin.Android/job/xamarin-android/1239/console Sometimes a Jenkins build will timeout when executing the xamarin-android unit tests. The timeout *appears* to occur when `mono` is used to execute a process, the process "finishes," but the process never actually *exits*, thus "hanging". For example, [consider this build log fragment][0] (with timestamps): 23:37:48 Build succeeded. 23:37:48 0 Warning(s) 23:37:48 0 Error(s) 23:37:48 23:37:48 Time Elapsed 01:23:14.60 02:37:48 Build timed out (after 180 minutes). Marking the build as aborted. The "Build succeeded" message comes from an `msbuild` invocation. Once `msbuild` finished, we would expect it's process to exit. *It didn't*. Instead, the underlying `mono` process is *not* exiting, presumably deadlocked, until the overall job times out and is killed. Attempt to help identify the hang by using a "debug" mono/2018-08 system mono, built from [Mono PR #11706][1], which prints out additional messages around child process use: diff --git a/mono/metadata/w32process-unix.c b/mono/metadata/w32process-unix.c index 2db5dea7a705..fbd4731cacb2 100644 --- a/mono/metadata/w32process-unix.c +++ b/mono/metadata/w32process-unix.c @@ -2096,7 +2095,7 @@ process_create (const gunichar2 *appname, const gunichar2 *cmdline, if (argv) g_strfreev (argv); - mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER_PROCESS, "%s: returning handle %p for pid %d", __func__, handle, pid); + g_printerr ("XXX-MONO: %s: returning handle %p for pid %d from %d\n", __func__, handle, pid, getpid()); This will hopefully allow @lewurm to continue investigations. [0]: https://jenkins.mono-project.com/view/Xamarin.Android/job/xamarin-android/1237/console [1]: https://github.com/mono/mono/pull/11706
This commit is contained in:
Родитель
581245f80f
Коммит
70530ab1a9
|
@ -71,8 +71,8 @@
|
|||
<JavaInteropSourceDirectory Condition=" '$(JavaInteropSourceDirectory)' == '' ">$(MSBuildThisFileDirectory)external\Java.Interop</JavaInteropSourceDirectory>
|
||||
<LlvmSourceDirectory Condition=" '$(LlvmSourceDirectory)' == '' ">$(MSBuildThisFileDirectory)external\llvm</LlvmSourceDirectory>
|
||||
<MonoSourceDirectory>$(MSBuildThisFileDirectory)external\mono</MonoSourceDirectory>
|
||||
<MonoRequiredMinimumVersion Condition=" '$(MonoRequiredMinimumVersion)' == '' ">5.16.0</MonoRequiredMinimumVersion>
|
||||
<MonoRequiredMaximumVersion Condition=" '$(MonoRequiredMaximumVersion)' == '' ">5.17.0</MonoRequiredMaximumVersion>
|
||||
<MonoRequiredMinimumVersion Condition=" '$(MonoRequiredMinimumVersion)' == '' ">5.16.0.229</MonoRequiredMinimumVersion>
|
||||
<MonoRequiredMaximumVersion Condition=" '$(MonoRequiredMaximumVersion)' == '' ">5.16.0.230</MonoRequiredMaximumVersion>
|
||||
<IgnoreMaxMonoVersion Condition=" '$(IgnoreMaxMonoVersion)' == '' ">True</IgnoreMaxMonoVersion>
|
||||
<MonoRequiredDarwinMinimumVersion>$(MonoRequiredMinimumVersion).0</MonoRequiredDarwinMinimumVersion>
|
||||
<LinkerSourceDirectory>$(MSBuildThisFileDirectory)external\mono\external\linker</LinkerSourceDirectory>
|
||||
|
|
2
Makefile
2
Makefile
|
@ -183,6 +183,8 @@ $(eval $(call CREATE_THIRD_PARTY_NOTICES_RULE,ThirdPartyNotices.txt,foundation,F
|
|||
$(eval $(call CREATE_THIRD_PARTY_NOTICES_RULE,bin/$(CONFIGURATION)/lib/xamarin.android/ThirdPartyNotices.txt,$(THIRD_PARTY_NOTICE_LICENSE_TYPE),True,False))
|
||||
|
||||
run-all-tests:
|
||||
@echo "PRINTING MONO VERSION"
|
||||
mono --version
|
||||
$(call MSBUILD_BINLOG,run-all-tests) $(TEST_TARGETS) /t:RunAllTests
|
||||
$(MAKE) run-api-compatibility-tests
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<_DarwinMonoFramework>MonoFramework-MDK-5.16.0.106.macos10.xamarin.universal.pkg</_DarwinMonoFramework>
|
||||
<_DarwinMonoFramework>MonoFramework-MDK-pr@8b63979dafb-dirty-5.16.0.229.macos10.xamarin.universal.pkg</_DarwinMonoFramework>
|
||||
<_AptGetInstall>apt-get -f -u install</_AptGetInstall>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
|
@ -59,7 +59,7 @@
|
|||
<MaximumVersion Condition=" '$(IgnoreMaxMonoVersion)' == '' Or '$(IgnoreMaxMonoVersion)' == 'False' " >$(MonoRequiredMaximumVersion)</MaximumVersion>
|
||||
<DarwinMinimumVersion>$(MonoRequiredDarwinMinimumVersion)</DarwinMinimumVersion>
|
||||
<CurrentVersionCommand>$(MSBuildThisFileDirectory)..\scripts\mono-version</CurrentVersionCommand>
|
||||
<DarwinMinimumUrl>https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/2018-06/78/341142d7656f43239a041b2c44f00acfb8fa7c59/$(_DarwinMonoFramework)</DarwinMinimumUrl>
|
||||
<DarwinMinimumUrl>https://xamjenkinsartifact.azureedge.net/build-package-osx-mono-pullrequest/pr/263/8b63979dafb7e2d275680abe26a6e27d1bdf302a/$(_DarwinMonoFramework)</DarwinMinimumUrl>
|
||||
<DarwinInstall>installer -pkg "$(AndroidToolchainCacheDirectory)\$(_DarwinMonoFramework)" -target /</DarwinInstall>
|
||||
</RequiredProgram>
|
||||
</ItemGroup>
|
||||
|
|
Загрузка…
Ссылка в новой задаче