Open kenji21 opened 12 months ago
same issue with the latest toolchain:
using
../build/Ninja-DebugAssert/swift-macosx-x86_64/bin/swiftc --version
Swift version 5.11-dev (LLVM 26ea15ae72ba6e9, Swift 8a1eefae07b19e9)
Target: x86_64-apple-darwin22.6.0
Description Crash with a macro having a closure argument
Steps to reproduce
with the https://github.com/openium/DITestApp
Expected behavior No crash of course, and macro expanded
Environment
swift-driver version: 1.87.1 Apple Swift version 5.9 (swiftlang-5.9.0.128.108 clang-1500.0.40.1) Target: arm64-apple-macosx14.0
Xcode 15.0
iOS 17.0
Initially I was planing only
@Injectable
macro onSomeDepency
to generateInjectValues
extension, but still not possibleI'll try a more recent toolchain to see if the crash is still present
Crash backtrace:
``` Stack dump: 0. Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c /Users/kenji/Desktop/DITestApp/DITestApp/ContentView.swift -primary-file /Users/kenji/Desktop/DITestApp/DITestApp/DITestAppApp.swift /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/DerivedSources/GeneratedAssetSymbols.swift -emit-dependencies-path /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/Objects-normal/arm64/DITestAppApp.d -emit-const-values-path /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/Objects-normal/arm64/DITestAppApp.swiftconstvalues -emit-reference-dependencies-path /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/Objects-normal/arm64/DITestAppApp.swiftdeps -serialize-diagnostics-path /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/Objects-normal/arm64/DITestAppApp.dia -emit-localized-strings -emit-localized-strings-path /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/Objects-normal/arm64 -target arm64-apple-ios17.0-simulator -Xllvm -aarch64-use-tbi -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.0.sdk -I /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Products/Debug-iphonesimulator -F /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Products/Debug-iphonesimulator/PackageFrameworks -F /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Products/Debug-iphonesimulator -no-color-diagnostics -enable-testing -g -module-cache-path /Users/kenji/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -profile-generate -profile-coverage-mapping -swift-version 5 -enforce-exclusivity=checked -Onone -D DEBUG -serialize-debugging-options -load-plugin-executable /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Products/Debug/DependencyInjectionMacroImpl#DependencyInjectionMacroImpl -const-gather-protocols-file /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/Objects-normal/arm64/DITestApp_const_extract_protocols.json -enable-bare-slash-regex -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/kenji/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/kenji/Desktop/DITestApp -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift -enable-anonymous-context-mangled-names -Xcc -ivfsstatcache -Xcc /Users/kenji/Library/Developer/Xcode/DerivedData/SDKStatCaches.noindex/iphonesimulator17.0-21A325-9f995cea1212cde75317d7d3cd2045e2.sdkstatcache -Xcc -I/Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/DITestApp-generated-files.hmap -Xcc -I/Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/DITestApp-own-target-headers.hmap -Xcc -I/Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/DITestApp-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/DITestApp-project-headers.hmap -Xcc -I/Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Products/Debug-iphonesimulator/include -Xcc -I/Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/DerivedSources-normal/arm64 -Xcc -I/Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/DerivedSources/arm64 -Xcc -I/Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/DerivedSources -Xcc -DDEBUG=1 -module-name DITestApp -frontend-parseable-output -disable-clang-spi -target-sdk-version 17.0 -target-sdk-name iphonesimulator17.0 -external-plugin-path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.0.sdk/usr/lib/swift/host/plugins#/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.0.sdk/usr/bin/swift-plugin-server -external-plugin-path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.0.sdk/usr/local/lib/swift/host/plugins#/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.0.sdk/usr/bin/swift-plugin-server -external-plugin-path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/swift/host/plugins#/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server -external-plugin-path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/local/lib/swift/host/plugins#/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server -plugin-path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins -plugin-path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/local/lib/swift/host/plugins -o /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Build/Intermediates.noindex/DITestApp.build/Debug-iphonesimulator/DITestApp.build/Objects-normal/arm64/DITestAppApp.o -index-unit-output-path /DITestApp.build/Debug-iphonesimulator/DITestApp.build/Objects-normal/arm64/DITestAppApp.o -index-store-path /Users/kenji/Library/Developer/Xcode/DerivedData/DITestApp-hjbzygiwikmfgvaxzfuvavmttpew/Index.noindex/DataStore -index-system-modules 1. Apple Swift version 5.9 (swiftlang-5.9.0.128.108 clang-1500.0.40.1) 2. Compiling with the current language version 3. While evaluating request TypeCheckSourceFileRequest(source_file "/Users/kenji/Desktop/DITestApp/DITestApp/DITestAppApp.swift") 4. While evaluating request ExpandPeerMacroRequest(extension of InjectedValues) 5. While evaluating request ResolveMacroRequest(custom-attr, 0x12784cfb0 FileUnit file="/Users/kenji/Desktop/DITestApp/DITestApp/DITestAppApp.swift") 6. While type-checking expression at [/Users/kenji/Desktop/DITestApp/DITestApp/DITestAppApp.swift:24:1 - line:24:49] RangeText="@Inject({ SomeDepency() as SomeDepencyProtocol }" 7. While type-checking-target starting at /Users/kenji/Desktop/DITestApp/DITestApp/DITestAppApp.swift:24:1 8. While evaluating request FragileFunctionKindRequest(0x128968690 AbstractClosureExpr line=24 : () -> SomeDepencyProtocol) Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it): 0 swift-frontend 0x000000010717b14c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56 1 swift-frontend 0x0000000109cf9f2c llvm::sys::RunSignalHandlers() + 112 2 swift-frontend 0x0000000105a3b10c SignalHandler(int) + 352 3 libsystem_platform.dylib 0x0000000189f4da24 _sigtramp + 56 4 swift-frontend 0x00000001079a0814 llvm::Expected