ETS instance erased when owner process died
Erlangの組み込みストレージ機能として、オンメモリのETSと、ディスク上にデータを格納するDETSというのがあるが、その機能のテストをコマンドラインから実行していてハマッタというのが↓の話。
This happens frequently while testing Erlang comand-line interface.
like this
44> C = ets:new(nn,).
17
45> ets:all().
[ac_tab,
inet_db,
inet_hosts,
file_io_servers,
inet_cache,
global_pid_ids,
global_names_ext,
global_locks,
global_names,
global_pid_names,
17,
13,
12,
11]
46> ets:info(C).
[{memory,279},
{owner,<0.92.0>},
{name,nn},
{size,0},
{node,nonode@nohost},
{named_table,false},
{type,set},
{keypos,1},
{protection,protected}]
47> [TT] = ets:lookup(C,aa).
=ERROR REPORT==== 27-Jun-2008::16:58:14 ===
Error in process <0.92.0> with exit value: {{badmatch,},[{erl_eval,expr,3}]}
** exited: {{badmatch,[]},[{erl_eval,expr,3}]} **
48> ets:info(C).
undefined