Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

mysqld crash at duckdb::StandardBufferManager::EvictBlocksOrThrow with release builds

オープン
#137 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
静か
技術スタック
cpp, mysql
領域
databases

調査の方向性

新しい datadir、記載されている DuckDB パラメータ、およびテーブル文を使ってクラッシュを再現し、その後、それらのパラメータなしで再起動した場合の動作を比較してください。standard_buffer_manager.cpp:360 の duckdb::StandardBufferManager::Pin から開始し、EvictBlocksOrThrow の failure を追跡してください。スタックには signal_handler.cc:232 も含まれています。再起動時にクラッシュが発生しなくなり、回帰が適切なテストでカバーされれば完了です。

索引モデルが issue の本文から書いたものです。

説明

commit: 5992bff947a5190565f1b5c4435725a968e37b5d
branch: master

#0 __pthread_kill_implementation (threadid=281473450815552, signo=6, no_tid=)
at pthread_kill.c:44
#1 handle_fatal_signal (sig=6) at signal_handler.cc:232
#2
#3 __pthread_kill_implementation (threadid=281473450815552, signo=signo@entry=6,
no_tid=no_tid@entry=0) at pthread_kill.c:44
#4 __pthread_kill_internal (signo=6, threadid=) at pthread_kill.c:78
#5 __GI_raise (sig=sig@entry=6) at raise.c:26
#6 __GI_abort () at abort.c:79
#7 __gnu_cxx::__verbose_terminate_handler() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#8 ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#9 std::terminate() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#10 __cxa_throw () from /lib/aarch64-linux-gnu/libstdc++.so.6
#11 duckdb::StandardBufferManager::EvictBlocksOrThrow<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > (this=this@entry=,
tag=tag@entry=duckdb::MemoryTag::BASE_TABLE, memory_delta=memory_delta@entry=262144,
buffer=buffer@entry=) at new_allocator.h:104
#12 duckdb::StandardBufferManager::Pin (this=, handle=...) at standard_buffer_manager.cpp:360

  1. Create a fresh datadir with --initialize-insecure
  2. Start the server with the following duckdb parameters
    --duckdb_mode=ON --force_innodb_to_duckdb=ON --duckdb_memory_limit=2147483648 --duckdb_threads=0
  3. Create a table

DROP TABLE IF EXISTS t1;
CREATE TABLE t1(pk INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c1 VARCHAR(255));
INSERT INTO t1(c1) values("how"),("y"),(REPEAT("asda",15));

  1. Stop the server and restart without the duckdb parameters

mysqld crashes

主要言語
C++
スター
6k
フォーク
902
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

alibaba/AliSQL のほかの issue

alibaba/AliSQL の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。