

XcodeでPlaygroundを実行したところ、エラーメッセージが表示されて動作しません。

[手順]  
下記サイトを参考にXcode betaとSwift for TensorFlowを導入しました。  
<https://github.com/tensorflow/swift/blob/master/Usage.md>

Xcode beta上でToolchainsにSwift for
TensorFlowを設定した後に、サイトを参考にPlaygroundで以下のコードを実行したところエラーが発生しました。

[code]

    import TensorFlow
    
    let x = Tensor<Float>([[1, 2], [3, 4]])
    print(x)
    
[/code]

[エラーメッセージ]  
The LLDB RPC server has crashed.

上記エラーの解消方法を教えてください。  
よろしくお願いします。


CC BY-SA 4.0
2018-10-03T07:09:32.497
48923
2018-10-05T19:43:05.460
30340
question
swift tensorflow
Swift for TensorFlowがPlaygroundで動作しない


はじめまして。同じようにTensorFlowを導入してみましたが、同じように落ちるようです。  
こちらの環境は、

  * macOS X 10.14 (Mojave)
  * Xcode 10.0 (App Storeからダウンロードのため、β番ではありません）
  * TensorFlow 質問にあったもの? (September 17, 2018 非CUDA版です)

と、なりますが、

  * Useageに記述のあったREPLは、`/Library/Developer/Toolchains/swift-latest/usr/bin/swift`を`Terminal`から起動し、REPLサンプルを実行 → 正常動作
  * `Xcode`の`Toolchain`を変更し、`Playground`を作成して質問にあったサンプルを入力 → RPCエラー

その際のエラーの具体的な内容は  
`~/Library/Logs/DiagnosticReports`というディレクトリーに、  
`lldb-rpc-server_[日付]-[プロセス番号？]_[自分のマシン名].crash`  
というファイルが作成されており、内容を確認すると、

[code]

    Process:               lldb-rpc-server [62885]
    Path:                  /Applications/Xcode.app/Contents/SharedFrameworks/LLDBRPC.framework/Versions/A/Resources/lldb-rpc-server
    Identifier:            lldb-rpc-server
    Version:               2
    Code Type:             X86-64 (Native)
    Parent Process:        Xcode [62870]
    Responsible:           lldb-rpc-server [62885]
    User ID:               501
    
    Date/Time:             2018-10-06 03:56:20.527 +0900
    OS Version:            Mac OS X 10.14 (18A391)
    Report Version:        12
    Bridge OS Version:     3.0 (16P375)
    Anonymous UUID:        52707192-7890-DB55-F0A7-F9A15E883136
    
    
    Time Awake Since Boot: 780000 seconds
    
    System Integrity Protection: enabled
    
    Crashed Thread:        6  <lldb.process.internal-state(pid=62905)>
    
    Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
    Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000
    Exception Note:        EXC_CORPSE_NOTIFY
    
    Termination Signal:    Segmentation fault: 11
    Termination Reason:    Namespace SIGNAL, Code 0xb
    Terminating Process:   exc handler [62885]
    
    VM Regions Near 0:
    -->
        __TEXT                 0000000109f1d000-0000000109fae000 [  580K] r-x/rwx SM=COW  /Applications/Xcode.app/Contents/SharedFrameworks/LLDBRPC.framework/Versions/A/Resources/lldb-rpc-server
    
    Thread 0:: Connection::RunLoop() packet reading thread  Dispatch queue: com.apple.main-thread
    0   libsystem_kernel.dylib              0x00007fff720888a6 read + 10
    1   lldb-rpc-server                     0x0000000109f26f37 rpc_common::RPCConnectionSocket::Read(std::__1::basic_string<unsigned char, std::__1::char_traits<unsigned char>, std::__1::allocator<unsigned char> >&, bool) + 173
    2   lldb-rpc-server                     0x0000000109f2dab7 rpc_common::Connection::ReceivePacket(rpc_common::RPCPacket&) + 149
    3   lldb-rpc-server                     0x0000000109f2d5c0 rpc_common::Connection::RunLoop() + 152
    4   lldb-rpc-server                     0x0000000109f6fbfe main + 494
    5   libdyld.dylib                       0x00007fff71f4e085 start + 1
    
[/code]

と、なっていることから、`import`した`TensorFlow`は、`RPC`（リモートプロシジャコール）という仕組みで別プロセスを起動し、そこにデーターを渡して処理をする仕組みになっているようですが、その処理して欲しいデーターを、処理のために起動したプロセスに渡すところで失敗しているようです。

まず調べてわかったのはここまでで、これ以上は`TensorFlow`をソースからビルドして`Swift for
TensorFlow`の中身を修正しないといけないとおもいますので  
作者にバグレポートを送って修正されるのを待つのが今の段階ではよいような気がします。

質問からは@Shinichiro
Yogoさんが`Swift`や、Macの`PRC`という仕組みをどれ位ご存じか判断しかねるので、もし、@Shinichiro
Yogoさんにこのソースを追跡して、バグを見つけ、直す熱意がおありでしたらそれも良いと思います。


CC BY-SA 4.0
2018-10-05T19:43:05.460
49008
2018-10-05T19:43:05.460
14745
48923
answer