Closed
Description
It looks like #79242 introduced a flakey test. From reading the test and the logs, it appears that a bad appsettings.json
file is getting written to the %TEMP% directory while this test is running, causing the test to fail.
We should update the test to control the temp directory being used so the test runs deterministically.
cc @halter73
Console log: 'Microsoft.Extensions.Hosting.Unit.Tests' from job 95c0735a-0748-4698-ac74-d6309cd71ba3 workitem 82b9b807-eb65-4255-9ca7-5fa7c7b270a1 (ubuntu.1804.amd64.open.rt) executed on machine a0061VF running Linux-5.4.0-1095-azure-x86_64-with-Ubuntu-18.04-bionic
+ ./RunTests.sh --runtime-path /datadisks/disk1/work/9E0C08EE/p
----- start Fri Dec 9 01:31:23 UTC 2022 =============== To repro directly: =====================================================
pushd .
/datadisks/disk1/work/9E0C08EE/p/dotnet exec --runtimeconfig Microsoft.Extensions.Hosting.Unit.Tests.runtimeconfig.json --depsfile Microsoft.Extensions.Hosting.Unit.Tests.deps.json xunit.console.dll Microsoft.Extensions.Hosting.Unit.Tests.dll -xml testResults.xml -nologo -nocolor -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing
popd
===========================================================================================================
/datadisks/disk1/work/9E0C08EE/w/A981094B/e /datadisks/disk1/work/9E0C08EE/w/A981094B/e
Discovering: Microsoft.Extensions.Hosting.Unit.Tests (method display = ClassAndMethod, method display options = None)
Discovered: Microsoft.Extensions.Hosting.Unit.Tests (found 144 of 145 test cases)
Starting: Microsoft.Extensions.Hosting.Unit.Tests (parallel test collections = on, max threads = 2)
Microsoft.Extensions.Hosting.Tests.HostApplicationBuilderTests.DirectSettingsOverrideConfigurationSetting(disableDefaults: False) [FAIL]
System.IO.InvalidDataException : Failed to load configuration from file '/datadisks/disk1/work/9E0C08EE/t/appsettings.json'.
---- System.FormatException : Could not parse the JSON file.
-------- System.Text.Json.JsonReaderException : The input does not contain any JSON tokens. Expected the input to start with a valid JSON token, when isFinalBlock is true. LineNumber: 0 | BytePositionInLine: 0.
Stack Trace:
/_/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/FileConfigurationProvider.cs(151,0): at Microsoft.Extensions.Configuration.FileConfigurationProvider.HandleException(ExceptionDispatchInfo info)
/_/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/FileConfigurationProvider.cs(108,0): at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load(Boolean reload)
/_/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/FileConfigurationProvider.cs(127,0): at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load()
/_/src/libraries/Microsoft.Extensions.Configuration/src/ConfigurationManager.cs(122,0): at Microsoft.Extensions.Configuration.ConfigurationManager.AddSource(IConfigurationSource source)
/_/src/libraries/Microsoft.Extensions.Configuration/src/ConfigurationManager.cs(189,0): at Microsoft.Extensions.Configuration.ConfigurationManager.ConfigurationSources.Add(IConfigurationSource source)
/_/src/libraries/Microsoft.Extensions.Configuration/src/ConfigurationManager.cs(88,0): at Microsoft.Extensions.Configuration.ConfigurationManager.Microsoft.Extensions.Configuration.IConfigurationBuilder.Add(IConfigurationSource source)
/_/src/libraries/Microsoft.Extensions.Configuration.Abstractions/src/ConfigurationExtensions.cs(26,0): at Microsoft.Extensions.Configuration.ConfigurationExtensions.Add[TSource](IConfigurationBuilder builder, Action`1 configureSource)
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationExtensions.cs(91,0): at Microsoft.Extensions.Configuration.JsonConfigurationExtensions.AddJsonFile(IConfigurationBuilder builder, Action`1 configureSource)
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationExtensions.cs(74,0): at Microsoft.Extensions.Configuration.JsonConfigurationExtensions.AddJsonFile(IConfigurationBuilder builder, IFileProvider provider, String path, Boolean optional, Boolean reloadOnChange)
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationExtensions.cs(52,0): at Microsoft.Extensions.Configuration.JsonConfigurationExtensions.AddJsonFile(IConfigurationBuilder builder, String path, Boolean optional, Boolean reloadOnChange)
/_/src/libraries/Microsoft.Extensions.Hosting/src/HostingHostBuilderExtensions.cs(241,0): at Microsoft.Extensions.Hosting.HostingHostBuilderExtensions.ApplyDefaultAppConfiguration(HostBuilderContext hostingContext, IConfigurationBuilder appConfigBuilder, String[] args)
/_/src/libraries/Microsoft.Extensions.Hosting/src/HostApplicationBuilder.cs(143,0): at Microsoft.Extensions.Hosting.HostApplicationBuilder..ctor(HostApplicationBuilderSettings settings)
/_/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/HostApplicationBuilderTests.cs(289,0): at Microsoft.Extensions.Hosting.Tests.HostApplicationBuilderTests.DirectSettingsOverrideConfigurationSetting(Boolean disableDefaults)
at InvokeStub_HostApplicationBuilderTests.DirectSettingsOverrideConfigurationSetting(Object, Object, IntPtr*)
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
----- Inner Stack Trace -----
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationProvider.cs(34,0): at Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider.Load(Stream stream)
/_/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/FileConfigurationProvider.cs(99,0): at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load(Boolean reload)
----- Inner Stack Trace -----
/_/src/libraries/System.Text.Json/src/System/Text/Json/ThrowHelper.cs(310,0): at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan`1 bytes)
/_/src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.cs(285,0): at System.Text.Json.Utf8JsonReader.Read()
/_/src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonDocument.cs(923,0): at System.Text.Json.JsonDocument.Parse(ReadOnlySpan`1 utf8JsonSpan, JsonReaderOptions readerOptions, MetadataDb& database, StackRowStack& stack)
/_/src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonDocument.Parse.cs(692,0): at System.Text.Json.JsonDocument.Parse(ReadOnlyMemory`1 utf8Json, JsonReaderOptions readerOptions, Byte[] extraRentedArrayPoolBytes, PooledByteBufferWriter extraPooledByteBufferWriter)
/_/src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonDocument.Parse.cs(261,0): at System.Text.Json.JsonDocument.Parse(ReadOnlyMemory`1 json, JsonDocumentOptions options)
/_/src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonDocument.Parse.cs(321,0): at System.Text.Json.JsonDocument.Parse(String json, JsonDocumentOptions options)
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationFileParser.cs(31,0): at Microsoft.Extensions.Configuration.Json.JsonConfigurationFileParser.ParseStream(Stream input)
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationFileParser.cs(20,0): at Microsoft.Extensions.Configuration.Json.JsonConfigurationFileParser.Parse(Stream input)
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationProvider.cs(30,0): at Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider.Load(Stream stream)
Microsoft.Extensions.Hosting.Tests.HostApplicationBuilderTests.ConfigurationSettingCanInfluenceEnvironment(disableDefaults: False) [FAIL]
System.IO.InvalidDataException : Failed to load configuration from file '/datadisks/disk1/work/9E0C08EE/t/appsettings.json'.
---- System.FormatException : Could not parse the JSON file.
-------- System.Text.Json.JsonReaderException : The input does not contain any JSON tokens. Expected the input to start with a valid JSON token, when isFinalBlock is true. LineNumber: 0 | BytePositionInLine: 0.
Stack Trace:
/_/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/FileConfigurationProvider.cs(151,0): at Microsoft.Extensions.Configuration.FileConfigurationProvider.HandleException(ExceptionDispatchInfo info)
/_/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/FileConfigurationProvider.cs(108,0): at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load(Boolean reload)
/_/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/FileConfigurationProvider.cs(127,0): at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load()
/_/src/libraries/Microsoft.Extensions.Configuration/src/ConfigurationManager.cs(122,0): at Microsoft.Extensions.Configuration.ConfigurationManager.AddSource(IConfigurationSource source)
/_/src/libraries/Microsoft.Extensions.Configuration/src/ConfigurationManager.cs(189,0): at Microsoft.Extensions.Configuration.ConfigurationManager.ConfigurationSources.Add(IConfigurationSource source)
/_/src/libraries/Microsoft.Extensions.Configuration/src/ConfigurationManager.cs(88,0): at Microsoft.Extensions.Configuration.ConfigurationManager.Microsoft.Extensions.Configuration.IConfigurationBuilder.Add(IConfigurationSource source)
/_/src/libraries/Microsoft.Extensions.Configuration.Abstractions/src/ConfigurationExtensions.cs(26,0): at Microsoft.Extensions.Configuration.ConfigurationExtensions.Add[TSource](IConfigurationBuilder builder, Action`1 configureSource)
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationExtensions.cs(91,0): at Microsoft.Extensions.Configuration.JsonConfigurationExtensions.AddJsonFile(IConfigurationBuilder builder, Action`1 configureSource)
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationExtensions.cs(74,0): at Microsoft.Extensions.Configuration.JsonConfigurationExtensions.AddJsonFile(IConfigurationBuilder builder, IFileProvider provider, String path, Boolean optional, Boolean reloadOnChange)
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationExtensions.cs(52,0): at Microsoft.Extensions.Configuration.JsonConfigurationExtensions.AddJsonFile(IConfigurationBuilder builder, String path, Boolean optional, Boolean reloadOnChange)
/_/src/libraries/Microsoft.Extensions.Hosting/src/HostingHostBuilderExtensions.cs(241,0): at Microsoft.Extensions.Hosting.HostingHostBuilderExtensions.ApplyDefaultAppConfiguration(HostBuilderContext hostingContext, IConfigurationBuilder appConfigBuilder, String[] args)
/_/src/libraries/Microsoft.Extensions.Hosting/src/HostApplicationBuilder.cs(143,0): at Microsoft.Extensions.Hosting.HostApplicationBuilder..ctor(HostApplicationBuilderSettings settings)
/_/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/HostApplicationBuilderTests.cs(248,0): at Microsoft.Extensions.Hosting.Tests.HostApplicationBuilderTests.ConfigurationSettingCanInfluenceEnvironment(Boolean disableDefaults)
at InvokeStub_HostApplicationBuilderTests.ConfigurationSettingCanInfluenceEnvironment(Object, Object, IntPtr*)
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
----- Inner Stack Trace -----
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationProvider.cs(34,0): at Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider.Load(Stream stream)
/_/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/FileConfigurationProvider.cs(99,0): at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load(Boolean reload)
----- Inner Stack Trace -----
/_/src/libraries/System.Text.Json/src/System/Text/Json/ThrowHelper.cs(310,0): at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan`1 bytes)
/_/src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.cs(285,0): at System.Text.Json.Utf8JsonReader.Read()
/_/src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonDocument.cs(923,0): at System.Text.Json.JsonDocument.Parse(ReadOnlySpan`1 utf8JsonSpan, JsonReaderOptions readerOptions, MetadataDb& database, StackRowStack& stack)
/_/src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonDocument.Parse.cs(692,0): at System.Text.Json.JsonDocument.Parse(ReadOnlyMemory`1 utf8Json, JsonReaderOptions readerOptions, Byte[] extraRentedArrayPoolBytes, PooledByteBufferWriter extraPooledByteBufferWriter)
/_/src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonDocument.Parse.cs(261,0): at System.Text.Json.JsonDocument.Parse(ReadOnlyMemory`1 json, JsonDocumentOptions options)
/_/src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonDocument.Parse.cs(321,0): at System.Text.Json.JsonDocument.Parse(String json, JsonDocumentOptions options)
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationFileParser.cs(31,0): at Microsoft.Extensions.Configuration.Json.JsonConfigurationFileParser.ParseStream(Stream input)
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationFileParser.cs(20,0): at Microsoft.Extensions.Configuration.Json.JsonConfigurationFileParser.Parse(Stream input)
/_/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationProvider.cs(30,0): at Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider.Load(Stream stream)
info: Microsoft.Extensions.Hosting.Tests.HostTests[0]
Request starting
Microsoft.Extensions.Hosting.Tests.HostTests.CreateDefaultBuilder_DoesNotChangeContentRootIfCurrentDirectoryIsWindowsSystemDirectory [SKIP]
Condition(s) not met: "IsWindowsAndRemotExecutorIsSupported"
Finished: Microsoft.Extensions.Hosting.Unit.Tests
=== TEST EXECUTION SUMMARY ===
Microsoft.Extensions.Hosting.Unit.Tests Total: 157, Errors: 0, Failed: 2, Skipped: 1, Time: 5.308s
/datadisks/disk1/work/9E0C08EE/w/A981094B/e
----- end Fri Dec 9 01:31:30 UTC 2022 ----- exit code 1 ----------------------------------------------------------
ulimit -c value: unlimited
Waiting a few seconds for any dump to be written..
cat /proc/sys/kernel/core_pattern: /home/helixbot/dotnetbuild/dumps/core.%u.%p
cat /proc/sys/kernel/core_uses_pid: 0
cat: /proc/sys/kernel/coredump_filter: No such file or directory
cat /proc/sys/kernel/coredump_filter:
Looking around for any Linux dump..
... found no dump in /datadisks/disk1/work/9E0C08EE/w/A981094B/e
+ export _commandExitCode=0
+ /usr/bin/python3 /datadisks/disk1/work/9E0C08EE/p/reporter/run.py https://dev.azure.com/dnceng-public/ public 2281940 eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJuYW1laWQiOiJjNzczZjJjMi01MTIwLTQyMDctYWZlMi1hZmFmMzVhOGJjMGEiLCJzY3AiOiJhcHBfdG9rZW4iLCJhdWkiOiIwNTAxMmJjOS1hNzUzLTQ0OWUtOTBmOS1hMDk0MDI3NGRjNTAiLCJzaWQiOiI2NTkwOTdkOS1iMWFiLTQzMGYtODRhNi1kZGRjNjRiNjM4N2EiLCJCdWlsZElkIjoiY2JiMTgyNjEtYzQ4Zi00YWJiLTg2NTEtOGNkY2I1NDc0NjQ5OzEwNjc2MyIsInBwaWQiOiJ2c3RmczovLy9CdWlsZC9CdWlsZC8xMDY3NjMiLCJvcmNoaWQiOiIyMmM0NGNhMS1lMjA5LTQ1NDQtODA1YS0xYzc4ZTQyN2E4ZGMuYnVpbGQubGlicmFyaWVzX3Rlc3RfcnVuX3JlbGVhc2VfY29yZWNscl9saW51eF94NjRfZGVidWcuX19kZWZhdWx0IiwicmVwb0lkcyI6IiIsImlzcyI6ImFwcC52c3Rva2VuLnZpc3VhbHN0dWRpby5jb20iLCJhdWQiOiJhcHAudnN0b2tlbi52aXN1YWxzdHVkaW8uY29tfHZzbzo2ZmNjOTJlNS03M2E3LTRmODgtOGQxMy1kOTA0NWI0NWZiMjciLCJuYmYiOjE2NzA1NDc2NTUsImV4cCI6MTY3MDU1Nzg1NH0.Zl3OzuumC15xBjpc8rSbTOEMHvXTDr8t-6a8TR572NPtJL1lD8Zt8kg2iAKSv3Yl-dkAZ6UW866TVcO6n6MQNxCVzaCueQnJsPwPzxqQSsYDeXFMqHVs3ef3qI7-6qxfUFvFWJj9bxA8aWTjKzgB7Ghb7WuUmJQyP9VAreXleDN5may0j5Bi7oOREJwEfco3ehDAgiPMJ0DxQDxIMWwe_4cberMhD6LkfrELmh9Ak5J5sDZwr1E-aECjSY9lH_BKwH-g4FOiBBHUkP-1lO69kw-KrB4hp1Ge3X2evGjZwuq8-l81HOL40ikXgptkvDOMzRwTV_8i4TzTrQT9TZrtnQ
2022-12-09T01:31:40.727Z INFO run.py run(48) main Beginning reading of test results.
2022-12-09T01:31:40.727Z INFO run.py __init__(42) read_results Searching '/datadisks/disk1/work/9E0C08EE/w/A981094B/e' for test results files
2022-12-09T01:31:40.728Z INFO run.py __init__(48) read_results Found results file /datadisks/disk1/work/9E0C08EE/w/A981094B/e/testResults.xml with format xunit
2022-12-09T01:31:40.730Z INFO run.py __init__(42) read_results Searching '/datadisks/disk1/work/9E0C08EE/w/A981094B/uploads' for test results files
2022-12-09T01:31:40.730Z INFO run.py packing_test_reporter(30) report_results Packing 157 test reports to '/datadisks/disk1/work/9E0C08EE/w/A981094B/e/__test_report.json'
2022-12-09T01:31:40.730Z INFO run.py packing_test_reporter(33) report_results Packed 61022 bytes
+ /usr/bin/python3 /datadisks/disk1/work/9E0C08EE/p/gen-debug-dump-docs.py -buildid 106763 -workitem Microsoft.Extensions.Hosting.Unit.Tests -jobid 95c0735a-0748-4698-ac74-d6309cd71ba3 -outdir /datadisks/disk1/work/9E0C08EE/w/A981094B/uploads -templatedir /datadisks/disk1/work/9E0C08EE/p -dumpdir /home/helixbot/dotnetbuild/dumps -productver 8.0.0
Did not find dumps, skipping dump docs generation.
+ exit 0
['Microsoft.Extensions.Hosting.Unit.Tests' END OF WORK ITEM LOG: Command exited with 0]
Error Message
Fill the error message using known issues guidance.
{
"ErrorMessage": "Microsoft.Extensions.Hosting.Tests.HostApplicationBuilderTests.DirectSettingsOverrideConfigurationSetting",
"BuildRetry": false
}
Report
Build | Definition | Step Name | Console log | Pull Request |
---|---|---|---|---|
122981 | dotnet/runtime | Send to Helix | Log | #79046 |
122828 | dotnet/runtime | Send to Helix | Log | #80099 |
122779 | dotnet/runtime | Send to Helix | Log | #80105 |
Build | Definition | Test | Pull Request |
---|---|---|---|
122981 | dotnet/runtime | Microsoft.Extensions.Hosting.Tests.HostApplicationBuilderTests.DirectSettingsOverrideConfigurationSetting | #79046 |
122779 | dotnet/runtime | Microsoft.Extensions.Hosting.Tests.HostApplicationBuilderTests.DirectSettingsOverrideConfigurationSetting | #80105 |
Summary
24-Hour Hit Count | 7-Day Hit Count | 1-Month Count |
---|---|---|
5 | 5 | 5 |