Strong naming signing fails on Azure Linux 4.0

未关闭
#7,296 6 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
冷清
技术栈
docker, linux

调研方向

从 Dockerfile 第 21 行和复现中使用的两个 compose 文件开始,然后使用 Azure Linux 4.0 SDK 镜像运行列出的 docker compose 命令。跟踪 strong-name 签名失败,并通过让 net10.0 的 publish 在 W3C Trace Context 测试中成功完成来验证修复。

由索引模型根据 Issue 内容生成。

描述

area-dockerfiles
Describe the bug

After #7288 was fixed, I updated two test jobs with have in the OpenTelemetry .NET SDK that use Azure Linux to use the new Azure Linux 4.0 images: https://github.com/open-telemetry/opentelemetry-dotnet/pull/6899/commits/0ae525b09c23054f6cff6f78bdbde16ef9ba5247.

These jobs fail with the following error:

#14 5.048 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(385,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/repo/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/OpenTelemetry.Instrumentation.W3cTraceContext.Tests.csproj::TargetFramework=net10.0]
#14 6.194 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(385,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error : Unhandled exception. Interop+Crypto+OpenSslCryptographicException: error:03000098:digital envelope routines::invalid digest [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Interop.Crypto.RsaSignHash(SafeEvpPKeyHandle pkey, RSASignaturePaddingMode paddingMode, HashAlgorithmName digestAlgorithm, ReadOnlySpan`1 hash, Span`1 destination) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at System.Security.Cryptography.RSAOpenSsl.SignHash(Byte[] hash, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.SigningUtilities.CalculateRsaSignature(IEnumerable`1 content, RSAParameters privateKey) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.DesktopStrongNameProvider.<>c__DisplayClass12_0.<SignBuilder>b__0(IEnumerable`1 content) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at System.Reflection.PortableExecutable.PEBuilder.Sign(BlobBuilder peImage, Blob strongNameSignatureFixup, Func`2 signatureProvider) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.Cci.PeWriter.WritePeToStream(EmitContext context, CommonMessageProvider messageProvider, Func`1 getPeStream, Func`1 getPortablePdbStreamOpt, PdbWriter nativePdbWriterOpt, String pdbPathOpt, Boolean metadataOnly, Boolean isDeterministic, Boolean emitTestCoverageData, Nullable`1 privateKeyOpt, CancellationToken cancellationToken) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.Compilation.SerializePeToStream(CommonPEModuleBuilder moduleBeingBuilt, DiagnosticBag metadataDiagnostics, CommonMessageProvider messageProvider, Func`1 getPeStream, Func`1 getMetadataPeStreamOpt, Func`1 getPortablePdbStreamOpt, PdbWriter nativePdbWriterOpt, String pdbPathOpt, RebuildData rebuildData, Boolean metadataOnly, Boolean includePrivateMembers, Boolean isDeterministic, Boolean emitTestCoverageData, Nullable`1 privateKeyOpt, CancellationToken cancellationToken) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.Compilation.SerializeToPeStream(CommonPEModuleBuilder moduleBeingBuilt, EmitStreamProvider peStreamProvider, EmitStreamProvider metadataPEStreamProvider, EmitStreamProvider pdbStreamProvider, RebuildData rebuildData, Func`2 testSymWriterFactory, DiagnosticBag diagnostics, EmitOptions emitOptions, Nullable`1 privateKeyOpt, CancellationToken cancellationToken) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.CommonCompiler.CompileAndEmit(TouchedFileLogger touchedFilesLogger, Compilation& compilation, ImmutableArray`1 analyzers, ImmutableArray`1 generators, ImmutableArray`1 additionalTextFiles, AnalyzerConfigSet analyzerConfigSet, ImmutableArray`1 sourceFileAnalyzerConfigOptions, ImmutableArray`1 embeddedTexts, DiagnosticBag diagnostics, ErrorLogger errorLogger, CancellationToken cancellationToken, CancellationTokenSource& analyzerCts, AnalyzerDriver& analyzerDriver, Nullable`1& generatorTimingInfo) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.CommonCompiler.<RunCore>g__compileAndReport|73_0(<>c__DisplayClass73_0&) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.CommonCompiler.RunCore(TextWriter consoleOutput, ErrorLogger errorLogger, CancellationToken cancellationToken) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.CommonCompiler.Run(TextWriter consoleOutput, CancellationToken cancellationToken) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.CSharp.CommandLine.Csc.Run(String[] args, BuildPaths buildPaths, TextWriter textWriter, IAnalyzerAssemblyLoader analyzerLoader) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.CommandLine.BuildClient.RunCompilation(IEnumerable`1 originalArguments, BuildPaths buildPaths, TextWriter textWriter, String pipeName) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.CommandLine.BuildClient.Run(IEnumerable`1 arguments, RequestLanguage language, CompileFunc compileFunc, CompileOnServerFunc compileOnServerFunc, ICompilerServerLogger logger) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.CSharp.CommandLine.Program.MainCore(String[] args) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.CSharp.CommandLine.Program.Main(String[] args) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
#14 ERROR: process "/bin/sh -c dotnet publish \"OpenTelemetry.Instrumentation.W3cTraceContext.Tests.csproj\" -c \"${PUBLISH_CONFIGURATION}\" -f \"${PUBLISH_FRAMEWORK}\" -o /drop -p:IntegrationBuild=true" did not complete successfully: exit code: 1
------
 > [build 4/5] RUN dotnet publish "OpenTelemetry.Instrumentation.W3cTraceContext.Tests.csproj" -c "Release" -f "net10.0" -o /drop -p:IntegrationBuild=true:
19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.Compilation.SerializeToPeStream(CommonPEModuleBuilder moduleBeingBuilt, EmitStreamProvider peStreamProvider, EmitStreamProvider metadataPEStreamProvider, EmitStreamProvider pdbStreamProvider, RebuildData rebuildData, Func`2 testSymWriterFactory, DiagnosticBag diagnostics, EmitOptions emitOptions, Nullable`1 privateKeyOpt, CancellationToken cancellationToken) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.CommonCompiler.CompileAndEmit(TouchedFileLogger touchedFilesLogger, Compilation& compilation, ImmutableArray`1 analyzers, ImmutableArray`1 generators, ImmutableArray`1 additionalTextFiles, AnalyzerConfigSet analyzerConfigSet, ImmutableArray`1 sourceFileAnalyzerConfigOptions, ImmutableArray`1 embeddedTexts, DiagnosticBag diagnostics, ErrorLogger errorLogger, CancellationToken cancellationToken, CancellationTokenSource& analyzerCts, AnalyzerDriver& analyzerDriver, Nullable`1& generatorTimingInfo) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
19.97 /usr/share/dotnet/sdk/11.0.100-preview.6.26359.118/Roslyn/Microsoft.CSharp.Core.targets(97,5): error :    at Microsoft.CodeAnalysis.CommonCompiler.<RunCore>g__compileAndReport|73_0(<>c__DisplayClass73_0&) [/repo/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj::TargetFramework=net10.0]
Dockerfile:21

It looks like some sort of image/OpenSSL configuration that forbids SHA-1?

Which .NET image(s) are you using?

mcr.microsoft.com/dotnet/sdk:11.0.100-preview.6-azurelinux4.0@sha256:4fae6b560baea20005499293fcb98ce6cdfd682cf3121e6f618d4a52666454d0

Steps to reproduce
  1. Clone and checkout https://github.com/open-telemetry/opentelemetry-dotnet/pull/6899/commits/0ae525b09c23054f6cff6f78bdbde16ef9ba5247
  2. Run docker compose --file=test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/docker-compose.yml "--file=build/docker-compose.net11.0.yml" --project-directory=. up --exit-code-from=tests --build
Other information

No response

Output of docker version

Output of docker info

主要语言
Dockerfile
星标
4.9k
派生
2k
平均合并
1 天 17 小时
30 天内合并 PR
58

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

dotnet/dotnet-docker 的其他 Issue

查看 dotnet/dotnet-docker 的全部 Issue

相似的 Issue

更多 Build System Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。