dotnet / dotnet/sdk

dotnet restore failed on ppc64le

Open
#45,925 0 comments 0 reactions 1 assignee Claimed by @baronfel View on GitHub
Area-NetSDK untriaged
Dominant language
C#
Stars
3.2k
Forks
1.3k
PR merge metrics
PR metrics pending

Description

### Describe the bug
When trry to build [Garnet](https://github.com/microsoft/garnet) on ppc64le. `dotnet restore` command failed on QEMU ppc64le.

### To Reproduce
1. git clone https://github.com/microsoft/garnet
2. Start a qemu vm using command:`qemu-system-ppc64 -m 65536 -cdrom ~/Downloads/CentOS-Stream-9-latest-ppc64le-dvd1.iso -drive file=centos.img -nic bridge,br=br0,model=virtio-net-pci -smp 64 -cpu power9`,which indicates using a CentOS 9 Stream OS, fully supports dotnet by Red Hat.
3. `yum install dotnet-sdk-8.0` to install dotnet sdk 8.0.111
4. call `dotnet restore`,then it failed.

### Exceptions (if any)
```
MSBUILD : error MSB1025: An internal failure occurred while running MSBuild.
System.ArgumentException: Hashtable's capacity overflowed and went negative. Check load factor, capacity and the current size of the table.
at System.Collections.HashHelpers.GetPrime(Int32 min)
at System.Collections.HashHelpers.ExpandPrime(Int32 oldSize)
at System.Collections.Hashtable.expand()
at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add)
at System.Collections.Hashtable.Add(Object key, Object value)
at System.Environment.GetEnvironmentVariables()
at Microsoft.Build.Internal.CommunicationsUtilities.GetEnvironmentVariables()
at Microsoft.Build.Internal.Utilities.GetEnvironmentProperties(Boolean makeReadOnly)
at Microsoft.Build.Evaluation.ProjectCollection.get_SharedReadOnlyEnvironmentProperties()
at Microsoft.Build.Evaluation.ProjectCollection.get_EnvironmentProperties()
at Microsoft.Build.Evaluation.ProjectCollection.InitializeToolsetCollection(ToolsetConfigurationReader configReader)
at Microsoft.Build.Evaluation.ProjectCollection..ctor(IDictionary`2 globalProperties, IEnumerable`1 loggers, IEnumerable`1 remoteLoggers, ToolsetDefinitionLocations toolsetDefinitionLocations, Int32 maxNodeCount, Boolean onlyLogCriticalEvents, Boolean loadProjectsReadOnly, Boolean useAsynchronousLogging, Boolean reuseProjectRootElementCache)
at Microsoft.Build.CommandLine.MSBuildApp.BuildProject(String projectFile, String[] targets, String toolsVersion, Dictionary`2 globalProperties, Dictionary`2 restoreProperties, ILogger[] loggers, LoggerVerbosity verbosity, DistributedLoggerRecord[] distributedLoggerRecords, Int32 cpuCount, Boolean enableNodeReuse, TextWriter preprocessWriter, TextWriter targetsWriter, Boolean detailedSummary, ISet`1 warningsAsErrors, ISet`1 warningsNotAsErrors, ISet`1 warningsAsMessages, Boolean enableRestore, ProfilerLogger profilerLogger, Boolean enableProfiler, Boolean interactive, ProjectIsolationMode isolateProjects, GraphBuildOptions graphBuildOptions, Boolean lowPriority, Boolean question, Boolean isBuildCheckEnabled, String[] inputResultsCaches, String outputResultsCache, Boolean saveProjectResult, BuildResult& result, String[] commandLine)
at Microsoft.Build.CommandLine.MSBuildApp.Execute(String[] commandLine)
Unhandled exception: System.ArgumentException: Hashtable's capacity overflowed and went negative. Check load factor, capacity and the current size of the table.
at System.Collections.HashHelpers.GetPrime(Int32 min)
at System.Collections.HashHelpers.ExpandPrime(Int32 oldSize)
at System.Collections.Hashtable.expand()
at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add)
at System.Collections.Hashtable.Add(Object key, Object value)
at System.Environment.GetEnvironmentVariables()
at Microsoft.Build.Internal.CommunicationsUtilities.GetEnvironmentVariables()
at Microsoft.Build.Internal.Utilities.GetEnvironmentProperties(Boolean makeReadOnly)
at Microsoft.Build.Evaluation.ProjectCollection.get_SharedReadOnlyEnvironmentProperties()
at Microsoft.Build.Evaluation.ProjectCollection.get_EnvironmentProperties()
at Microsoft.Build.Evaluation.ProjectCollection.InitializeToolsetCollection(ToolsetConfigurationReader configReader)
at Microsoft.Build.Evaluation.ProjectCollection..ctor(IDictionary`2 globalProperties, IEnumerable`1 loggers, IEnumerable`1 remoteLoggers, ToolsetDefinitionLocations toolsetDefinitionLocations, Int32 maxNodeCount, Boolean onlyLogCriticalEvents, Boolean loadProjectsReadOnly, Boolean useAsynchronousLogging, Boolean reuseProjectRootElementCache)
at Microsoft.Build.CommandLine.MSBuildApp.BuildProject(String projectFile, String[] targets, String toolsVersion, Dictionary`2 globalProperties, Dictionary`2 restoreProperties, ILogger[] loggers, LoggerVerbosity verbosity, DistributedLoggerRecord[] distributedLoggerRecords, Int32 cpuCount, Boolean enableNodeReuse, TextWriter preprocessWriter, TextWriter targetsWriter, Boolean detailedSummary, ISet`1 warningsAsErrors, ISet`1 warningsNotAsErrors, ISet`1 warningsAsMessages, Boolean enableRestore, ProfilerLogger profilerLogger, Boolean enableProfiler, Boolean interactive, ProjectIsolationMode isolateProjects, GraphBuildOptions graphBuildOptions, Boolean lowPriority, Boolean question, Boolean isBuildCheckEnabled, String[] inputResultsCaches, String outputResultsCache, Boolean saveProjectResult, BuildResult& result, String[] commandLine)
at Microsoft.Build.CommandLine.MSBuildApp.Execute(String[] commandLine)
at Microsoft.Build.CommandLine.MSBuildApp.Main(String[] args)
at Microsoft.DotNet.Cli.Utils.MSBuildForwardingAppWithoutLogging.ExecuteInProc(String[] arguments)

```
### Further technical details
- Include the output of `dotnet --info`
- The IDE (VS / VS Code/ VS4Mac) you're running on, and its version

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.