AddressSanitizer: heap-use-after-free on addres xxx
まだ誰も着手していません。
評価
調査の方向性
TokenizerObj.decode() とエントリーポイント tokenizers_decode から開始し、ASan レポートのスタックフレーム HFTokenizer::Decode と比較します。並行デコード中の heap-use-after-free を再現し、関係する所有権またはスレッド処理の境界を特定します。呼び出し元に decode 呼び出しの直列化を要求することなく、再現プログラムが ASan の失敗を報告しなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Asan messages:
READ of size 173 at 0x00766930acc0 thread T7
#0 0x76a133ab38 in __interceptor_memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:827
#1 0x76a0e1a544 in tokenizers::HFTokenizer::Decode[abi:cxx11](std::vector<int, std::allocator<int> > const&)
0x00766930acc0 is located 0 bytes inside of 173-byte region [0x00766930acc0,0x00766930ad6d)
freed by thread T0 here:
#0 0x76a13a9fe8 in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:127
#1 0x76a0e1d654 in tokenizers_decode
previously allocated by thread T7 here:
#0 0x76a13aa2f4 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
#1 0x76a0e2abcc in alloc::str::join_generic_copy::h968362ed642e72e2
My solution:
TokenizerObj.decode() must be called in one thread.
- 主要言語
- C++
- スター
- 514
- フォーク
- 132
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
mlc-ai/tokenizers-cpp のほかの issue
-
Missing Cargo.lockオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
mlc-ai/tokenizers-cpp#96 · コメント 1 件 · リアクション 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
mlc-ai/tokenizers-cpp#88 · リアクション 2 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
mlc-ai/tokenizers-cpp#95 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
mlc-ai/tokenizers-cpp#94 · リアクション 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
mlc-ai/tokenizers-cpp#91 ·
mlc-ai/tokenizers-cpp の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
eclipse-score/inc_someip_gateway#356 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
HarperFast/rocksdb-js#945 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信