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-11366] Memory leak detected in 'test/Serialization/private_import.swift' #53767

Closed
rintaro mannequin opened this issue Aug 23, 2019 · 3 comments
Closed

[SR-11366] Memory leak detected in 'test/Serialization/private_import.swift' #53767

rintaro mannequin opened this issue Aug 23, 2019 · 3 comments
Assignees
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. compiler The Swift compiler in itself memory leak bug: Memory leak

Comments

@rintaro
Copy link
Mannequin

rintaro mannequin commented Aug 23, 2019

Previous ID SR-11366
Radar None
Original Reporter @rintaro
Type Bug
Status Resolved
Resolution Done
Environment

Ubuntu 18.04
master (075dd74)

Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug, Leak
Assignee @belkadan
Priority Medium

md5: 038b01f1281be3cab774c7a469f3c3c0

Issue Description:

$ utils/build-script -R --debug-swift-stdlib --enable-lsan --skip-build-benchmarks
$ ../build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift -version
Swift version 5.1-dev (LLVM c5340df2d1, Swift 310c9c9d19)
Target: x86_64-unknown-linux-gnu
$ utils/run-test --build-dir ../build/Ninja-ReleaseAssert+stdlib-DebugAssert test/ParseableInterface

... <snip> ...

FAIL: Swift(linux-x86_64) :: Serialization/private_import.swift (1 of 1)
******************** TEST 'Swift(linux-x86_64) :: Serialization/private_import.swift' FAILED ********************
Script:
--
: 'RUN: at line 1';   rm -rf "/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp" && mkdir -p "/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp"
: 'RUN: at line 6';   /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift -frontend -target x86_64-unknown-linux-gnu  -module-cache-path '/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/swift-test-results/x86_64-unknown-linux-gnu/clang-module-cache' -swift-version 4   -typo-correction-limit 10  -emit-module -DBASE -o /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp /home/rintaro/Repositories/swift-oss/swift/test/Serialization/private_import.swift
: 'RUN: at line 7';   llvm-bcanalyzer -dump /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp/private_import.swiftmodule > /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp/private_import.dump.txt
: 'RUN: at line 8';   '/usr/bin/python' '/home/rintaro/Repositories/swift-oss/swift/utils/PathSanitizingFileCheck' --sanitize BUILD_DIR='/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64' --sanitize SOURCE_DIR='/home/rintaro/Repositories/swift-oss/swift' --use-filecheck '/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/llvm-linux-x86_64/bin/FileCheck'  -check-prefix=CHECK -check-prefix=NO-PRIVATE-IMPORT /home/rintaro/Repositories/swift-oss/swift/test/Serialization/private_import.swift < /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp/private_import.dump.txt
: 'RUN: at line 10';   /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swiftc -target x86_64-unknown-linux-gnu -toolchain-stdlib-rpath  -module-cache-path '/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/swift-test-results/x86_64-unknown-linux-gnu/clang-module-cache' -swift-version 4   -module-name private_import -emit-module -o /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp -enable-private-imports /home/rintaro/Repositories/swift-oss/swift/test/Serialization/Inputs/private_import_other.swift /home/rintaro/Repositories/swift-oss/swift/test/Serialization/Inputs/private_import_other_2.swift
: 'RUN: at line 11';   llvm-bcanalyzer -dump /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp/private_import.swiftmodule > /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp/private_import.dump.txt
: 'RUN: at line 12';   '/usr/bin/python' '/home/rintaro/Repositories/swift-oss/swift/utils/PathSanitizingFileCheck' --sanitize BUILD_DIR='/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64' --sanitize SOURCE_DIR='/home/rintaro/Repositories/swift-oss/swift' --use-filecheck '/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/llvm-linux-x86_64/bin/FileCheck'  -check-prefix=CHECK -check-prefix=PRIVATE-IMPORT /home/rintaro/Repositories/swift-oss/swift/test/Serialization/private_import.swift < /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp/private_import.dump.txt
: 'RUN: at line 13';   '/usr/bin/python' '/home/rintaro/Repositories/swift-oss/swift/utils/PathSanitizingFileCheck' --sanitize BUILD_DIR='/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64' --sanitize SOURCE_DIR='/home/rintaro/Repositories/swift-oss/swift' --use-filecheck '/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/llvm-linux-x86_64/bin/FileCheck'  -check-prefix=NEGATIVE /home/rintaro/Repositories/swift-oss/swift/test/Serialization/private_import.swift < /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp/private_import.dump.txt
: 'RUN: at line 15';   /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift -frontend -target x86_64-unknown-linux-gnu  -module-cache-path '/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/swift-test-results/x86_64-unknown-linux-gnu/clang-module-cache' -swift-version 4   -typo-correction-limit 10  -emit-module -DCLIENT -o /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp -enable-private-imports /home/rintaro/Repositories/swift-oss/swift/test/Serialization/private_import.swift -module-name client -I /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp
: 'RUN: at line 16';   /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift -frontend -target x86_64-unknown-linux-gnu  -module-cache-path '/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/swift-test-results/x86_64-unknown-linux-gnu/clang-module-cache' -swift-version 4   -typo-correction-limit 10  -emit-sil -DMAIN /home/rintaro/Repositories/swift-oss/swift/test/Serialization/private_import.swift -module-name main -I /home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/test-linux-x86_64/Serialization/Output/private_import.swift.tmp > /dev/null
--
Exit Code: 23

Command Output (stderr):
--

=================================================================
==29538==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 2048 byte(s) in 2 object(s) allocated from:
    #&#8203;0 0xac30e8 in operator new(unsigned long) (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0xac30e8)
    #&#8203;1 0x17aed05 in llvm::DenseMap<swift::ValueDecl const*, swift::Identifier, llvm::DenseMapInfo<swift::ValueDecl const*>, llvm::detail::DenseMapPair<swift::ValueDecl const*, swift::Identifier> >::grow(unsigned int) (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0x17aed05)
    #&#8203;2 0x17aeb21 in llvm::detail::DenseMapPair<swift::ValueDecl const*, swift::Identifier>* llvm::DenseMapBase<llvm::DenseMap<swift::ValueDecl const*, swift::Identifier, llvm::DenseMapInfo<swift::ValueDecl const*>, llvm::detail::DenseMapPair<swift::ValueDecl const*, swift::Identifier> >, swift::ValueDecl const*, swift::Identifier, llvm::DenseMapInfo<swift::ValueDecl const*>, llvm::detail::DenseMapPair<swift::ValueDecl const*, swift::Identifier> >::InsertIntoBucketImpl<swift::ValueDecl const*>(swift::ValueDecl const* const&, swift::ValueDecl const* const&, llvm::detail::DenseMapPair<swift::ValueDecl const*, swift::Identifier>*) (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0x17aeb21)
    #&#8203;3 0x17ae9a5 in swift::LoadedFile::addFilenameForPrivateDecl(swift::ValueDecl const*, swift::Identifier) (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0x17ae9a5)
    #&#8203;4 0x179cbe0 in swift::DeclDeserializer::~DeclDeserializer() (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0x179cbe0)
    #&#8203;5 0x1793f8f in swift::ModuleFile::getDeclChecked(llvm::PointerEmbeddedInt<unsigned int, 31>) (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0x1793f8f)
    #&#8203;6 0x16ff65e in swift::ModuleFile::getTopLevelDecls(llvm::SmallVectorImpl<swift::Decl*>&) (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0x16ff65e)
    #&#8203;7 0x1ad5dfe in swift::ModuleDecl::getTopLevelDecls(llvm::SmallVectorImpl<swift::Decl*>&) const (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0x1ad5dfe)
    #&#8203;8 0x1210fa4 in swift::ProtocolConformanceAnalysis::init() (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0x1210fa4)
    #&#8203;9 0x11d3fce in swift::createProtocolConformanceAnalysis(swift::SILModule*) (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0x11d3fce)
    #&#8203;10 0xfb6e06 in swift::SILPassManager::SILPassManager(swift::SILModule*, llvm::StringRef, bool) (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0xfb6e06)
    #&#8203;11 0xfc230b in swift::runSILPassesForOnone(swift::SILModule&) (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0xfc230b)
    #&#8203;12 0xdbbaee in swift::CompilerInstance::performSILProcessing(swift::SILModule*, swift::UnifiedStatsReporter*) (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0xdbbaee)
    #&#8203;13 0xb49843 in performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0xb49843)
    #&#8203;14 0xb460d6 in swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0xb460d6)
    #&#8203;15 0xae80f6 in main (/home/rintaro/Repositories/swift-oss/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-linux-x86_64/bin/swift+0xae80f6)
    #&#8203;16 0x7f9d99508b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)

SUMMARY: LeakSanitizer: 2048 byte(s) leaked in 2 allocation(s).
<unknown>:0: error: merge-module command failed with exit code 23 (use -v to see invocation)

--

********************
Testing Time: 0.42s
********************
Failing Tests (1):
    Swift(linux-x86_64) :: Serialization/private_import.swift

  Unexpected Failures: 1

2 warning(s) in tests.
utils/run-test: fatal error: command terminated with a non-zero exit status 1, aborting
@rintaro
Copy link
Mannequin Author

rintaro mannequin commented Aug 23, 2019

CC: aschwaighofer@apple.com (JIRA User)

@belkadan
Copy link
Contributor

I'm getting this one too.

@belkadan
Copy link
Contributor

#26816

@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 memory leak bug: Memory leak
Projects
None yet
Development

No branches or pull requests

1 participant