fsprojects / Paket

A dependency manager for .NET with support for NuGet packages and Git repositories.
https://fsprojects.github.io/Paket/
MIT License
1.99k stars 520 forks source link

Paket failing when trying to install dependencies `OpenSslCryptographicException` #4229

Closed 64J0 closed 8 months ago

64J0 commented 9 months ago

Description

I'm getting this exception when trying to install the dependencies for the project:

-> Could not load resources from 'https://api.nuget.org/v3/index.json'
-> Request to 'https://api.nuget.org/v3/index.json' failed with unknown error (_safeGetFromUrl)
-> HttpRequestException: The SSL connection could not be established, see inner exception.
-> AuthenticationException: Authentication failed, see inner exception.
-> TypeInitializationException: The type initializer for 'SslMethods' threw an exception.
-> TypeInitializationException: The type initializer for 'Ssl' threw an exception.
-> TypeInitializationException: The type initializer for 'SslInitializer' threw an exception.
-> OpenSslCryptographicException: error:0E076071:configuration file routines:module_run:unknown module name

I'm using Linux and Paket version 7.2.1.

The project .zip to make it easier to reproduce:

Repro steps

  1. mkdir paket-demo
  2. cd paket-demo/
  3. dotnet new console -lang F#
  4. dotnet tool install paket
  5. dotnet tool restore
  6. dotnet paket init
  7. Add these packages to paket.dependencies
source https://api.nuget.org/v3/index.json

storage: none
framework: net7.0

nuget AltCover 8.6.68
nuget FsToolkit.ErrorHandling 4.5
  1. dotnet paket install

Expected behavior

Install the packages.

Actual behavior

Throw exception mentioned before.

Known workarounds

I haven't found one yet.

64J0 commented 9 months ago

The StackTrace (got this using --verbose flag):

StackTrace:
        at Paket.PackageResolver.getVersionsBlock@1075-1.GenerateNext(IEnumerable`1& next) in C:\code\Paket\src\Paket.Core\Dependencies\PackageResolver.fs:line 1087
        at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl() in D:\a\_work\1\s\src\fsharp\FSharp.Core\seqcore.fs:line 405
        at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.System.Collections.IEnumerator.MoveNext() in D:\a\_work\1\s\src\fsharp\FSharp.Core\seqcore.fs:line 441
        at Microsoft.FSharp.Collections.SeqModule.oneStepTo@989[T](IEnumerable`1 source, List`1 prefix, FSharpRef`1 enumeratorR, Int32 i) in D:\a\_work\1\s\src\fsharp\FSharp.Core\seq.fs:line 1005
        at Microsoft.FSharp.Collections.SeqModule.action@4793-1[T](IEnumerable`1 source, List`1 prefix, Int32 i, FSharpRef`1 enumeratorR, Unit unitVar0) in D:\a\_work\1\s\src\fsharp\FSharp.Core\seq.fs:line 1022
        at Microsoft.FSharp.Collections.SeqModule.result@1013.Invoke(Int32 i) in D:\a\_work\1\s\src\fsharp\FSharp.Core\seq.fs:line 1017
        at Microsoft.FSharp.Collections.Internal.IEnumerator.unfold@205.DoMoveNext(b& curr) in D:\a\_work\1\s\src\fsharp\FSharp.Core\seq.fs:line 207
        at Microsoft.FSharp.Collections.Internal.IEnumerator.MapEnumerator`1.System.Collections.IEnumerator.MoveNext() in D:\a\_work\1\s\src\fsharp\FSharp.Core\seq.fs:line 64
        at Microsoft.FSharp.Collections.Internal.IEnumerator.map@75.DoMoveNext(b& curr) in D:\a\_work\1\s\src\fsharp\FSharp.Core\seq.fs:line 77
        at Microsoft.FSharp.Collections.Internal.IEnumerator.MapEnumerator`1.System.Collections.IEnumerator.MoveNext() in D:\a\_work\1\s\src\fsharp\FSharp.Core\seq.fs:line 64
        at Microsoft.FSharp.Collections.Internal.IEnumerator.next@193[T](FSharpFunc`2 f, IEnumerator`1 e, FSharpRef`1 started, Unit unitVar0) in D:\a\_work\1\s\src\fsharp\FSharp.Core\seq.fs:line 195
        at Microsoft.FSharp.Collections.Internal.IEnumerator.filter@188.System.Collections.IEnumerator.MoveNext() in D:\a\_work\1\s\src\fsharp\FSharp.Core\seq.fs:line 196
        at Microsoft.FSharp.Collections.SeqModule.IsEmpty[T](IEnumerable`1 source) in D:\a\_work\1\s\src\fsharp\FSharp.Core\seq.fs:line 702
        at Paket.PackageResolver.getCompatibleVersions(ResolverStep currentStep, GroupName groupName, PackageRequirement currentRequirement, IDictionary`2 rootDependencies, FSharpFunc`2 getVersionsF, Boolean globalOverride, FSharpOption`1 globalStrategyForDirectDependencies, FSharpOption`1 globalStrategyForTransitives) in C:\code\Paket\src\Paket.Core\Dependencies\PackageResolver.fs:line 601
        at Paket.PackageResolver.step@1131(UpdateMode updateMode, GroupName groupName, FSharpOption`1 globalStrategyForTransitives, FSharpOption`1 globalStrategyForDirectDependencies, FrameworkRestrictions globalFrameworkRestrictions, FSharpFunc`2 getVersionsRaw, FSharpFunc`2 getPreferredVersionsRaw, FSharpFunc`2 getPackageDetailsRaw, FSharpSet`1 cliToolSettings, ResolverRequestQueue workerQueue, Int32 taskTimeout, TimeSpan loopTimeout, ConcurrentDictionary`2 startedGetPackageDetailsRequests, FSharpFunc`2 getPackageDetailsBlock, ConcurrentDictionary`2 startedGetVersionsRequests, FSharpOption`1 packageFilter, IDictionary`2 rootDependenciesDict, FSharpSet`1 lockedPackages, DateTime loopTime, Stage stage, StackPack stackpack, IEnumerable`1 compatibleVersions, StepFlags flags) in C:\code\Paket\src\Paket.Core\Dependencies\PackageResolver.fs:line 1208
        at Paket.PackageResolver.tryStep@1446(UpdateMode updateMode, GroupName groupName, FSharpOption`1 globalStrategyForTransitives, FSharpOption`1 globalStrategyForDirectDependencies, FrameworkRestrictions globalFrameworkRestrictions, FSharpFunc`2 getVersionsRaw, FSharpFunc`2 getPreferredVersionsRaw, FSharpFunc`2 getPackageDetailsRaw, FSharpSet`1 cliToolSettings, ResolverRequestQueue workerQueue, Int32 taskTimeout, TimeSpan loopTimeout, ConcurrentDictionary`2 startedGetPackageDetailsRequests, FSharpFunc`2 getPackageDetailsBlock, ConcurrentDictionary`2 startedGetVersionsRequests, FSharpOption`1 packageFilter, IDictionary`2 rootDependenciesDict, FSharpSet`1 lockedPackages, DateTime loopTime, StepResult result) in C:\code\Paket\src\Paket.Core\Dependencies\PackageResolver.fs:line 1450
        at Paket.PackageResolver.Resolve(FSharpFunc`2 getVersionsRaw, FSharpFunc`2 getPreferredVersionsRaw, FSharpFunc`2 getPackageDetailsRaw, GroupName groupName, FSharpOption`1 globalStrategyForDirectDependencies, FSharpOption`1 globalStrategyForTransitives, FrameworkRestrictions globalFrameworkRestrictions, FSharpSet`1 rootDependencies, UpdateMode updateMode) in C:\code\Paket\src\Paket.Core\Dependencies\PackageResolver.fs:line 1461
        at <StartupCode$Paket-Core>.$DependenciesFile.resolveGroup@220-1.Invoke(GroupName groupName, b _arg1) in C:\code\Paket\src\Paket.Core\PaketConfigFiles\DependenciesFile.fs:line 301
        at Microsoft.FSharp.Collections.MapTreeModule.mapiOpt[TKey,TValue,TResult](FSharpFunc`3 f, MapTree`2 m) in D:\a\_work\1\s\src\fsharp\FSharp.Core\map.fs:line 360
        at Microsoft.FSharp.Collections.MapModule.Map[TKey,T,TResult](FSharpFunc`2 mapping, FSharpMap`2 table) in D:\a\_work\1\s\src\fsharp\FSharp.Core\map.fs:line 953
        at Paket.UpdateProcess.selectiveUpdate(Boolean force, FSharpFunc`2 getSha1, FSharpFunc`2 getVersionsF, FSharpFunc`2 getPackageDetailsF, FSharpFunc`2 getRuntimeGraphFromPackage, LockFile lockFile, DependenciesFile dependenciesFile, UpdateMode updateMode, SemVerUpdateMode semVerUpdateMode) in C:\code\Paket\src\Paket.Core\Installation\UpdateProcess.fs:line 153
        at Paket.UpdateProcess.SelectiveUpdate(DependenciesFile dependenciesFile, FSharpOption`1 alternativeProjectRoot, UpdateMode updateMode, SemVerUpdateMode semVerUpdateMode, Boolean force) in C:\code\Paket\src\Paket.Core\Installation\UpdateProcess.fs:line 220
        at Paket.UpdateProcess.SmartInstall(DependenciesFile dependenciesFile, UpdateMode updateMode, UpdaterOptions options) in C:\code\Paket\src\Paket.Core\Installation\UpdateProcess.fs:line 280
        at <StartupCode$Paket-Core>.$PublicAPI.Install@269.Invoke(Unit unitVar0) in C:\code\Paket\src\Paket.Core\PublicAPI.fs:line 269
        at Paket.Utils.RunInLockedAccessMode(String lockedFolder, FSharpFunc`2 lockedAction) in C:\code\Paket\src\Paket.Core\Common\Utils.fs:line 540
        at Paket.Dependencies.Install(InstallerOptions options) in C:\code\Paket\src\Paket.Core\PublicAPI.fs:line 267
        at Paket.Dependencies.Install(Boolean force, Boolean withBindingRedirects, Boolean cleanBindingRedirects, Boolean createNewBindingFiles, Boolean onlyReferenced, SemVerUpdateMode semVerUpdateMode, Boolean touchAffectedRefs, Boolean generateLoadScripts, FSharpList`1 providedFrameworks, FSharpList`1 providedScriptTypes, FSharpOption`1 alternativeProjectRoot) in C:\code\Paket\src\Paket.Core\PublicAPI.fs:line 263
        at Paket.Program.install(ParseResults`1 results) in C:\code\Paket\src\Paket\Program.fs:line 385
        at Paket.Program.handleCommand@883-11.Invoke(ParseResults`1 results)
        at Paket.Program.processWithValidationEx[a](FSharpFunc`2 printUsage, Boolean silent, FSharpFunc`2 validateF, FSharpFunc`2 commandF, a result) in C:\code\Paket\src\Paket\Program.fs:line 47
        at Paket.Program.processWithValidation[T](Boolean silent, FSharpFunc`2 validateF, FSharpFunc`2 commandF, ParseResults`1 result) in C:\code\Paket\src\Paket\Program.fs:line 129
        at Paket.Program.processCommand[a](Boolean silent, FSharpFunc`2 commandF, ParseResults`1 result) in C:\code\Paket\src\Paket\Program.fs:line 132
        at Paket.Program.handleCommand(Boolean silent, Command command) in C:\code\Paket\src\Paket\Program.fs:line 883
        at Paket.Program.main() in C:\code\Paket\src\Paket\Program.fs:line 980
64J0 commented 8 months ago

Setting this env var solved this problem for me:

export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0

Got it from here: https://github.com/dotnet/runtime/issues/27792