<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 9.00.8112.16421">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>QuickCheck found another error in dets. The
following test case shows how to provoke a bad object error by starting three
concurrent match_object traversals, at the same time as data is inserted into
the table.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>test() -><BR>
dets:close(dets_table),<BR>
file:delete(dets_table), <BR> {ok,dets_table} =
dets:open_file(dets_table,[{type,bag}]),<BR> ok =
dets:insert(dets_table,[{0,0},{0,14},{1,0},{1,1},{39,0}]),
<BR> {[{0,14}],Cont} =
dets:match_object(dets_table,{'$1',14},0),
<BR> ok =
dets:insert(dets_table,{2,0}),
<BR> {[{0,0},{0,14}],_} =
dets:match_object(dets_table,{0,'$2'},0),<BR> ok =
dets:insert(dets_table,[{2,1},{39,1}]),
<BR> {[{1,0}],_} =
dets:match_object(dets_table,{'$1',0},0),
<BR> {error,{{bad_object,scan},"dets_table"}} =
dets:match_object(Cont).</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>This is 100% repeatable--and it seems to be a
minimal example.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>John</FONT></DIV></BODY></HTML>