toge's diary

コンピュータ関連の趣味をつらつらと。

failmalloc

http://www.nongnu.org/failmalloc/

最近はやっているみたいなので入れてみた。
自分のプログラムで使ってみるとあっさりsegfault。やられた。

ulimit -c unlimited 

としてcoreを吐くようにして、gdbで追ってみる・・・。

% gdb ./hogehoge core.15057
....
(gdb) bt
#0  0x076c31ce in _nv000063gl () from /usr/lib/nvidia/libGLcore.so.1
#1  0x00000006 in ?? ()
Previous frame inner to this frame (corrupt stack?) 

ぐへ、GLcoreの中で死んでるよ。これはどうしようもない気がする。
はてさて、こういう場合はどうすればいいんだ?
nVidiaに文句言えばいいんだろうか?

valgrindにしろ、failmallocにしろ、OpenGLの中で大量にメモリー周りの処理ミスがあるのは堪忍して欲しい。nVidiaの純正ドライバーを使っている限り、ミッションクリティカルな所には使えないってことか。