メインコンテンツまでスキップ

謎の GC_free クラッシュ

ftxui::component を導入したあたりから、 クラッシュするようになった。

何故か、ftxui::Event のデストラクター内の、 std::string のデストラクター経由で、 GC_free のアクセス違反になっている。

GC_API void GC_CALL GC_free(void * p)
{{

sz = (size_t)hhdr->hb_sz;

謎。 とりあえず gc_cpp をやめよう。 数が少ないのですぐできる。

#include <gc_cpp.h>

struct Hoge : public gc_cleanup {
};

GC 全部を除去するのは量的に遠いので困った。 普通にメモリー破壊があって、結果として この表れ方をしているような気がするが…

なおったぽい?

ビルドからも gc の c++ 要素を取り除いたらなおった。 new, delete の演算子オーバーロードで、 知らないところで gc が動いている? ftxui の Windows 版の event read が別スレッドなのも、 問題を顕在化させたかもしれない。