OpenHFT / OpenHFT/Java-Thread-Affinity
LinuxHelper.sched_getcpu() uses wrong syscall number: 318 (getrandom) instead of 309 (getcpu) on x86_64
まだ誰も着手していません。
- 主要言語
- Java
- スター
- 1.9k
- フォーク
- 367
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
In LinuxHelper.sched_getcpu(), the fallback path calls lib.syscall(318, cpu, node, null) intending to invoke getcpu. However, on x86_64 Linux:
__NR_getcpu = 309
__NR_getrandom = 318
So the code is actually invoking getrandom(2) with incorrect arguments rather than getcpu(2).
Location: net.openhft.affinity.impl.LinuxHelper, method sched_getcpu(), in the UnsatisfiedLinkError catch block.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
LinuxHelper.sched_getcpu()から始め、具体的にはlib.syscallを呼び出すUnsatisfiedLinkErrorのフォールバックを確認してください。issueの説明と照らし合わせてx86_64のsyscall番号を確認し、getcpuの番号を使用するようにフォールバックを更新し、フォールバックがgetrandomではなくgetcpuを呼び出すことを検証してください。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- operating-systems
- issue の種類
- バグ
- 難易度
- 1/5
- 見積もり時間
- 1時間未満
- 活発さ
- 静か
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 68/100