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

Memory leak on macOS #52

Closed
lopopolo opened this issue Aug 14, 2022 · 1 comment
Closed

Memory leak on macOS #52

lopopolo opened this issue Aug 14, 2022 · 1 comment
Labels
Tier-1 Rust Tier-1 platform

Comments

@lopopolo
Copy link
Collaborator

LeakSanitizer is not happy on my mac (latest main):

$ RUSTFLAGS="-Z sanitizer=leak" cargo +nightly test --lib
   Compiling core-foundation-sys v0.8.3
error: failed to run custom build command for `core-foundation-sys v0.8.3`

Caused by:
  process didn't exit successfully: `/Users/lopopolo/dev/repos/iana-time-zone/target/debug/build/core-foundation-sys-12e9821091001b77/build-script-build` (exit status: 23)
  --- stdout
  cargo:rustc-link-lib=framework=CoreFoundation

  --- stderr

  =================================================================
  ==70432==ERROR: LeakSanitizer: detected memory leaks

  Direct leak of 1888 byte(s) in 59 object(s) allocated from:
      #0 0x1055697fd in wrap_calloc+0x5d (librustc-nightly_rt.lsan.dylib:x86_64+0xb7fd) (BuildId: 8c28f22865823830a53915a56e9223bb240000001000000000070a0000010c00)
      #1 0x7ff801b3b84f in realizeClassWithoutSwift(objc_class*, objc_class*)+0x88 (libobjc.A.dylib:x86_64h+0x484f) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #2 0x7ff801b39b59 in map_images_nolock+0x161b (libobjc.A.dylib:x86_64h+0x2b59) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #3 0x7ff801b384db in map_images+0x42 (libobjc.A.dylib:x86_64h+0x14db) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #4 0x113dc11fa in invocation function for block in dyld4::RuntimeState::setObjCNotifiers(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x112 (dyld:x86_64+0xf1fa) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #5 0x113dbc6c8 in dyld4::RuntimeState::withLoadersReadLock(void () block_pointer)+0x28 (dyld:x86_64+0xa6c8) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #6 0x113dc10e1 in dyld4::RuntimeState::setObjCNotifiers(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x51 (dyld:x86_64+0xf0e1) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #7 0x113dd4d44 in dyld4::APIs::_dyld_objc_notify_register(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x4e (dyld:x86_64+0x22d44) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #8 0x7ff801b38343 in _objc_init+0x4fe (libobjc.A.dylib:x86_64h+0x1343) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #9 0x7ff801af2992 in _os_object_init+0xc (libdispatch.dylib:x86_64+0x2992) (BuildId: 5115c8efbc5732db91c671b61a79966e32000000200000000100000000050c00)
      #10 0x7ff801b001b7 in libdispatch_init+0x136 (libdispatch.dylib:x86_64+0x101b7) (BuildId: 5115c8efbc5732db91c671b61a79966e32000000200000000100000000050c00)
      #11 0x7ff80caa4894 in libSystem_initializer+0xed (libSystem.B.dylib:x86_64+0x1894) (BuildId: ba73a734cc563c50a9c8513b34b3726932000000200000000100000000050c00)
      #12 0x113dc6e4e in invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0xb5 (dyld:x86_64+0x14e4e) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #13 0x113dedaac in invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const+0xf1 (dyld:x86_64+0x3baac) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #14 0x113de4e25 in invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const+0x22c (dyld:x86_64+0x32e25) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #15 0x113db3db2 in dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const+0x80 (dyld:x86_64+0x1db2) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #16 0x113de4bb6 in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const+0xb2 (dyld:x86_64+0x32bb6) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #17 0x113ded603 in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const+0x1d1 (dyld:x86_64+0x3b603) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #18 0x113dc6d81 in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0x8f (dyld:x86_64+0x14d81) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #19 0x113dcd659 in dyld4::PrebuiltLoader::runInitializers(dyld4::RuntimeState&) const+0x1d (dyld:x86_64+0x1b659) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #20 0x113dda76d in dyld4::APIs::runAllInitializersForMain()+0x25 (dyld:x86_64+0x2876d) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #21 0x113db838c in dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*)+0xd72 (dyld:x86_64+0x638c) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #22 0x113db74e3 in start+0x183 (dyld:x86_64+0x54e3) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)

  Direct leak of 1888 byte(s) in 59 object(s) allocated from:
      #0 0x1055697fd in wrap_calloc+0x5d (librustc-nightly_rt.lsan.dylib:x86_64+0xb7fd) (BuildId: 8c28f22865823830a53915a56e9223bb240000001000000000070a0000010c00)
      #1 0x7ff801b3b84f in realizeClassWithoutSwift(objc_class*, objc_class*)+0x88 (libobjc.A.dylib:x86_64h+0x484f) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #2 0x7ff801b3b91b in realizeClassWithoutSwift(objc_class*, objc_class*)+0x154 (libobjc.A.dylib:x86_64h+0x491b) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #3 0x7ff801b39b59 in map_images_nolock+0x161b (libobjc.A.dylib:x86_64h+0x2b59) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #4 0x7ff801b384db in map_images+0x42 (libobjc.A.dylib:x86_64h+0x14db) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #5 0x113dc11fa in invocation function for block in dyld4::RuntimeState::setObjCNotifiers(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x112 (dyld:x86_64+0xf1fa) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #6 0x113dbc6c8 in dyld4::RuntimeState::withLoadersReadLock(void () block_pointer)+0x28 (dyld:x86_64+0xa6c8) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #7 0x113dc10e1 in dyld4::RuntimeState::setObjCNotifiers(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x51 (dyld:x86_64+0xf0e1) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #8 0x113dd4d44 in dyld4::APIs::_dyld_objc_notify_register(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x4e (dyld:x86_64+0x22d44) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #9 0x7ff801b38343 in _objc_init+0x4fe (libobjc.A.dylib:x86_64h+0x1343) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #10 0x7ff801af2992 in _os_object_init+0xc (libdispatch.dylib:x86_64+0x2992) (BuildId: 5115c8efbc5732db91c671b61a79966e32000000200000000100000000050c00)
      #11 0x7ff801b001b7 in libdispatch_init+0x136 (libdispatch.dylib:x86_64+0x101b7) (BuildId: 5115c8efbc5732db91c671b61a79966e32000000200000000100000000050c00)
      #12 0x7ff80caa4894 in libSystem_initializer+0xed (libSystem.B.dylib:x86_64+0x1894) (BuildId: ba73a734cc563c50a9c8513b34b3726932000000200000000100000000050c00)
      #13 0x113dc6e4e in invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0xb5 (dyld:x86_64+0x14e4e) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #14 0x113dedaac in invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const+0xf1 (dyld:x86_64+0x3baac) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #15 0x113de4e25 in invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const+0x22c (dyld:x86_64+0x32e25) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #16 0x113db3db2 in dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const+0x80 (dyld:x86_64+0x1db2) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #17 0x113de4bb6 in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const+0xb2 (dyld:x86_64+0x32bb6) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #18 0x113ded603 in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const+0x1d1 (dyld:x86_64+0x3b603) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #19 0x113dc6d81 in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0x8f (dyld:x86_64+0x14d81) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #20 0x113dcd659 in dyld4::PrebuiltLoader::runInitializers(dyld4::RuntimeState&) const+0x1d (dyld:x86_64+0x1b659) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #21 0x113dda76d in dyld4::APIs::runAllInitializersForMain()+0x25 (dyld:x86_64+0x2876d) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #22 0x113db838c in dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*)+0xd72 (dyld:x86_64+0x638c) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #23 0x113db74e3 in start+0x183 (dyld:x86_64+0x54e3) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)

  Direct leak of 160 byte(s) in 5 object(s) allocated from:
      #0 0x1055697fd in wrap_calloc+0x5d (librustc-nightly_rt.lsan.dylib:x86_64+0xb7fd) (BuildId: 8c28f22865823830a53915a56e9223bb240000001000000000070a0000010c00)
      #1 0x7ff801b3b84f in realizeClassWithoutSwift(objc_class*, objc_class*)+0x88 (libobjc.A.dylib:x86_64h+0x484f) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #2 0x7ff801b3b91b in realizeClassWithoutSwift(objc_class*, objc_class*)+0x154 (libobjc.A.dylib:x86_64h+0x491b) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #3 0x7ff801b3b8f8 in realizeClassWithoutSwift(objc_class*, objc_class*)+0x131 (libobjc.A.dylib:x86_64h+0x48f8) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #4 0x7ff801b39b59 in map_images_nolock+0x161b (libobjc.A.dylib:x86_64h+0x2b59) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #5 0x7ff801b384db in map_images+0x42 (libobjc.A.dylib:x86_64h+0x14db) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #6 0x113dc11fa in invocation function for block in dyld4::RuntimeState::setObjCNotifiers(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x112 (dyld:x86_64+0xf1fa) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #7 0x113dbc6c8 in dyld4::RuntimeState::withLoadersReadLock(void () block_pointer)+0x28 (dyld:x86_64+0xa6c8) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #8 0x113dc10e1 in dyld4::RuntimeState::setObjCNotifiers(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x51 (dyld:x86_64+0xf0e1) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #9 0x113dd4d44 in dyld4::APIs::_dyld_objc_notify_register(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x4e (dyld:x86_64+0x22d44) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #10 0x7ff801b38343 in _objc_init+0x4fe (libobjc.A.dylib:x86_64h+0x1343) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #11 0x7ff801af2992 in _os_object_init+0xc (libdispatch.dylib:x86_64+0x2992) (BuildId: 5115c8efbc5732db91c671b61a79966e32000000200000000100000000050c00)
      #12 0x7ff801b001b7 in libdispatch_init+0x136 (libdispatch.dylib:x86_64+0x101b7) (BuildId: 5115c8efbc5732db91c671b61a79966e32000000200000000100000000050c00)
      #13 0x7ff80caa4894 in libSystem_initializer+0xed (libSystem.B.dylib:x86_64+0x1894) (BuildId: ba73a734cc563c50a9c8513b34b3726932000000200000000100000000050c00)
      #14 0x113dc6e4e in invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0xb5 (dyld:x86_64+0x14e4e) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #15 0x113dedaac in invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const+0xf1 (dyld:x86_64+0x3baac) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #16 0x113de4e25 in invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const+0x22c (dyld:x86_64+0x32e25) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #17 0x113db3db2 in dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const+0x80 (dyld:x86_64+0x1db2) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #18 0x113de4bb6 in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const+0xb2 (dyld:x86_64+0x32bb6) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #19 0x113ded603 in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const+0x1d1 (dyld:x86_64+0x3b603) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #20 0x113dc6d81 in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0x8f (dyld:x86_64+0x14d81) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #21 0x113dcd659 in dyld4::PrebuiltLoader::runInitializers(dyld4::RuntimeState&) const+0x1d (dyld:x86_64+0x1b659) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #22 0x113dda76d in dyld4::APIs::runAllInitializersForMain()+0x25 (dyld:x86_64+0x2876d) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #23 0x113db838c in dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*)+0xd72 (dyld:x86_64+0x638c) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #24 0x113db74e3 in start+0x183 (dyld:x86_64+0x54e3) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)

  Direct leak of 160 byte(s) in 5 object(s) allocated from:
      #0 0x1055697fd in wrap_calloc+0x5d (librustc-nightly_rt.lsan.dylib:x86_64+0xb7fd) (BuildId: 8c28f22865823830a53915a56e9223bb240000001000000000070a0000010c00)
      #1 0x7ff801b3b84f in realizeClassWithoutSwift(objc_class*, objc_class*)+0x88 (libobjc.A.dylib:x86_64h+0x484f) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #2 0x7ff801b3b8f8 in realizeClassWithoutSwift(objc_class*, objc_class*)+0x131 (libobjc.A.dylib:x86_64h+0x48f8) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #3 0x7ff801b39b59 in map_images_nolock+0x161b (libobjc.A.dylib:x86_64h+0x2b59) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #4 0x7ff801b384db in map_images+0x42 (libobjc.A.dylib:x86_64h+0x14db) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #5 0x113dc11fa in invocation function for block in dyld4::RuntimeState::setObjCNotifiers(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x112 (dyld:x86_64+0xf1fa) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #6 0x113dbc6c8 in dyld4::RuntimeState::withLoadersReadLock(void () block_pointer)+0x28 (dyld:x86_64+0xa6c8) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #7 0x113dc10e1 in dyld4::RuntimeState::setObjCNotifiers(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x51 (dyld:x86_64+0xf0e1) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #8 0x113dd4d44 in dyld4::APIs::_dyld_objc_notify_register(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x4e (dyld:x86_64+0x22d44) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #9 0x7ff801b38343 in _objc_init+0x4fe (libobjc.A.dylib:x86_64h+0x1343) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #10 0x7ff801af2992 in _os_object_init+0xc (libdispatch.dylib:x86_64+0x2992) (BuildId: 5115c8efbc5732db91c671b61a79966e32000000200000000100000000050c00)
      #11 0x7ff801b001b7 in libdispatch_init+0x136 (libdispatch.dylib:x86_64+0x101b7) (BuildId: 5115c8efbc5732db91c671b61a79966e32000000200000000100000000050c00)
      #12 0x7ff80caa4894 in libSystem_initializer+0xed (libSystem.B.dylib:x86_64+0x1894) (BuildId: ba73a734cc563c50a9c8513b34b3726932000000200000000100000000050c00)
      #13 0x113dc6e4e in invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0xb5 (dyld:x86_64+0x14e4e) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #14 0x113dedaac in invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const+0xf1 (dyld:x86_64+0x3baac) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #15 0x113de4e25 in invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const+0x22c (dyld:x86_64+0x32e25) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #16 0x113db3db2 in dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const+0x80 (dyld:x86_64+0x1db2) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #17 0x113de4bb6 in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const+0xb2 (dyld:x86_64+0x32bb6) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #18 0x113ded603 in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const+0x1d1 (dyld:x86_64+0x3b603) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #19 0x113dc6d81 in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0x8f (dyld:x86_64+0x14d81) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #20 0x113dcd659 in dyld4::PrebuiltLoader::runInitializers(dyld4::RuntimeState&) const+0x1d (dyld:x86_64+0x1b659) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #21 0x113dda76d in dyld4::APIs::runAllInitializersForMain()+0x25 (dyld:x86_64+0x2876d) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #22 0x113db838c in dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*)+0xd72 (dyld:x86_64+0x638c) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #23 0x113db74e3 in start+0x183 (dyld:x86_64+0x54e3) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)

  Direct leak of 32 byte(s) in 1 object(s) allocated from:
      #0 0x1055697fd in wrap_calloc+0x5d (librustc-nightly_rt.lsan.dylib:x86_64+0xb7fd) (BuildId: 8c28f22865823830a53915a56e9223bb240000001000000000070a0000010c00)
      #1 0x7ff801b3b84f in realizeClassWithoutSwift(objc_class*, objc_class*)+0x88 (libobjc.A.dylib:x86_64h+0x484f) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #2 0x7ff801b3b91b in realizeClassWithoutSwift(objc_class*, objc_class*)+0x154 (libobjc.A.dylib:x86_64h+0x491b) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #3 0x7ff801b3b8f8 in realizeClassWithoutSwift(objc_class*, objc_class*)+0x131 (libobjc.A.dylib:x86_64h+0x48f8) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #4 0x7ff801b3b8f8 in realizeClassWithoutSwift(objc_class*, objc_class*)+0x131 (libobjc.A.dylib:x86_64h+0x48f8) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #5 0x7ff801b39b59 in map_images_nolock+0x161b (libobjc.A.dylib:x86_64h+0x2b59) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #6 0x7ff801b384db in map_images+0x42 (libobjc.A.dylib:x86_64h+0x14db) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #7 0x113dc11fa in invocation function for block in dyld4::RuntimeState::setObjCNotifiers(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x112 (dyld:x86_64+0xf1fa) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #8 0x113dbc6c8 in dyld4::RuntimeState::withLoadersReadLock(void () block_pointer)+0x28 (dyld:x86_64+0xa6c8) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #9 0x113dc10e1 in dyld4::RuntimeState::setObjCNotifiers(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x51 (dyld:x86_64+0xf0e1) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #10 0x113dd4d44 in dyld4::APIs::_dyld_objc_notify_register(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x4e (dyld:x86_64+0x22d44) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #11 0x7ff801b38343 in _objc_init+0x4fe (libobjc.A.dylib:x86_64h+0x1343) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #12 0x7ff801af2992 in _os_object_init+0xc (libdispatch.dylib:x86_64+0x2992) (BuildId: 5115c8efbc5732db91c671b61a79966e32000000200000000100000000050c00)
      #13 0x7ff801b001b7 in libdispatch_init+0x136 (libdispatch.dylib:x86_64+0x101b7) (BuildId: 5115c8efbc5732db91c671b61a79966e32000000200000000100000000050c00)
      #14 0x7ff80caa4894 in libSystem_initializer+0xed (libSystem.B.dylib:x86_64+0x1894) (BuildId: ba73a734cc563c50a9c8513b34b3726932000000200000000100000000050c00)
      #15 0x113dc6e4e in invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0xb5 (dyld:x86_64+0x14e4e) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #16 0x113dedaac in invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const+0xf1 (dyld:x86_64+0x3baac) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #17 0x113de4e25 in invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const+0x22c (dyld:x86_64+0x32e25) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #18 0x113db3db2 in dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const+0x80 (dyld:x86_64+0x1db2) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #19 0x113de4bb6 in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const+0xb2 (dyld:x86_64+0x32bb6) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #20 0x113ded603 in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const+0x1d1 (dyld:x86_64+0x3b603) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #21 0x113dc6d81 in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0x8f (dyld:x86_64+0x14d81) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #22 0x113dcd659 in dyld4::PrebuiltLoader::runInitializers(dyld4::RuntimeState&) const+0x1d (dyld:x86_64+0x1b659) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #23 0x113dda76d in dyld4::APIs::runAllInitializersForMain()+0x25 (dyld:x86_64+0x2876d) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #24 0x113db838c in dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*)+0xd72 (dyld:x86_64+0x638c) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #25 0x113db74e3 in start+0x183 (dyld:x86_64+0x54e3) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)

  Direct leak of 32 byte(s) in 1 object(s) allocated from:
      #0 0x1055697fd in wrap_calloc+0x5d (librustc-nightly_rt.lsan.dylib:x86_64+0xb7fd) (BuildId: 8c28f22865823830a53915a56e9223bb240000001000000000070a0000010c00)
      #1 0x7ff801b3b84f in realizeClassWithoutSwift(objc_class*, objc_class*)+0x88 (libobjc.A.dylib:x86_64h+0x484f) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #2 0x7ff801b3b8f8 in realizeClassWithoutSwift(objc_class*, objc_class*)+0x131 (libobjc.A.dylib:x86_64h+0x48f8) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #3 0x7ff801b3b8f8 in realizeClassWithoutSwift(objc_class*, objc_class*)+0x131 (libobjc.A.dylib:x86_64h+0x48f8) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #4 0x7ff801b39b59 in map_images_nolock+0x161b (libobjc.A.dylib:x86_64h+0x2b59) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #5 0x7ff801b384db in map_images+0x42 (libobjc.A.dylib:x86_64h+0x14db) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #6 0x113dc11fa in invocation function for block in dyld4::RuntimeState::setObjCNotifiers(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x112 (dyld:x86_64+0xf1fa) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #7 0x113dbc6c8 in dyld4::RuntimeState::withLoadersReadLock(void () block_pointer)+0x28 (dyld:x86_64+0xa6c8) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #8 0x113dc10e1 in dyld4::RuntimeState::setObjCNotifiers(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x51 (dyld:x86_64+0xf0e1) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #9 0x113dd4d44 in dyld4::APIs::_dyld_objc_notify_register(void (*)(unsigned int, char const* const*, mach_header const* const*), void (*)(char const*, mach_header const*), void (*)(char const*, mach_header const*))+0x4e (dyld:x86_64+0x22d44) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #10 0x7ff801b38343 in _objc_init+0x4fe (libobjc.A.dylib:x86_64h+0x1343) (BuildId: dad8610317e93016930d02cad81a5ed932000000200000000100000000050c00)
      #11 0x7ff801af2992 in _os_object_init+0xc (libdispatch.dylib:x86_64+0x2992) (BuildId: 5115c8efbc5732db91c671b61a79966e32000000200000000100000000050c00)
      #12 0x7ff801b001b7 in libdispatch_init+0x136 (libdispatch.dylib:x86_64+0x101b7) (BuildId: 5115c8efbc5732db91c671b61a79966e32000000200000000100000000050c00)
      #13 0x7ff80caa4894 in libSystem_initializer+0xed (libSystem.B.dylib:x86_64+0x1894) (BuildId: ba73a734cc563c50a9c8513b34b3726932000000200000000100000000050c00)
      #14 0x113dc6e4e in invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0xb5 (dyld:x86_64+0x14e4e) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #15 0x113dedaac in invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const+0xf1 (dyld:x86_64+0x3baac) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #16 0x113de4e25 in invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const+0x22c (dyld:x86_64+0x32e25) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #17 0x113db3db2 in dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const+0x80 (dyld:x86_64+0x1db2) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #18 0x113de4bb6 in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const+0xb2 (dyld:x86_64+0x32bb6) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #19 0x113ded603 in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const+0x1d1 (dyld:x86_64+0x3b603) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #20 0x113dc6d81 in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0x8f (dyld:x86_64+0x14d81) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #21 0x113dcd659 in dyld4::PrebuiltLoader::runInitializers(dyld4::RuntimeState&) const+0x1d (dyld:x86_64+0x1b659) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #22 0x113dda76d in dyld4::APIs::runAllInitializersForMain()+0x25 (dyld:x86_64+0x2876d) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #23 0x113db838c in dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*)+0xd72 (dyld:x86_64+0x638c) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)
      #24 0x113db74e3 in start+0x183 (dyld:x86_64+0x54e3) (BuildId: f71fb3ca5fcc35779457b047888a46d132000000200000000100000000050c00)

  SUMMARY: LeakSanitizer: 4160 byte(s) leaked in 130 allocation(s).

Originally posted by @lopopolo in #50 (comment)

@lopopolo
Copy link
Collaborator Author

After some investigation in #54 (comment), #54 (comment), #54 (comment), and #54 (comment), I believe this to be not this crate's bug.

The leaks come from deep within the objective-c runtime and are out of scope. Closing as not actionable.

@lopopolo lopopolo closed this as not planned Won't fix, can't repro, duplicate, stale Aug 15, 2022
@lopopolo lopopolo added the Tier-1 Rust Tier-1 platform label Oct 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Tier-1 Rust Tier-1 platform
Projects
None yet
Development

No branches or pull requests

1 participant