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

[7.0] Linux_bionic arm64 failure in Convert.cs causing FormatException in System.Diagnostics.Process tests #88756

Closed
carlossanlop opened this issue Jul 12, 2023 · 1 comment
Labels
arch-arm64 area-VM-meta-mono blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' Known Build Error Use this to report build issues in the .NET Helix tab os-linux Linux OS (any supported distro) runtime-mono specific to the Mono runtime
Milestone

Comments

@carlossanlop
Copy link
Member

carlossanlop commented Jul 12, 2023

Error Blob

{
  "ErrorMessage": "FormatException : The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.",
  "BuildRetry": false,
  "ErrorPattern": "",
  "ExcludeConsoleLog": false
}

Reproduction Steps

Here's where the exception is being thrown in 7.0:

throw new FormatException(SR.Format_BadBase64Char);

[21:02:20] dbug: Exit code: 1
                 Std out:
                   Discovering: System.Diagnostics.Process.Tests (method display = ClassAndMethod, method display options = None)
                   Discovered:  System.Diagnostics.Process.Tests (found 257 of 317 test cases)
                   Starting:    System.Diagnostics.Process.Tests (parallel test collections = on, max threads = 8)
                       System.FormatException : The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
                       Stack Trace:
                         /_/src/libraries/System.Private.CoreLib/src/System/Convert.cs(2906,0): at System.Convert.FromBase64_ComputeResultLength(Char* inputPtr, Int32 inputLength)
                         /_/src/libraries/System.Private.CoreLib/src/System/Convert.cs(2836,0): at System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength)
                         /_/src/libraries/System.Private.CoreLib/src/System/Convert.cs(2643,0): at System.Convert.FromBase64String(String s)
                         /_/src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs(373,0): at System.Diagnostics.Tests.ProcessStartInfoTests.<>c.<ExecuteProcessAndReturnParsedOutput>b__9_0(String s)
                         /_/src/libraries/System.Linq/src/System/Linq/Select.SpeedOpt.cs(83,0): at System.Linq.Enumerable.SelectArrayIterator`2[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ToArray()
                         /_/src/libraries/System.Linq/src/System/Linq/ToCollection.cs(17,0): at System.Linq.Enumerable.ToArray[String](IEnumerable`1 source)
                         /_/src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs(373,0): at System.Diagnostics.Tests.ProcessStartInfoTests.ExecuteProcessAndReturnParsedOutput(Dictionary`2 envVars, Func`1 processWork)
                         /_/src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs(289,0): at System.Diagnostics.Tests.ProcessStartInfoTests.EnvironmentGetEnvironmentVariablesIsCaseSensitive()
                         /_/src/mono/System.Private.CoreLib/src/System/Reflection/MethodInvoker.Mono.cs(33,0): at System.Reflection.MethodInvoker.InterpretedInvoke(Object obj, Span`1 args, BindingFlags invokeAttr)
                       System.FormatException : The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
                       Stack Trace:
                         /_/src/libraries/System.Private.CoreLib/src/System/Convert.cs(2906,0): at System.Convert.FromBase64_ComputeResultLength(Char* inputPtr, Int32 inputLength)
                         /_/src/libraries/System.Private.CoreLib/src/System/Convert.cs(2836,0): at System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength)
                         /_/src/libraries/System.Private.CoreLib/src/System/Convert.cs(2643,0): at System.Convert.FromBase64String(String s)
                         /_/src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs(373,0): at System.Diagnostics.Tests.ProcessStartInfoTests.<>c.<ExecuteProcessAndReturnParsedOutput>b__9_0(String s)
                         /_/src/libraries/System.Linq/src/System/Linq/Select.SpeedOpt.cs(83,0): at System.Linq.Enumerable.SelectArrayIterator`2[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ToArray()
                         /_/src/libraries/System.Linq/src/System/Linq/ToCollection.cs(17,0): at System.Linq.Enumerable.ToArray[String](IEnumerable`1 source)
                         /_/src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs(373,0): at System.Diagnostics.Tests.ProcessStartInfoTests.ExecuteProcessAndReturnParsedOutput(Dictionary`2 envVars, Func`1 processWork)
                         /_/src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs(336,0): at System.Diagnostics.Tests.ProcessStartInfoTests.ProcessStartInfoEnvironmentVariablesDoesNotThrowForCaseSensitiveDuplicates()
                         /_/src/mono/System.Private.CoreLib/src/System/Reflection/MethodInvoker.Mono.cs(33,0): at System.Reflection.MethodInvoker.InterpretedInvoke(Object obj, Span`1 args, BindingFlags invokeAttr)
                       System.FormatException : The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
                       Stack Trace:
                         /_/src/libraries/System.Private.CoreLib/src/System/Convert.cs(2906,0): at System.Convert.FromBase64_ComputeResultLength(Char* inputPtr, Int32 inputLength)
                         /_/src/libraries/System.Private.CoreLib/src/System/Convert.cs(2836,0): at System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength)
                         /_/src/libraries/System.Private.CoreLib/src/System/Convert.cs(2643,0): at System.Convert.FromBase64String(String s)
                         /_/src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs(373,0): at System.Diagnostics.Tests.ProcessStartInfoTests.<>c.<ExecuteProcessAndReturnParsedOutput>b__9_0(String s)
                         /_/src/libraries/System.Linq/src/System/Linq/Select.SpeedOpt.cs(83,0): at System.Linq.Enumerable.SelectArrayIterator`2[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ToArray()
                         /_/src/libraries/System.Linq/src/System/Linq/ToCollection.cs(17,0): at System.Linq.Enumerable.ToArray[String](IEnumerable`1 source)
                         /_/src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs(373,0): at System.Diagnostics.Tests.ProcessStartInfoTests.ExecuteProcessAndReturnParsedOutput(Dictionary`2 envVars, Func`1 processWork)
                         /_/src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs(312,0): at System.Diagnostics.Tests.ProcessStartInfoTests.ProcessStartInfoEnvironmentDoesNotThrowForCaseSensitiveDuplicates()
                         /_/src/mono/System.Private.CoreLib/src/System/Reflection/MethodInvoker.Mono.cs(33,0): at System.Reflection.MethodInvoker.InterpretedInvoke(Object obj, Span`1 args, BindingFlags invokeAttr)
                     System.Diagnostics.Tests.ProcessStartInfoTests.ShellExecute_Nano_Fails_Start [SKIP]
                       Condition(s) not met: "IsWindowsNanoServer"

                   Finished:    System.Diagnostics.Process.Tests
                 === TEST EXECUTION SUMMARY ===
                    System.Diagnostics.Process.Tests  Total: 319, Errors: 0, Failed: 3, Skipped: 6, Time: 50.317s
                 
                 
                 Std err:
                     System.Diagnostics.Tests.ProcessStartInfoTests.EnvironmentGetEnvironmentVariablesIsCaseSensitive [FAIL]
                     System.Diagnostics.Tests.ProcessStartInfoTests.ProcessStartInfoEnvironmentVariablesDoesNotThrowForCaseSensitiveDuplicates [FAIL]
                     System.Diagnostics.Tests.ProcessStartInfoTests.ProcessStartInfoEnvironmentDoesNotThrowForCaseSensitiveDuplicates [FAIL]

Report

Build Definition Test Pull Request
661457 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #101732
659984 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution
647537 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution
644871 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 4

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=336356
Error message validated: FormatException : The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 7/12/2023 6:05:51 PM UTC

@carlossanlop carlossanlop added arch-arm64 os-linux Linux OS (any supported distro) blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' area-VM-meta-mono runtime-mono specific to the Mono runtime Known Build Error Use this to report build issues in the .NET Helix tab labels Jul 12, 2023
@carlossanlop carlossanlop added this to the 7.0.x milestone Jul 12, 2023
@build-analysis build-analysis bot removed this from the 7.0.x milestone Nov 15, 2023
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Nov 15, 2023
@akoeplinger akoeplinger added this to the 7.0.x milestone Nov 24, 2023
@ghost ghost removed the untriaged New issue has not been triaged by the area owner label Nov 24, 2023
@vitek-karas
Copy link
Member

This looks basically like the same problem in main here: #76333 - since we're closing 7.0, I'm going to close this in favor of the main bug.

@vitek-karas vitek-karas closed this as not planned Won't fix, can't repro, duplicate, stale May 14, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Jun 14, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-arm64 area-VM-meta-mono blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' Known Build Error Use this to report build issues in the .NET Helix tab os-linux Linux OS (any supported distro) runtime-mono specific to the Mono runtime
Projects
None yet
Development

No branches or pull requests

3 participants