Alpine Linuxでlldbがハングする

Alpine Linuxでlldbがハングする

Alpine Linux V3.8でlldbを実行しようとしていますが、プログラムをデバッグしようとすると中断されます。

私はedge/testing現在、Alpineリポジトリで利用可能な唯一のバージョンであるリポジトリのlldb 5.0.1-r0を使用しています。

lldb policy:
  5.0.1-r0:
    lib/apk/db/installed
    http://dl-cdn.alpinelinux.org/alpine/edge/testing

straceを実行すると、ミューテックスを待っている間停止しているようです。

...
mmap(NULL, 94208, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb866f10000
mprotect(0x7fb866f12000, 86016, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fb866f26a68, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tidptr=0x7fb866f26b20, tls=0x7fb866f26ae8, child_tidptr=0x7fb866f26b20) = 4302
futex(0x7fb866f3db20, FUTEX_WAIT, 4300, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=4301, si_uid=1000, si_status=1, si_utime=1, si_stime=0} ---
futex(0x7fb866f3db20, FUTEX_WAIT, 4300, NULL

このスレッドに続いて、Debian 8のLLDB 3.8.0で、次のように説明されている非常に似た問題が見つかりました。ここしかし、残念ながら解決策はありません。

これはAlpineのlldbに関連する既知の問題ですか、それともいくつかの設定手順がありませんか?

次のステップは、ソースから最新のlldbを構築することですが、パッケージバージョンで作業する方が良いでしょう。とても感謝しています!

ベストアンサー1

公式ビルドのガイドラインに従って、最新のソース8.0.0トランクから機能的なlldbをビルドすることができました。https://lldb.llvm.org/build.html、次のCMakeパラメータを使用します。

cmake ../llvm -GNinja -DCMAKE_BUILD_TYPE=Release

ビルドするのに少し時間がかかりましたが、中断されずに正常に動作するように見える素晴らしいlldbビルドが作成されました。

lldb=5.0.1-r0少なくとも私のAlpine設定では、このパッケージは実際に破損しているようです。

おすすめ記事