-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
| Previous ID | SR-1243 |
| Radar | None |
| Original Reporter | rolivieri (JIRA User) |
| Type | Bug |
| Status | Resolved |
| Resolution | Done |
Attachment: Download
Environment
Ubuntu 15
Additional Detail from JIRA
| Votes | 5 |
| Component/s | Compiler, Package Manager, XCTest |
| Labels | Bug, CompilerCrash, Linux |
| Assignee | None |
| Priority | Medium |
md5: 34cb01e963ad83912b058178803a296a
Issue Description:
Using the Swift binaries from 4/12, we can no longer execute “swift test” on Linux (Ubuntu 15) under the following scenario: A helper function is defined inside a class that extends XCTestCase and receives as a parameter a structure defined in the Swift module that is being tested. If the helper function is commented out or the parameter type of the function is changed to, say String, then 'swift test' executes with no errors.
To reproduce the error, please use the Swift package in the zip file. See the verifyService() method defined in the MainTests.swift file. Executing 'swift test' on OS X will work just fine but on Ubuntu 15, it will throw the error below:
root@1ff2e6466639:~/Swift-cfenv# swift test
Linking .build/debug/CFEnvironment.xctest
swift: /home/buildnode/jenkins/workspace/oss-swift-package-linux-ubuntu-15_10/swift/include/swift/Serialization/ModuleFile.h:361: Status swift::ModuleFile::error(Status): Assertion `(!FileContext || issue != Status::Malformed) && "error deserializing an individual record"' failed.
0 swift 0x00000000031c8dd8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
1 swift 0x00000000031c75d6 llvm::sys::RunSignalHandlers() + 54
2 swift 0x00000000031c9906
3 libpthread.so.0 0x00007fd4f4b5ad10
4 libc.so.6 0x00007fd4f34a2267 gsignal + 55
5 libc.so.6 0x00007fd4f34a3eca abort + 362
6 libc.so.6 0x00007fd4f349b03d
7 libc.so.6 0x00007fd4f349b0f2
8 swift 0x0000000000cb0529 swift::ModuleFile::resolveCrossReference(swift::ModuleDecl*, unsigned int) + 6057
9 swift 0x0000000000ca25a1 swift::ModuleFile::getDecl(llvm::PointerEmbeddedInt<unsigned int, 31>, llvm::Optional<swift::DeclContext*>) + 11121
10 swift 0x0000000000ca8e64 swift::ModuleFile::getType(llvm::PointerEmbeddedInt<unsigned int, 31>) + 1300
11 swift 0x0000000000ca902d swift::ModuleFile::getType(llvm::PointerEmbeddedInt<unsigned int, 31>) + 1757
12 swift 0x0000000000ca9281 swift::ModuleFile::getType(llvm::PointerEmbeddedInt<unsigned int, 31>) + 2353
13 swift 0x0000000000ca9294 swift::ModuleFile::getType(llvm::PointerEmbeddedInt<unsigned int, 31>) + 2372
14 swift 0x0000000000ca6bd0 swift::ModuleFile::getDecl(llvm::PointerEmbeddedInt<unsigned int, 31>, llvm::Optional<swift::DeclContext*>) + 29088
15 swift 0x0000000000cae9eb swift::ModuleFile::readMembers(llvm::SmallVectorImpl<swift::Decl*>&) + 251
16 swift 0x0000000000cb2a83 swift::ModuleFile::loadAllMembers(swift::Decl*, unsigned long) + 227
17 swift 0x000000000108fef6 swift::IterableDeclContext::loadAllMembers() const + 86
18 swift 0x000000000107f040 swift::NominalTypeDecl::getMembers() const + 16
19 swift 0x00000000010c3f30 swift::NominalTypeDecl::lookupDirect(swift::DeclName, bool) + 80
20 swift 0x00000000010c2a42 swift::DeclContext::lookupQualified(swift::Type, swift::DeclName, unsigned int, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ValueDecl*>&) const + 3522
21 swift 0x0000000000ebf4c0
22 swift 0x0000000000ebf312 swift::TypeChecker::lookupMember(swift::DeclContext*, swift::Type, swift::DeclName, swift::OptionSet<swift::NameLookupFlags, unsigned int>) + 386
23 swift 0x0000000000f03802 swift::constraints::ConstraintSystem::lookupMember(swift::Type, swift::DeclName) + 290
24 swift 0x0000000000f69773 swift::constraints::ConstraintSystem::performMemberLookup(swift::constraints::ConstraintKind, swift::DeclName, swift::Type, swift::constraints::ConstraintLocator*, bool) + 2579
25 swift 0x0000000000f6b165 swift::constraints::ConstraintSystem::simplifyMemberConstraint(swift::constraints::Constraint const&) + 437
26 swift 0x0000000000f6c224 swift::constraints::ConstraintSystem::simplifyConstraint(swift::constraints::Constraint const&) + 68
27 swift 0x0000000000f04457 swift::constraints::ConstraintSystem::addConstraint(swift::constraints::Constraint*, bool, bool) + 23
28 swift 0x0000000000f4db75
29 swift 0x0000000000f56fb3
30 swift 0x0000000001023a48
31 swift 0x0000000001025a31
32 swift 0x0000000001023a88
33 swift 0x0000000001023f87
34 swift 0x0000000001023a2b
35 swift 0x0000000001025a31
36 swift 0x0000000001023a88
37 swift 0x0000000001020abe swift::Expr::walk(swift::ASTWalker&) + 46
38 swift 0x0000000000f4a178 swift::constraints::ConstraintSystem::generateConstraints(swift::Expr*) + 200
39 swift 0x0000000000e6e625 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 245
40 swift 0x0000000000e74ae0 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*) + 576
41 swift 0x0000000000ee5570
42 swift 0x0000000000ee4be6 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) + 134
43 swift 0x0000000000ea89ed swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int) + 1117
44 swift 0x0000000000ce03bf swift::CompilerInstance::performSema() + 3295
45 swift 0x0000000000792819
46 swift 0x0000000000791943 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2643
47 swift 0x000000000078d0d7 main + 2567
48 libc.so.6 0x00007fd4f348da40 __libc_start_main + 240
49 swift 0x000000000078ac79 _start + 41
Stack dump:
0. Program arguments: /root/swift-DEVELOPMENT-SNAPSHOT-2016-04-12-a-ubuntu15.10/usr/bin/swift -frontend -c -primary-file /root/Swift-cfenv/Tests/LinuxMain.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -I /root/Swift-cfenv/.build/debug -g -emit-module-doc-path /tmp/LinuxMain-25b8bd.swiftdoc -module-name CFEnvironment -emit-module-path /tmp/LinuxMain-25b8bd.swiftmodule -o /tmp/LinuxMain-25b8bd.o
- While type-checking expression at [/root/Swift-cfenv/Tests/LinuxMain.swift:5:1 - line:7:2] RangeText="XCTMain([
testCase(MainTests.allTests)
])" - While loading members for 'MainTests' at <invalid loc>
- While deserializing 'verifyService' (FuncDecl Fix 'dependable' typo in DevelopingPackages.md #7)
- While deserializing decl Improve integer literal initializer for Specifier #21 (XREF)
- Cross-reference to module 'CFEnvironment'
... Service
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
<unknown>:0: error: build had 1 command failures
error: exit(1): /root/swift-DEVELOPMENT-SNAPSHOT-2016-04-12-a-ubuntu15.10/usr/bin/swift-build-tool -f /root/Swift-cfenv/.build/debug.yaml test
root@1ff2e6466639:~/Swift-cfenv#