URL (fileURLWithPath: isDirectory :) Ошибка сегментации под MacOSX 10.15 Catalina, swift 5.2.2 - PullRequest
1 голос
/ 20 апреля 2020

У меня есть небольшой скрипт swift

#!/usr/bin/swift

import Foundation
let url = URL(fileURLWithPath: ".", isDirectory: true)
print(url.absoluteString)

Если я запускаю его из командной строки, я получаю ошибку сегментации

swift-test $ ./url-test.swift 
Stack dump:
0.  Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -interpret ./url-test.swift -enable-objc-interop -stack-check -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -color-diagnostics -module-name main 
1.  Apple Swift version 5.2.2 (swiftlang-1103.0.32.6 clang-1103.0.32.51)
2.  While running user code "./url-test.swift"
0  swift                    0x0000000113fa74ea PrintStackTraceSignalHandler(void*) + 42
1  swift                    0x0000000113fa6cc0 SignalHandler(int) + 352
2  libsystem_platform.dylib 0x00007fff724cf5fd _sigtramp + 29
3  libsystem_malloc.dylib   0x00007fff7248e0c6 szone_malloc_should_clear + 66
4  swift                    0x000000010fd2a48a llvm::MCJIT::runFunction(llvm::Function*, llvm::ArrayRef<llvm::GenericValue>) + 458
5  swift                    0x000000010fd314fb llvm::ExecutionEngine::runFunctionAsMain(llvm::Function*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, char const* const*) + 2011
6  swift                    0x000000010fd065ba performCompileStepsPostSILGen(swift::CompilerInstance&, swift::CompilerInvocation&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, bool, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, bool, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 14362
7  swift                    0x000000010fcfaf75 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 55813
8  swift                    0x000000010fc70f53 main + 1283
9  libdyld.dylib            0x00007fff722d6cc9 start + 1
10 libdyld.dylib            0x000000000000000b start + 2379387715
Segmentation fault: 11

Если я запускаю его в быстром интерпретаторе, все в порядке

swift-test $ swift
Welcome to Apple Swift version 5.2.2 (swiftlang-1103.0.32.6 clang-1103.0.32.51).
Type :help for assistance.
  1> import Foundation 
  2. let url = URL(fileURLWithPath: ".", isDirectory: true) 
  3. print(url.absoluteString)
file:///Users/user/projects/swift-test/
url: URL = {}
  4>  

Есть мысли, как исправить ошибку сегментации?

...