Created
January 2, 2019 21:36
-
-
Save dan-zheng/09ab5f5e77d6fc47b37c483e97685dec to your computer and use it in GitHub Desktop.
Swift AD retain/release error (reported at https://github.com/apple/swift/pull/21577#issuecomment-450963928)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import TensorFlow | |
struct Model: Parameterized, Differentiable { | |
@TFParameter var w: Tensor<Float> | |
func tangentVector(from cotangent: Parameters) -> Parameters { | |
return cotangent | |
} | |
} | |
let model = Model(w: Tensor<Float>(zeros: [5])) | |
let pb = pullback(at: model) { m in m.w } | |
print(pb(Tensor<Float>(zeros: [5]))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
swift -Xllvm -tf-dynamic-compilation crash.swift | |
Stack dump: | |
0. Program arguments: /Users/dan/swift-dev/build/Ninja/swift-macosx-x86_64/bin/swift -frontend -interpret crash.swift -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -Xllvm -tf-dynamic-compilation -color-diagnostics -module-name crash | |
0 swift 0x0000000114516208 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40 | |
1 swift 0x0000000114515485 llvm::sys::RunSignalHandlers() + 85 | |
2 swift 0x0000000114516812 SignalHandler(int) + 258 | |
3 libsystem_platform.dylib 0x00007fff5882ab3d _sigtramp + 29 | |
4 libsystem_platform.dylib 0x00007ffee0bb2ef8 _sigtramp + 2285405144 | |
5 libswiftCore.dylib 0x0000000128fc1a8f swift::HeapObjectSideTableEntry::incrementStrong(unsigned int) + 31 | |
6 libswiftCore.dylib 0x0000000128fc1a52 swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::incrementSlow(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 274 | |
7 libswiftCore.dylib 0x0000000128f36009 swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::increment(unsigned int) + 313 | |
8 libswiftCore.dylib 0x0000000128f2f450 _swift_retain_(swift::HeapObject*) + 64 | |
9 libswiftCore.dylib 0x0000000128f2f404 swift_retain + 36 | |
10 libswiftCore.dylib 0x0000000128f4bfa5 swift::metadataimpl::SwiftRetainableBox::retain(swift::HeapObject*) + 21 | |
11 libswiftCore.dylib 0x0000000128f4bf7c swift::metadataimpl::RetainableBoxBase<swift::metadataimpl::SwiftRetainableBox, swift::HeapObject*>::initializeWithCopy(swift::HeapObject**, swift::HeapObject**) + 28 | |
12 libswiftCore.dylib 0x0000000128f46544 swift::metadataimpl::ValueWitnesses<swift::metadataimpl::SwiftRetainableBox>::initializeWithCopy(swift::OpaqueValue*, swift::OpaqueValue*, swift::TargetMetadata<swift::InProcess> const*) + 36 | |
13 libswiftCore.dylib 0x0000000128f1a24c swift::OpaqueValue* swift::TargetMetadata<swift::InProcess>::vw_initializeWithCopy<swift::OpaqueValue*&, swift::OpaqueValue*&>(swift::OpaqueValue*&, swift::OpaqueValue*&) const + 76 | |
14 libswiftCore.dylib 0x0000000128f62a48 swift::metadataimpl::OpaqueExistentialBox<0u>::Container* swift::metadataimpl::OpaqueExistentialBoxBase::initializeWithCopy<swift::metadataimpl::OpaqueExistentialBox<0u>::Container>(swift::metadataimpl::OpaqueExistentialBox<0u>::Container*, swift::metadataimpl::OpaqueExistentialBox<0u>::Container*) + 120 | |
15 libswiftCore.dylib 0x0000000128f627b4 swift::metadataimpl::ValueWitnesses<swift::metadataimpl::OpaqueExistentialBox<0u> >::initializeWithCopy(swift::OpaqueValue*, swift::OpaqueValue*, swift::TargetMetadata<swift::InProcess> const*) + 36 | |
16 libswiftCore.dylib 0x0000000128b35ee8 $ss22_ContiguousArrayBufferV10getElementyxSiF + 520 | |
17 libswiftCore.dylib 0x0000000128a794a9 $ss22_ContiguousArrayBufferVyxSicig + 41 | |
18 libswiftCore.dylib 0x0000000128a7d440 $ss12_ArrayBufferV10getElement_20wasNativeTypeCheckedxSi_SbtF + 208 | |
19 libswiftCore.dylib 0x0000000128a82a26 $sSa11_getElement_20wasNativeTypeChecked22matchingSubscriptCheckxSi_Sbs16_DependenceTokenVtF + 118 | |
20 libswiftCore.dylib 0x0000000128a834b6 $sSayxSicig + 134 | |
21 libswiftCore.dylib 0x0000000128a852fa $sSayxGSlsSly7ElementQz5IndexQzcigTW + 26 | |
22 libswiftCore.dylib 0x0000000128a5c799 $ss16IndexingIteratorV4next7ElementQzSgyF + 1097 | |
23 libswiftCore.dylib 0x0000000128cdfc3f $ss6_print_9separator10terminator2toySayypG_S2Sxzts16TextOutputStreamRzlF + 591 | |
24 libswiftCore.dylib 0x0000000128cdf9dc $ss5print_9separator10terminatoryypd_S2StF + 828 | |
25 libswiftCore.dylib 0x0000000125d3e35e $ss5print_9separator10terminatoryypd_S2StF + 4245023934 | |
26 swift 0x000000010fc1e11d llvm::MCJIT::runFunction(llvm::Function*, llvm::ArrayRef<llvm::GenericValue>) + 461 | |
27 swift 0x000000010fc21ae1 llvm::ExecutionEngine::runFunctionAsMain(llvm::Function*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, char const* const*) + 1313 | |
28 swift 0x000000010f215fb0 swift::RunImmediately(swift::CompilerInstance&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, swift::IRGenOptions&, swift::SILOptions const&) + 8848 | |
29 swift 0x000000010f16d46a processCommandLineAndRunImmediately(swift::CompilerInvocation&, swift::CompilerInstance&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::FrontendObserver*, int&) + 1370 | |
30 swift 0x000000010f1455af performCompileStepsPostSILGen(swift::CompilerInstance&, swift::CompilerInvocation&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, bool, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, bool, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 5551 | |
31 swift 0x000000010f137799 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 2665 | |
32 swift 0x000000010f134f27 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 5063 | |
33 swift 0x000000010f051ef5 run_driver(llvm::StringRef, llvm::ArrayRef<char const*>) + 917 | |
34 swift 0x000000010f050702 main + 3730 | |
35 libdyld.dylib 0x00007fff5864108d start + 1 | |
36 libdyld.dylib 0x000000000000000c start + 2812014464 | |
[1] 26069 segmentation fault ./build/Ninja-KeyPathIterable/swift-macosx-x86_64/bin/swift -Xllvm |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ ./build/Ninja/swift-macosx-x86_64/bin/swift crash.swift | |
<unknown>:0: warning: value implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
<unknown>:0: warning: value implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
<unknown>:0: warning: value implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
<unknown>:0: warning: value implicitly copied to the host, use .toHost() to make transfer explicit | |
<unknown>:0: error: located in static Model.Parameters.__derived_struct_equals(_:_:) aka '$s5crash5ModelV10ParametersV23__derived_struct_equalsySbAE_AEtFZ' | |
<unknown>:0: warning: value implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
# Note: with GPE, you can reliably expect derived `==` implementations to cause such errors. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment