Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SR-13713] SIL verification failed: result of witness_method must have correct representation for protocol #56110

Closed
dhoepfl opened this issue Oct 9, 2020 · 2 comments
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. compiler The Swift compiler in itself

Comments

@dhoepfl
Copy link
Contributor

dhoepfl commented Oct 9, 2020

Previous ID SR-13713
Radar rdar://problem/70140319
Original Reporter @dhoepfl
Type Bug
Status Resolved
Resolution Done
Environment

swift --version:

Swift version 5.3-dev (LLVM aba7154c8a2540f, Swift 15fc0fe2014f074)
Target: x86_64-unknown-linux-gnu
Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug
Assignee None
Priority Medium

md5: 99523bfbb38c6e13211064ae05284426

relates to:

Issue Description:

While investigating SR-13546 and SR-2301, swift build aborted with a crash.

I managed to reduce the change that leads to the crash to changing swift-corelibs-foundation/Sources/FoundationXML/XMLParser.swift:664 from

public protocol XMLParserDelegate: class {

to

@objc public protocol XMLParserDelegate: class {

I’m using the same build parameters in both cases.

The full log of the failed build is attached.

The stacktrace is:

PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend -frontend -c /home/myhome/llvm/swift-source/swift-corelibs-foundation/Sources/FoundationXML/XMLDocument.swift /home/myhome/llvm/swift-source/swift-corelibs-foundation/Sources/FoundationXML/XMLDTD.swift /home/myhome/llvm/swift-source/swift-corelibs-foundation/Sources/FoundationXML/XMLDTDNode.swift /home/myhome/llvm/swift-source/swift-corelibs-foundation/Sources/FoundationXML/XMLElement.swift /home/myhome/llvm/swift-source/swift-corelibs-foundation/Sources/FoundationXML/XMLNode.swift -primary-file /home/myhome/llvm/swift-source/swift-corelibs-foundation/Sources/FoundationXML/XMLParser.swift /home/myhome/llvm/swift-source/swift-corelibs-foundation/Sources/FoundationXML/CFAccess.swift -emit-module-path Sources/FoundationXML/CMakeFiles/FoundationXML.dir/XMLParser.swift.swiftmodule -emit-module-doc-path Sources/FoundationXML/CMakeFiles/FoundationXML.dir/XMLParser.swift.swiftdoc -emit-module-source-info-path Sources/FoundationXML/CMakeFiles/FoundationXML.dir/XMLParser.swift.swiftsourceinfo -emit-dependencies-path Sources/FoundationXML/CMakeFiles/FoundationXML.dir/XMLParser.swift.o.d -emit-reference-dependencies-path Sources/FoundationXML/CMakeFiles/FoundationXML.dir/XMLParser.swift.o.swiftdeps -target x86_64-unknown-linux-gnu -disable-objc-interop -I swift -I /home/myhome/llvm/swift-source/build/buildbot_linux/libdispatch-linux-x86_64/src/swift/swift -I /home/myhome/llvm/swift-source/build/buildbot_linux/libdispatch-linux-x86_64 -I /home/myhome/llvm/swift-source/swift-corelibs-libdispatch -I /home/myhome/llvm/swift-source/swift-corelibs-libdispatch/src -I /home/myhome/llvm/swift-source/build/buildbot_linux/libdispatch-linux-x86_64/src -I /home/myhome/llvm/swift-source/swift-corelibs-libdispatch/src/BlocksRuntime -module-link-name FoundationXML -O -D DEPLOYMENT_RUNTIME_SWIFT -D FoundationXML_EXPORTS -Xcc -F/home/myhome/llvm/swift-source/build/buildbot_linux/foundation-linux-x86_64 -parse-as-library -module-name FoundationXML -o Sources/FoundationXML/CMakeFiles/FoundationXML.dir/XMLParser.swift.o
1.      Swift version 5.3-dev (LLVM aba7154c8a2540f, Swift 15fc0fe2014f074)
2.      While evaluating request ASTLoweringRequest(Lowering AST to SIL for file "/home/myhome/llvm/swift-source/swift-corelibs-foundation/Sources/FoundationXML/XMLParser.swift")
3.      While silgen emitFunction SIL function "@$s13FoundationXML21_NSXMLParserGetEntity_4names13OpaquePointerVSgAE_SPys5UInt8VGtF".
 for '_NSXMLParserGetEntity(_:name:)' (at /home/myhome/llvm/swift-source/swift-corelibs-foundation/Sources/FoundationXML/XMLParser.swift:148:10)
4.      While verifying SIL function "@$s13FoundationXML21_NSXMLParserGetEntity_4names13OpaquePointerVSgAE_SPys5UInt8VGtF".
 for '_NSXMLParserGetEntity(_:name:)' (at /home/myhome/llvm/swift-source/swift-corelibs-foundation/Sources/FoundationXML/XMLParser.swift:148:10)
 #​0 0x00000000054497e4 PrintStackTraceSignalHandler(void*) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x54497e4)
 #​1 0x00000000054473be llvm::sys::RunSignalHandlers() (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x54473be)
 #​2 0x00000000054499c5 SignalHandler(int) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x54499c5)
 #​3 0x00007fc1aa945730 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12730)
 #​4 0x00007fc1aa2227bb gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x377bb)
 #​5 0x00007fc1aa20d535 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22535)
 #​6 0x0000000001203ede (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x1203ede)
 #&#8203;7 0x0000000001216e24 swift::SILInstructionVisitor<(anonymous namespace)::SILVerifier, void>::visit(swift::SILInstruction*) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x1216e24)
 #&#8203;8 0x0000000001205c1e (anonymous namespace)::SILVerifier::visitSILBasicBlock(swift::SILBasicBlock*) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x1205c1e)
 #&#8203;9 0x00000000011ff2b6 swift::SILFunction::verify(bool) const (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x11ff2b6)
#&#8203;10 0x000000000097533e swift::Lowering::SILGenModule::postEmitFunction(swift::SILDeclRef, swift::SILFunction*) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x97533e)
#&#8203;11 0x0000000000972f92 swift::Lowering::SILGenModule::emitFunctionDefinition(swift::SILDeclRef, swift::SILFunction*) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x972f92)
#&#8203;12 0x0000000000976565 emitOrDelayFunction(swift::Lowering::SILGenModule&, swift::SILDeclRef, bool) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x976565)
#&#8203;13 0x0000000000972d7a swift::Lowering::SILGenModule::emitFunction(swift::FuncDecl*) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x972d7a)
#&#8203;14 0x0000000000978e69 swift::ASTLoweringRequest::evaluate(swift::Evaluator&, swift::ASTLoweringDescriptor) const (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x978e69)
#&#8203;15 0x0000000000a31c13 swift::SimpleRequest<swift::ASTLoweringRequest, std::unique_ptr<swift::SILModule, std::default_delete<swift::SILModule> > (swift::ASTLoweringDescriptor), (swift::RequestFlags)9>::evaluateRequest(swift::ASTLoweringRequest const&, swift::Evaluator&) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0xa31c13)
#&#8203;16 0x000000000097dc81 llvm::Expected<swift::ASTLoweringRequest::OutputType> swift::Evaluator::getResultUncached<swift::ASTLoweringRequest>(swift::ASTLoweringRequest const&) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x97dc81)
#&#8203;17 0x000000000097a5c9 llvm::Expected<swift::ASTLoweringRequest::OutputType> swift::Evaluator::operator()<swift::ASTLoweringRequest, (void*)0>(swift::ASTLoweringRequest const&) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x97a5c9)
#&#8203;18 0x000000000097a6c0 swift::performASTLowering(swift::FileUnit&, swift::Lowering::TypeConverter&, swift::SILOptions const&) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x97a6c0)
#&#8203;19 0x0000000000511047 performCompileStepsPostSema(swift::CompilerInstance&, int&, swift::FrontendObserver*) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x511047)
#&#8203;20 0x00000000005089f2 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x5089f2)
#&#8203;21 0x000000000049b33c main (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x49b33c)
#&#8203;22 0x00007fc1aa20f09b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409b)
#&#8203;23 0x000000000049aeea _start (/home/myhome/llvm/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swift-frontend+0x49aeea)
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal 6 (use -v to see invocation)
ninja: build stopped: subcommand failed.
Building the standard library for: swift-stdlib-linux-x86_64
Running Swift tests for: check-swift-linux-x86_64
@typesanitizer
Copy link

@swift-ci create

@slavapestov
Copy link
Member

Oops, this was just a crash on invalid – we should be rejecting @objc on Linux: #34773

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. compiler The Swift compiler in itself
Projects
None yet
Development

No branches or pull requests

3 participants