Undefined behaviour when calling ioctl() multiple times
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- java
調査の方向性
まず LibC インターフェースと issue に記載された getWindowSize() の再現から始め、次に指定された macOS、Apple M1、GraalVM のセットアップでループを実行します。ioctl() の呼び出しを繰り返す際に、winsize 引数が JNA を通じてどのように表現され、渡されるかを調査します。繰り返し呼び出してもエラーが返されず、SIGSEGV、違法命令、またはヒープ破損で終了しなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
JNA version: 5.15.0
JVM: GraalVM CE 17.0.9+9.1 (build 17.0.9+9-jvmci-23.0-b22)
OS: macOS 14.7
CPU: Apple M1 (64-bit)
public interface LibC extends Library {
LibC libC = Native.load("c", LibC.class);
int TIOCGWINSZ = 0x40087468; // this is definitely correct, I've checked it with C
int ioctl(int fd, int request, winsize winsize);
}
public static int getWindowSize() {
val ttysize = new winsize();
val returnCode = libC.ioctl(0, TIOCGWINSZ, ttysize);
if (returnCode != 0) {
throw new RuntimeException("There was a problem calling ioctl(): " + returnCode);
}
return ttysize.ws_col;
}
for (int i = 0; i < 100; i++) {
System.out.println(getWindowSize());
}
running this code results in either:
- ioctl() returning -1
- SIGSEGV
- Illegal instruction: 4
- Heap corruption detected
- 主要言語
- Java
- スター
- 8.9k
- フォーク
- 1.7k
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
java-native-access/jna のほかの issue
-
Incorrect mapping of c.s.j.platform.unix.solaris.LibKstat.KstatCtl対応中かも @dbwiddis が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
java-native-access/jna#1740 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 66/100
java-native-access/jna#1738 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
java-native-access/jna#1736 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
java-native-access/jna#1717 ·
-
Windows32Exception - The parameter is incorrect再び着手できるかも @marktech0813 が 331 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
java-native-access/jna#1700 · コメント 11 件 ·
java-native-access/jna の issue をすべて見る
似ている issue
-
backend
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
bcgov/nr-forest-client#2524 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
team:Lumberjack
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
OpenLiberty/open-liberty#35998 ·
メンテナーはふだん 1 日以内に返信
-
[BUG] SQS SendMessageBatch accepts more than 10 entries instead of TooManyEntriesInBatchRequest対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
floci-io/floci#5319 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信