Swift 5 Ubuntu 16.04 Сбой с dateComponents

Вот мой код:

import Foundation

if let utc = TimeZone(abbreviation: "UTC") {
    let calendar = Calendar.current
    print("\(calendar.description)")
    print("Before dateComponents")
    let componentsDate1 = calendar.dateComponents(in: utc, from: Date())
    print("\(componentsDate1)")
}
else {
    print("Could not create timezone")
}

Я использую Ubuntu 16.04 под Docker. Результат:

gregorian (current)
Before dateComponents
Segmentation fault

Похоже, вызов dateComponents дает сбой.

Мой контейнер Docker основан на https://github.com/apple/swift-docker/blob/0aafffef619fb3b1824c968cbbe2fba4ba41bd26/5.0/ubuntu/16.04/Dockerfile

Предложения?


ОБНОВЛЕНИЯ 1) Я только что повторил это в системе Ubuntu 16.04, работающей под Virtual box, с установкой версии Swift 5.0.1 для Ubuntu 16.04: https://swift.org/сборки/swift-5.0.1-release/ubuntu1604/swift-5.0.1-RELEASE/swift-5.0.1-RELEASE-ubuntu16.04.tar.gz


person Chris Prince    schedule 12.06.2019    source источник
comment
К вашему сведению - это отлично работает на игровой площадке Swift, работающей в Xcode на macOS. Так что, похоже, это проблема, специфичная для Swift под Ubuntu или Linux.   -  person rmaddy    schedule 12.06.2019
comment
Похоже, что есть ошибка с компонентами Calendar.date в Linux, bugs.swift.org/browse/ SR-7011   -  person Joakim Danielson    schedule 12.06.2019
comment
@JoakimDanielson Эта проблема помечена как решенная 16 Aug 2018 12:34 PM.   -  person Chris Prince    schedule 12.06.2019


Ответы (1)


Мне только что сообщили, что это действительно известная ошибка с известным текущим исправлением: https://forums.swift.org/t/possible-bug-in-datecomponents-method-running-on-ubuntu-16-04/25702

person Chris Prince    schedule 13.06.2019