-
Notifications
You must be signed in to change notification settings - Fork 2k
Open
Open
Copy link
Labels
area-dockerfilesConcerns the official .NET Dockerfiles or Dockerfile templatesConcerns the official .NET Dockerfiles or Dockerfile templates
Description
Describe the bug
With the .NET 11 SDK images, we hit #6072 in one of our test cases. Running TimeZoneInfo.FindSystemTimeZoneById("FLE Standard Time"); will result in an exception because /usr/share/zoneinfo/Europe/Kiev can not be found.
This was originally fixed with #6078 but apparently tzdata-legacy was dropped again with 11.0 (the chisel images still contain it though). I'm not sure this was deliberate?
I realize that this is actually an issue in ICU because their windows mapping still returns the legacy Europe/Kiev. I wanted to create an ticket for ICU, but they make that way harder than it should be (even with a Jira account, I don't have permissions to create a ticket...).
Which .NET image(s) are you using?
mcr.microsoft.com/dotnet/sdk:11.0.100-preview.2
Steps to reproduce
echo 'TimeZoneInfo.FindSystemTimeZoneById("FLE Standard Time");' | docker run --rm -i mcr.microsoft.com/dotnet/sdk:11.0.100-preview.2 dotnet run -
results in:
Unhandled exception. System.TimeZoneNotFoundException: The time zone ID 'FLE Standard Time' was not found on the local computer.
---> System.IO.FileNotFoundException: Could not find file '/usr/share/zoneinfo/Europe/Kiev'.
File name: '/usr/share/zoneinfo/Europe/Kiev'
at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirError)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)
at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
at System.TimeZoneInfo.ReadAllBytesFromSeekableNonZeroSizeFile(String path, Int32 maxFileSize)
at System.TimeZoneInfo.TryGetTimeZoneFromLocalMachineCore(String id, TimeZoneInfo& value, Exception& e)
--- End of inner exception stack trace ---
at System.TimeZoneInfo.FindSystemTimeZoneById(String id)
at Program.<Main>$(String[] args) in /root/.local/share/dotnet/runfile/o2tjw22o.z2w/app.cs:line 1
Other information
No response
Output of docker version
Output of docker info
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area-dockerfilesConcerns the official .NET Dockerfiles or Dockerfile templatesConcerns the official .NET Dockerfiles or Dockerfile templates
Type
Projects
Status
Rollout