Skip to content

Instantly share code, notes, and snippets.

@dan-zheng
Created July 13, 2018 21:54
Show Gist options
  • Save dan-zheng/26430f8186852fbf1123aeb7d93ec188 to your computer and use it in GitHub Desktop.
Save dan-zheng/26430f8186852fbf1123aeb7d93ec188 to your computer and use it in GitHub Desktop.
Codable conformance for Tensor crashes
import TensorFlow
import Foundation
func testTensor() throws {
let tensor = Tensor<Int32>(shape: [2, 3], scalars: Array(1...6))
let encoder = JSONEncoder()
let data = try encoder.encode(tensor)
}
try testTensor()
$ swift -Xllvm -tf-dump-intermediates -O codable.swift
--- TFDeabstraction Input: $S7codable10testTensoryyKF
// testTensor()
sil hidden @$S7codable10testTensoryyKF : $@convention(thin) () -> @error Error {
bb0:
debug_value undef : $Error, var, name "$error", argno 1 // id: %0
%1 = metatype $@thin Tensor<Int32>.Type // user: %49
%2 = metatype $@thin TensorShape.Type // user: %20
%3 = integer_literal $Builtin.Word, 2 // user: %5
// function_ref _allocateUninitializedArray<A>(_:)
%4 = function_ref @$Ss27_allocateUninitializedArrayySayxG_BptBwlF : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %5
%5 = apply %4<Int32>(%3) : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // users: %9, %6, %8
%6 = tuple_extract %5 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %20, %7
retain_value %6 : $Array<Int32> // id: %7
%8 = tuple_extract %5 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %10
release_value %5 : $(Array<Int32>, Builtin.RawPointer) // id: %9
%10 = pointer_to_address %8 : $Builtin.RawPointer to [strict] $*Int32 // users: %13, %15
%11 = integer_literal $Builtin.Int32, 2 // user: %12
%12 = struct $Int32 (%11 : $Builtin.Int32) // user: %13
store %12 to %10 : $*Int32 // id: %13
%14 = integer_literal $Builtin.Word, 1 // user: %15
%15 = index_addr %10 : $*Int32, %14 : $Builtin.Word // user: %18
%16 = integer_literal $Builtin.Int32, 3 // user: %17
%17 = struct $Int32 (%16 : $Builtin.Int32) // user: %18
store %17 to %15 : $*Int32 // id: %18
// function_ref TensorShape.init(arrayLiteral:)
%19 = function_ref @$S10TensorFlow0A5ShapeV12arrayLiteralACs5Int32Vd_tcfC : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %20
%20 = apply %19(%6, %2) : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %49
%21 = metatype $@thin Array<Int32>.Type // user: %45
%22 = alloc_stack $ClosedRange<Int32> // users: %35, %41, %47
%23 = metatype $@thin Int32.Type
%24 = integer_literal $Builtin.Int32, 1 // user: %25
%25 = struct $Int32 (%24 : $Builtin.Int32) // user: %31
%26 = integer_literal $Builtin.Int32, 6 // user: %27
%27 = struct $Int32 (%26 : $Builtin.Int32) // user: %33
br bb2 // id: %28
bb1: // Preds: bb3
%29 = metatype $@thin ClosedRange<Int32>.Type // user: %35
%30 = alloc_stack $Int32 // users: %31, %37, %35
store %25 to %30 : $*Int32 // id: %31
%32 = alloc_stack $Int32 // users: %33, %36, %35
store %27 to %32 : $*Int32 // id: %33
// function_ref ClosedRange.init(uncheckedBounds:)
%34 = function_ref @$Ss11ClosedRangeV15uncheckedBoundsAByxGx5lower_x5uppert_tcfC : $@convention(method) <τ_0_0 where τ_0_0 : Comparable> (@in τ_0_0, @in τ_0_0, @thin ClosedRange<τ_0_0>.Type) -> @out ClosedRange<τ_0_0> // user: %35
%35 = apply %34<Int32>(%22, %30, %32, %29) : $@convention(method) <τ_0_0 where τ_0_0 : Comparable> (@in τ_0_0, @in τ_0_0, @thin ClosedRange<τ_0_0>.Type) -> @out ClosedRange<τ_0_0>
dealloc_stack %32 : $*Int32 // id: %36
dealloc_stack %30 : $*Int32 // id: %37
br bb4 // id: %38
bb2: // Preds: bb0
br bb3 // id: %39
bb3: // Preds: bb2
br bb1 // id: %40
bb4: // Preds: bb1
%41 = load %22 : $*ClosedRange<Int32> // user: %43
%42 = alloc_stack $ClosedRange<Int32> // users: %43, %46, %45
store %41 to %42 : $*ClosedRange<Int32> // id: %43
// function_ref Array.init<A>(_:)
%44 = function_ref @$SSaySayxGqd__c7ElementQyd__Rszs8SequenceRd__lufC : $@convention(method) <τ_0_0><τ_1_0 where τ_0_0 == τ_1_0.Element, τ_1_0 : Sequence> (@in τ_1_0, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %45
%45 = apply %44<Int32, ClosedRange<Int32>>(%42, %21) : $@convention(method) <τ_0_0><τ_1_0 where τ_0_0 == τ_1_0.Element, τ_1_0 : Sequence> (@in τ_1_0, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %49
dealloc_stack %42 : $*ClosedRange<Int32> // id: %46
dealloc_stack %22 : $*ClosedRange<Int32> // id: %47
// function_ref Tensor.init(shape:scalars:)
%48 = function_ref @$S10TensorFlow0A0V5shape7scalarsACyxGAA0A5ShapeV_SayxGtcfC : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@owned TensorShape, @owned Array<τ_0_0>, @thin Tensor<τ_0_0>.Type) -> @owned Tensor<τ_0_0> // user: %49
%49 = apply %48<Int32>(%20, %45, %1) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@owned TensorShape, @owned Array<τ_0_0>, @thin Tensor<τ_0_0>.Type) -> @owned Tensor<τ_0_0> // users: %70, %64, %56, %50
debug_value %49 : $Tensor<Int32>, let, name "tensor" // id: %50
%51 = metatype $@thick JSONEncoder.Type // user: %53
// function_ref JSONEncoder.__allocating_init()
%52 = function_ref @$S10Foundation11JSONEncoderCACycfC : $@convention(method) (@thick JSONEncoder.Type) -> @owned JSONEncoder // user: %53
%53 = apply %52(%51) : $@convention(method) (@thick JSONEncoder.Type) -> @owned JSONEncoder // users: %69, %63, %57, %58, %54
debug_value %53 : $JSONEncoder, let, name "encoder" // id: %54
%55 = alloc_stack $Tensor<Int32> // users: %56, %60, %58, %68
store %49 to %55 : $*Tensor<Int32> // id: %56
%57 = class_method %53 : $JSONEncoder, #JSONEncoder.encode!1 : <T where T : Encodable> (JSONEncoder) -> (T) throws -> Data, $@convention(method) <τ_0_0 where τ_0_0 : Encodable> (@in_guaranteed τ_0_0, @guaranteed JSONEncoder) -> (@owned Data, @error Error) // user: %58
try_apply %57<Tensor<Int32>>(%55, %53) : $@convention(method) <τ_0_0 where τ_0_0 : Encodable> (@in_guaranteed τ_0_0, @guaranteed JSONEncoder) -> (@owned Data, @error Error), normal bb5, error bb6 // id: %58
// %59 // users: %62, %61
bb5(%59 : $Data): // Preds: bb4
dealloc_stack %55 : $*Tensor<Int32> // id: %60
debug_value %59 : $Data, let, name "data" // id: %61
release_value %59 : $Data // id: %62
strong_release %53 : $JSONEncoder // id: %63
release_value %49 : $Tensor<Int32> // id: %64
%65 = tuple () // user: %66
return %65 : $() // id: %66
// %67 // user: %71
bb6(%67 : $Error): // Preds: bb4
dealloc_stack %55 : $*Tensor<Int32> // id: %68
strong_release %53 : $JSONEncoder // id: %69
release_value %49 : $Tensor<Int32> // id: %70
throw %67 : $Error // id: %71
} // end sil function '$S7codable10testTensoryyKF'
----
--- TFDeabstraction Result: $S7codable10testTensoryyKF
// testTensor()
sil hidden @$S7codable10testTensoryyKF : $@convention(thin) () -> @error Error {
bb0:
debug_value undef : $Error, var, name "$error", argno 1 // id: %0
%1 = metatype $@thin TensorShape.Type // user: %44
%2 = integer_literal $Builtin.Word, 2 // users: %8, %3
%3 = builtin "zextOrBitCast_Word_Int64"(%2 : $Builtin.Word) : $Builtin.Int64 // users: %6, %4
%4 = struct $Int (%3 : $Builtin.Int64) // users: %22, %11
%5 = integer_literal $Builtin.Int64, 0 // user: %6
%6 = builtin "cmp_slt_Int64"(%5 : $Builtin.Int64, %3 : $Builtin.Int64) : $Builtin.Int1 // user: %7
cond_br %6, bb1, bb3 // id: %7
bb1: // Preds: bb0
%8 = alloc_ref [tail_elems $Int32 * %2 : $Builtin.Word] $_ContiguousArrayStorage<Int32> // user: %11
%9 = metatype $@thin Array<Int32>.Type // user: %11
// function_ref static Array._adoptStorage(_:count:)
%10 = function_ref @$SSa13_adoptStorage_5countSayxG_SpyxGts016_ContiguousArrayB0CyxGn_SitFZ : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %11
%11 = apply %10<Int32>(%8, %4, %9) : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %13, %12
%12 = tuple_extract %11 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %15
%13 = tuple_extract %11 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %14
%14 = struct_extract %13 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %15
br bb2(%12 : $Array<Int32>, %14 : $Builtin.RawPointer) // id: %15
// %16 // user: %18
// %17 // user: %18
bb2(%16 : $Array<Int32>, %17 : $Builtin.RawPointer): // Preds: bb3 bb1
%18 = tuple (%16 : $Array<Int32>, %17 : $Builtin.RawPointer) // user: %19
br bb4(%18 : $(Array<Int32>, Builtin.RawPointer)) // id: %19
bb3: // Preds: bb0
%20 = metatype $@thin Array<Int32>.Type // user: %22
// function_ref static Array._allocateUninitialized(_:)
%21 = function_ref @$SSa22_allocateUninitializedySayxG_SpyxGtSiFZ : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %22
%22 = apply %21<Int32>(%4, %20) : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %24, %23
%23 = tuple_extract %22 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %26
%24 = tuple_extract %22 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %25
%25 = struct_extract %24 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %26
br bb2(%23 : $Array<Int32>, %25 : $Builtin.RawPointer) // id: %26
// %27 // users: %30, %28, %31
bb4(%27 : $(Array<Int32>, Builtin.RawPointer)): // Preds: bb2
%28 = tuple_extract %27 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %47, %44, %42, %29
retain_value %28 : $Array<Int32> // id: %29
%30 = tuple_extract %27 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %32
release_value %27 : $(Array<Int32>, Builtin.RawPointer) // id: %31
%32 = pointer_to_address %30 : $Builtin.RawPointer to [strict] $*Int32 // users: %35, %37
%33 = integer_literal $Builtin.Int32, 2 // user: %34
%34 = struct $Int32 (%33 : $Builtin.Int32) // user: %35
store %34 to %32 : $*Int32 // id: %35
%36 = integer_literal $Builtin.Word, 1 // user: %37
%37 = index_addr %32 : $*Int32, %36 : $Builtin.Word // user: %40
%38 = integer_literal $Builtin.Int32, 3 // user: %39
%39 = struct $Int32 (%38 : $Builtin.Int32) // user: %40
store %39 to %37 : $*Int32 // id: %40
%41 = alloc_stack $TensorShape // users: %49, %48, %45
retain_value %28 : $Array<Int32> // id: %42
// function_ref TensorShape.init(_:)
%43 = function_ref @$S10TensorFlow0A5ShapeVyACSays5Int32VGcfC : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %44
%44 = apply %43(%28, %1) : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // users: %93, %77, %46, %45
store %44 to %41 : $*TensorShape // id: %45
retain_value %44 : $TensorShape // id: %46
release_value %28 : $Array<Int32> // id: %47
destroy_addr %41 : $*TensorShape // id: %48
dealloc_stack %41 : $*TensorShape // id: %49
%50 = metatype $@thin Array<Int32>.Type // user: %74
%51 = alloc_stack $ClosedRange<Int32> // users: %64, %70, %76
%52 = metatype $@thin Int32.Type
%53 = integer_literal $Builtin.Int32, 1 // user: %54
%54 = struct $Int32 (%53 : $Builtin.Int32) // user: %60
%55 = integer_literal $Builtin.Int32, 6 // user: %56
%56 = struct $Int32 (%55 : $Builtin.Int32) // user: %62
br bb6 // id: %57
bb5: // Preds: bb7
%58 = metatype $@thin ClosedRange<Int32>.Type // user: %64
%59 = alloc_stack $Int32 // users: %60, %66, %64
store %54 to %59 : $*Int32 // id: %60
%61 = alloc_stack $Int32 // users: %62, %65, %64
store %56 to %61 : $*Int32 // id: %62
// function_ref ClosedRange.init(uncheckedBounds:)
%63 = function_ref @$Ss11ClosedRangeV15uncheckedBoundsAByxGx5lower_x5uppert_tcfC : $@convention(method) <τ_0_0 where τ_0_0 : Comparable> (@in τ_0_0, @in τ_0_0, @thin ClosedRange<τ_0_0>.Type) -> @out ClosedRange<τ_0_0> // user: %64
%64 = apply %63<Int32>(%51, %59, %61, %58) : $@convention(method) <τ_0_0 where τ_0_0 : Comparable> (@in τ_0_0, @in τ_0_0, @thin ClosedRange<τ_0_0>.Type) -> @out ClosedRange<τ_0_0>
dealloc_stack %61 : $*Int32 // id: %65
dealloc_stack %59 : $*Int32 // id: %66
br bb8 // id: %67
bb6: // Preds: bb4
br bb7 // id: %68
bb7: // Preds: bb6
br bb5 // id: %69
bb8: // Preds: bb5
%70 = load %51 : $*ClosedRange<Int32> // user: %72
%71 = alloc_stack $ClosedRange<Int32> // users: %72, %75, %74
store %70 to %71 : $*ClosedRange<Int32> // id: %72
// function_ref Array.init<A>(_:)
%73 = function_ref @$SSaySayxGqd__c7ElementQyd__Rszs8SequenceRd__lufC : $@convention(method) <τ_0_0><τ_1_0 where τ_0_0 == τ_1_0.Element, τ_1_0 : Sequence> (@in τ_1_0, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %74
%74 = apply %73<Int32, ClosedRange<Int32>>(%71, %50) : $@convention(method) <τ_0_0><τ_1_0 where τ_0_0 == τ_1_0.Element, τ_1_0 : Sequence> (@in τ_1_0, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // users: %80, %92
dealloc_stack %71 : $*ClosedRange<Int32> // id: %75
dealloc_stack %51 : $*ClosedRange<Int32> // id: %76
%77 = struct_extract %44 : $TensorShape, #TensorShape.dimensions // users: %80, %81, %78
retain_value %77 : $Array<Int32> // id: %78
// function_ref __tf_tensor_from_scalars
%79 = function_ref @__tf_tensor_from_scalars : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>, @guaranteed Array<Int32>) -> @owned TensorHandle<τ_0_0> // user: %80
%80 = apply %79<Int32>(%74, %77) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>, @guaranteed Array<Int32>) -> @owned TensorHandle<τ_0_0> // users: %115, %109, %94, %91, %86, %85, %84
release_value %77 : $Array<Int32> // id: %81
%82 = alloc_stack $Tensor<Int32> // users: %83, %87, %90
%83 = struct_element_addr %82 : $*Tensor<Int32>, #Tensor.handle // user: %84
store %80 to %83 : $*TensorHandle<Int32> // id: %84
%85 = struct $Tensor<Int32> (%80 : $TensorHandle<Int32>) // users: %95, %101
strong_retain %80 : $TensorHandle<Int32> // id: %86
%87 = load %82 : $*Tensor<Int32> // user: %88
%88 = struct_extract %87 : $Tensor<Int32>, #Tensor.handle // user: %89
strong_release %88 : $TensorHandle<Int32> // id: %89
dealloc_stack %82 : $*Tensor<Int32> // id: %90
strong_retain %80 : $TensorHandle<Int32> // id: %91
release_value %74 : $Array<Int32> // id: %92
release_value %44 : $TensorShape // id: %93
strong_release %80 : $TensorHandle<Int32> // id: %94
debug_value %85 : $Tensor<Int32>, let, name "tensor" // id: %95
%96 = metatype $@thick JSONEncoder.Type // user: %98
// function_ref JSONEncoder.__allocating_init()
%97 = function_ref @$S10Foundation11JSONEncoderCACycfC : $@convention(method) (@thick JSONEncoder.Type) -> @owned JSONEncoder // user: %98
%98 = apply %97(%96) : $@convention(method) (@thick JSONEncoder.Type) -> @owned JSONEncoder // users: %114, %108, %102, %103, %99
debug_value %98 : $JSONEncoder, let, name "encoder" // id: %99
%100 = alloc_stack $Tensor<Int32> // users: %101, %105, %103, %113
store %85 to %100 : $*Tensor<Int32> // id: %101
%102 = class_method %98 : $JSONEncoder, #JSONEncoder.encode!1 : <T where T : Encodable> (JSONEncoder) -> (T) throws -> Data, $@convention(method) <τ_0_0 where τ_0_0 : Encodable> (@in_guaranteed τ_0_0, @guaranteed JSONEncoder) -> (@owned Data, @error Error) // user: %103
try_apply %102<Tensor<Int32>>(%100, %98) : $@convention(method) <τ_0_0 where τ_0_0 : Encodable> (@in_guaranteed τ_0_0, @guaranteed JSONEncoder) -> (@owned Data, @error Error), normal bb9, error bb10 // id: %103
// %104 // users: %107, %106
bb9(%104 : $Data): // Preds: bb8
dealloc_stack %100 : $*Tensor<Int32> // id: %105
debug_value %104 : $Data, let, name "data" // id: %106
release_value %104 : $Data // id: %107
strong_release %98 : $JSONEncoder // id: %108
strong_release %80 : $TensorHandle<Int32> // id: %109
%110 = tuple () // user: %111
return %110 : $() // id: %111
// %112 // user: %116
bb10(%112 : $Error): // Preds: bb8
dealloc_stack %100 : $*Tensor<Int32> // id: %113
strong_release %98 : $JSONEncoder // id: %114
strong_release %80 : $TensorHandle<Int32> // id: %115
throw %112 : $Error // id: %116
} // end sil function '$S7codable10testTensoryyKF'
----
!!! Compiler bug -- Tensor op builtin __tfop_Shape,$in,T,out_type cannot be lowered to LLVM IR !!!
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/bin/swift[0x418e504]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/bin/swift[0x418c392]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/bin/swift[0x418e6b2]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f7e9423d390]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7f7e8df3b428]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f7e8df3d02a]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/lib/swift/linux/libswiftTensorFlow.so($S10TensorFlow3RawO5shapeyAA0A0Vyq_GAFyxGAA013AccelerableByaB0Rzs13BinaryIntegerR_AaIR_r0_lFZ+0x45)[0x7f7e8288b305]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/lib/swift/linux/libswiftTensorFlow.so($S10TensorFlow0A0V05shapeA0ACys5Int32VGvg+0x3d)[0x7f7e8288221d]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/lib/swift/linux/libswiftTensorFlow.so($S10TensorFlow0A0V5shapeAA0A5ShapeVvg+0x1d)[0x7f7e828a61cd]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/lib/swift/linux/libswiftTensorFlow.so($S10TensorFlow0A0VAAs9DecodableRzs9EncodableRzrlE6encode2toys7Encoder_p_tKF+0x120)[0x7f7e828aa2e0]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/lib/swift/linux/libswiftTensorFlow.so(+0x7c5c0)[0x7f7e828aa5c0]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/lib/swift/linux/libswiftCore.so($Ss9EncodableP6encode2toys7Encoder_p_tKFTj+0x7)[0x7f7e8ae1b697]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/lib/swift/linux/libFoundation.so($S10Foundation11JSONEncoderC6encodeyAA4DataVxKs9EncodableRzlF+0x243)[0x7f7e885f9f33]
[0x7f7e94665265]
[0x7f7e94665016]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/bin/swift[0x10bfb0e]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/bin/swift[0x10c3c32]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/bin/swift[0x4fc752]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/bin/swift[0x4e254d]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/bin/swift[0x4dd894]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/bin/swift[0x48ed12]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f7e8df26830]
/home/danielzheng/swift-dan/swift/swift-nightly-install/usr/bin/swift[0x48bbb9]
Stack dump:
0. Program arguments: /home/danielzheng/swift-dan/swift/swift-nightly-install/usr/bin/swift -frontend -interpret codable.swift -disable-objc-interop -O -Xllvm -tf-dump-intermediates -color-diagnostics -module-name codable
[1] 87039 abort (core dumped) swift/swift-nightly-install/usr/bin/swift -Xllvm -tf-dump-intermediates -O
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment