dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.6k stars 4.56k forks source link

runtime-community: Failure to build System.Security.Cryptography.Native/opensslshim.c due to overflow in expression with type long #104333

Open carlossanlop opened 1 week ago

carlossanlop commented 1 week ago

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=728088 Build error leg or test failing: runtime-community - linux-armv6 Release AllSubsets_Mono

Error Message

{
  "ErrorMessage" : [
    "overflow in expression; result is -2147483648 with type 'long' [-Werror,-Winteger-overflow]",
    "time_t timeVal = (time_t)INT_MAX + 1"
  ],
  "BuildRetry" : false,
  "ExcludeConsoleLog" : false
}

Report

Build Definition Step Name Console log Pull Request
728642 dotnet/runtime Build product Log dotnet/runtime#102403
728088 dotnet/runtime Build product Log

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 2
dotnet-policy-service[bot] commented 1 week ago

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries See info in area-owners.md if you want to be subscribed.

dotnet-policy-service[bot] commented 1 week ago

Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones See info in area-owners.md if you want to be subscribed.

vcsjones commented 1 week ago

cc @sbomer, looks related to the changes for ARM32 64-bit time_t support.

carlossanlop commented 1 week ago

I found it in the official rolling build but I noticed it first in my PR where I was fixing a build failure in armv6: https://github.com/dotnet/runtime/pull/102403

Here's the failing CI leg: https://dev.azure.com/dnceng-public/public/_build/results?buildId=728642&view=logs&j=db8e93a1-262e-5037-1aaf-a14621311ed2&t=df0c0844-666d-543b-d576-d26fca1aab72&l=3498

buyaa-n commented 1 week ago

Same failure in https://github.com/dotnet/runtime/pull/104332/checks?check_run_id=26975682345

vcsjones commented 1 week ago

I think we should move this back to Infrastructure.

Based on a conversation in #104368, the runtime now requires systems that have a 64-bit time_t. This also aligns with the Y2038 announcement. The armv6 community pipeline is using a 32-bit time_t, which is what should be fixed.

dotnet-policy-service[bot] commented 1 week ago

Tagging subscribers to this area: @dotnet/runtime-infrastructure See info in area-owners.md if you want to be subscribed.