Hello,<br><br>The following Erlang session demonstrates something I've found:<br><br><div style="margin-left: 40px;"><span style="font-family: courier new,monospace;">29> ets:new(tmp, [set, public]). </span>
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">17</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">30> ets:insert(17, {this, is, a, test}).
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">31> ets:lookup(17, this).
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">[{this,is,a,test}]</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
32> [] = ets:lookup(17, this).</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">=ERROR REPORT==== 16-Apr-2006::22:57:50 ===
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Error in process <0.70.0> with exit value: {{badmatch,[{this,is,a,test}]},[{erl_</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">eval,expr,3}]}</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">** exited: {{badmatch,[{this,is,a,test}]},[{erl_eval,expr,3}]} **
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">33> ets:lookup(17, this). </span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">=ERROR REPORT==== 16-Apr-2006::22:57:52 ===</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Error in process <0.76.0
> with exit value: {badarg,[{ets,lookup,[17,this]},{erl_</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">eval,do_apply,5},{shell,exprs,6},{shell,eval_loop,3}]}</span>
<br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">** exited: {badarg,[{ets,lookup,[17,this]},</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> {erl_eval,do_apply,5},</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> {shell,exprs,6},
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> {shell,eval_loop,3}]} **</span><span style="font-family: courier new,monospace;"></span><br></div>
<br><br>It seems the bad match (I know it was bad), destroyed the table 17, somehow, as it does not appear in <span style="font-family: courier new,monospace;">ets:i()</span> anymore after that first error.<br><br>I'm pretty certain that this is normal, but I do not see where it is documented—and I'm reporting on the off-chance that it might be a bug.
<br><br>Regards,<br><br>Jérémie Lumbroso<br><br>